​潜藏在签名安装文件中的Koi Loader恶意软件
2024-12-9 17:43:0 Author: mp.weixin.qq.com(查看原文) 阅读量:0 收藏

概述

为可执行程序添加数字签名,是恶意软件绕过安全检测的方式之一。近期奇安信威胁情报中心在日常运营过程中发现带有 ”Zhengzhou Lichang Network Technology Co., Ltd.” 数字签名的 Inno Setup 安装文件,且签名时间在不久之前。

为了快速判断该样本是否存在恶意行为,先将其上传到奇安信情报沙箱(https://sandbox.ti.qianxin.com/sandbox/page)进行分析。

沙箱分析

样本基本信息如下:

奇安信情报沙箱报告链接

https://sandbox.ti.qianxin.com/sandbox/page/detail?type=file&id=AZOLW4g5SZq0HOVfdctY

样本文件名

-

样本MD5

5cb042f9877f5876a19c86ded15fb1f8

样本类型

PE32

样本大小

2263752字节

上传分析完成后,可以看到该样本的基本信息:包括文件大小、类型、hash 等。奇安信情报沙箱基于智能的恶意行为综合判断已经识别出文件可疑并给出了 10分 的恶意评分。基因特征部分带有 ”powershell” 标签,表明该样本会执行 powershell 代码。该样本曾在多个不同的沙箱环境中运行,在右侧可以切换分析环境查看不同分析环境的沙箱报告。

在样本基本信息下面紧接着威胁情报AI助手对此次沙箱分析结果的总结内容,可供用户参考。

AV引擎部分显示了数十家杀软引擎对样本的检测结果,可以看到多个杀软引擎判定该样本为恶意。

行为异常总结了样本的可疑行为,右侧带向下箭头符号的条目可以展开详细信息。

该样本有一些值得注意的异常行为,包括创建可疑的 powershell 进程。

执行 HTTP 请求,并且通过 GET 请求获取内容的 URL 带有 .ps1 和 .exe 可执行文件后缀。

静态分析部分显示样本类型为 Inno Setup 安装文件。

深度解析展示了文件携带的数字签名的详细信息,所用证书是在 11 月底才开始使用。

流文件信息中出现 inno_script,进一步印证该文件为 Inno Setup 安装文件。

主机行为的进程信息显示样本运行后,创建 powershell 子进程下载 vqPM0l4stR.js 脚本,该脚本进一步创建另一个 powershell 进程下载其他载荷。

网络行为部分显示了样本向 IP 地址 79.124.78.109 的 80 端口发起多次HTTP请求,与主机行为中 powershell 执行的代码相符。

根据奇安信情报沙箱提供的信息,我们对该样本有了初步的了解:该样本为带有签名的 Inno Setup 安装文件,文件签名和证书生效时间均是在不久之前,样本启动后运行 powershell 代码,从远程服务器下载 JS 脚本并执行,JS 脚本进一步调用 powershell 代码从同一个服务器下载其他载荷。

详细分析

Inno Setup安装文件

对 Inno Setup 安装文件解包,执行的 powershell 代码位于 CompiledCode.bin 中。

JS脚本

JS 脚本首先将自身复制到 ”%programdata%” 目录下,文件名格式为 ”r[machine_guid]r.js”。

调用 powershell 从两个 URL 处下载代码并执行。

“hxxp://79.124.78.109/wp-includes/phyllopodan7V7GD.php” 获取的代码配合 JS 脚本中已有的 powershell 代码,用于绕过 AMSI,该方法将 amsiInitFailed 设为 true[1]

“hxxp://79.124.78.109/wp-includes/barasinghaby.ps1” 获取的代码从 ”hxxp://79.124.78.109/wp-includes/guestwiseYtHA.exe” 下载 PE 文件并直接在内存中加载执行。

下载的PE

该 PE 文件从资源区解密出另一个内嵌的 PE 文件,然后加载执行。资源标识 54518 为加密的 PE 文件数据,39596 为 XOR 解密使用的 key。

解密后的 PE 文件为木马程序,会检查运行环境,支持命令执行、下载插件、运行窃密程序等功能。

运行环境检查

通过 GetUserDefaultLangID 获取当前用户使用的默认语言,如果属于硬编码的语言 ID 之一,则木马程序结束运行。其他对运行环境的检查内容还包括:虚拟化环境的痕迹(VirtualBox、Hyper-V、Parallels、Red Hat QXL);特定主机名和用户名;特定文件名和路径;内存大小;屏幕分辨率;以及程序是否通过 powershell.exe 启动。

持久化

木马程序通过创建计划任务实现持久化,任务名称用 Firefox 伪装,执行的操作命令指向之前复制的 JS 脚本 ”%programdata%\\r[machine_guid]r.js”,并将 ”%programdata%” 目录放入 Windows Defender 的扫描白名单中。

木马通信

木马程序以获取的 Machine GUID 作为受害者标识,使用 POST 请求与 ”hxxp://79.124.78.109/flocking.php” 进行 C2 通信。木马向 C2 服务器回传的数据经过 XOR 加密,加密的 key 为随机生成的 16 字节字符串。

木马向 C2 服务器发送的消息类型如下:

回传消息类型标识

说明

101

C2服务器发送的心跳包

111

回传收集的设备信息

102

获取C2指令

103

回传cmd.exe执行命令的结果(与下面的103指令有关)

104

回传powershell执行命令的结果(与下面的104指令有关)

109

C2获取DLL插件(与下面的110指令有关)

木马从 C2 服务器获取的指令有如下几类:

指令类型标识

说明

INIT

发送心跳包

103

使用cmd.exe执行命令

104

使用powershell执行命令

105

关机

106

清除木马,包括删除计划任务,删除JS脚本,退出程序

108

创建与指定服务器和端口的socket连接

110

执行插件,调用指定DLL插件的Start导出函数,如果插件不存在,则从C2服务器下载

112

删除插件,调用指定DLL插件的Release导出函数

窃密程序

木马程序根据 .NET Framework 的版本从 ”hxxp://79.124.78.109/wp-includes/” 获取相应 powershell 代码部署 C# 窃密程序。

窃密程序回传数据的 URL 由部署脚本从远程服务器获取,将其作为参数传入窃密程序,回传 URL 为 ”hxxp://79.124.78.109/index.php”。

窃密程序首先会进行和木马相似的运行环境检查,包括检查语言、特定的用户名主机名、特定文件路径等,并且同样以 Machine GUID 作为受害者标识。

按窃密程序内置的输出信息,整个窃密过程可以分为三个阶段,每阶段的信息在收集完成后立即回传给C2服务器。

(1) 第一阶段

(1-a) 收集各类设备信息,包括:主机名、用户名、绑定的域名、CPU 信息、GPU 信息、内存信息、屏幕分辨率、系统语言、系统时区、系统位数、操作系统版本、安装的杀软名称、安装的软件、进程信息。

(1-b) 收集多种加密货币与数字钱包应用的相关文件,包括:Ethereum、Electrum、ElectronCash、Monero、Jaxx、Guarda、MyMonero、Wasabi、atomic、BlockstreamGreen、Sparrow、BitPay、Exodus、Bither、Neon、Daedalus、Binance、Ledger Live、trezor、Specter。

(1-c) 收集各类浏览器数据,包括:Firefox、Chrome、Edge、Brave、Opera。

(1-d) 收集一些与认证凭据相关应用的数据,包括:Authy Desktop、WinAuth、Skype、Sticky Notes、SSH。

(2) 第二阶段

(2-a) 根据C2服务器的响应判断是否继续进行后面阶段的信息收集。

(2-b) 收集应用数据,包括:Discord、Slack、FileZilla、OpenVPN、WinSCP、Steam、Telegram。

(2-c) 截屏。

(3) 第三阶段

(3-a) 根据 C2 服务器的响应判断是否执行远程命令。

(3-b) 收集当前用户 Desktop、Downloads、Documents 目录下特定名称格式的文件数据,并排除带有可执行文件和源代码后缀的文件,搜索名称涉及文档、认证凭据、加密货币等内容。

溯源关联

此次样本涉及的 C++ 木马和 C# 窃密软件与之前披露的 Koi Loader 和 Koi Stealer 恶意软件高度一致[2]。之外,攻击过程前期为部署 Koi Loader 而使用的 JS 和 powershell 代码也基本相同。主要不同在于大部分 Koi Loader 通过恶意 LNK 文件下载,而此次样本利用了 Inno Setup 安装文件执行下载命令。

Koi Loader 和 Koi Stealer 疑似由东欧或中亚地区的人员编写,恶意软件会避免在使用东欧和中亚国家语言的系统上运行,并且检查运行环境时,如果桌面存在俄语的“密码”文件,也会终止运行。

类似的语言检测方式也曾出现在其他多种恶意软件中,比如 Egregor 勒索软件[3]

总结

可执行文件带有数字签名并不能完全保证文件可信,尤其是那些来源可疑的文件。此次发现的恶意软件运行后在磁盘上释放的只有一个 JS 脚本,而后续下载的其他载荷直接在内存中加载执行,使木马和窃密软件的存在更加隐蔽。

奇安信威胁情报中心提醒广大用户,谨防钓鱼攻击,切勿打开社交媒体分享的来历不明的链接,不点击执行未知来源的邮件附件,不运行标题夸张的未知文件,不安装非正规途径来源的APP。做到及时备份重要文件,更新安装补丁。

若需运行或安装来历不明的应用,可先通过奇安信情报沙箱(https://sandbox.ti.qianxin.com/sandbox/page)进行判别。目前已支持包括Windows、安卓平台在内的多种格式文件深度分析。

目前,基于奇安信威胁情报中心的威胁情报数据的全线产品,包括奇安信威胁情报平台(TIP)、天擎、天眼高级威胁检测系统、奇安信NGSOC、奇安信态势感知等,都已经支持对此类攻击的精确检测。

IOC

MD5

5cb042f9877f5876a19c86ded15fb1f8

fe1f555eeaf4cb0865a9e5d5f29c50a5

C&C

79.124.78.109:80

URL

hxxp://79.124.78.109/wp-includes/neocolonialXAW.php

hxxp://79.124.78.109/wp-includes/phyllopodan7V7GD.php

hxxp://79.124.78.109/wp-includes/barasinghaby.ps1

hxxp://79.124.78.109/wp-includes/guestwiseYtHA.exe

hxxp://79.124.78.109/wp-includes/sd2.ps1

hxxp://79.124.78.109/wp-includes/sd4.ps1

hxxp://79.124.78.109/flocking.php

hxxp://79.124.78.109/index.php

参考链接

[1].https://arttoolkit.github.io/wadcoms/AMSI-Bypass-amsiInitFailed/
[2].https://www.esentire.com/blog/unraveling-not-azorult-but-koi-loader-a-precursor-to-koi-stealer

[3].https://www.ingrammicro24.com/ikey/d/QywrJMobRlGFPqhPq5vh/original.pdf

点击阅读原文ALPHA 7.0

即刻助力威胁研判


文章来源: https://mp.weixin.qq.com/s?__biz=MzI2MDc2MDA4OA==&mid=2247513306&idx=1&sn=c196ec679f20bce97cec72e3aeae12f7&chksm=ea6643addd11cabbcf6efd6f2762e8a745792a15516ef6a66a6e916abf25fdbe5485157a1363&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh