作者:K&XWS@知道创宇404高级威胁情报团队
1 概述
APT-K-47,也被称为Mysterious Elephant,是知道创宇404高级威胁情报团队首先披露活动细节的APT组织。据推测该组织发源于南亚地区,其攻击活动最早可追溯至2022年。在对APT-K-47的技术手法、战术策略、工具运用以及行动目标进行深入分析时,可以看到南亚多个其他APT组织的影子,包括但不限于Sidewinder、Confucius和Bitter等。
在此次攻击中,该组织利用一款尚未公开的木马工具,成功入侵后进一步下载ORPCBackdoor及其他恶意载荷,执行磁盘目录遍历并窃取目标文件,随后将数据回传至命令控制服务器(C2)。同时,该组织还窃取了目标电脑浏览器中的密码信息并进行回传。接下来,我们将详细阐述此次追踪发现的相关内容。
2 攻击详情
图1 整体攻击链
在本批次的攻击活动中,我们识别出了攻击者的两条主要攻击路径:
-
攻击者在一台受控机器植入Nimbo-c2木马,然后通过PowerShell 下载DemoTrySpy工具,该工具负责窃取浏览器密码,并将其打包成本地文件,进而将这些文件回传至一个专用于文件回传的服务器。
-
在另一台受害机器上,攻击者植入WalkerShell木马,该木马会遍历磁盘,并将攻击者感兴趣的文件回传至一个专用于存储文件的服务器。同时,攻击者通过PowerShell下载DemoTrySpy工具,以窃取浏览器中的用户名和密码,并通过PowerShell下载并执行ORPCBackdoor,从而实现对受害机器的长期远程控制。
以下将对图中所涉及的攻击武器进行详细分析。
2.1 WalkerShell描述
WalkerShell 是一款用 C# 编写的恶意程序,在执行时,它首先会利用polor函数来获取目标主机的主机名(hostname)和用户名(username),具体过程如下图2所示:
图2 WalkerShell执行过程
polor函数的主要功能是利用cmd执行参数1传入的指令,并将最终的结果通过参数2进行返回,详细操作如下图3所示:
图3 polor函数
最终,该程序将收集到的信息附加上~walker
字符串,通过在header中添加Author字段,并将处理后的数据写入该字段,以此来回传获取的数据,从服务端返回的header中提取Cmn
字段的值并返回,如下图4所示:
图4 处理和回传数据
服务端返回的数据如下表1所示:
命令 | 功能描述 |
---|---|
emit | 程序退出 |
delta1 | 延迟30秒后重新接收指令 |
delta2 | 延迟160-190秒后重新接收指令 |
delta3 | 延迟730-770秒后重新接收指令 |
xxx(cmd命令) | 执行xxx命令,并将结果结果返回 |
如果返回的数据为cmd指令,则回传数据的格式为: [username] +“ ”+ [pcname] + “~endow~$[指令]$”
,如图5所示:
图5 回传数据的格式
2.2 DemoTrySpy描述
DemoTrySpy因为其pdb路径中包含DemoTry,且主要功能为窃密而得名,如图6所示:
图6 DemoTrySpy路径
在 DemoTrySpy 的导出表中,我们发现了开源项目 cJSON 的部分代码实现。这一代码片段被集成进恶意程序中,目的是用于后续解析 Chrome 浏览器用户数据中的 Local State 所包含的 JSON 格式数据,详细内容如下图7所示:
图7 详细内容
运行后,程序会将自身窗口设置为隐藏状态,如图8所示:
图8 设置自身为隐藏
接下来,程序会创建 C:UsersPublicDocumentstmpA10.tmp
,并将硬编码的数据表头写入其中,如图9、图10所示:
图9 创建tmpA10.tmp文件
图10 将硬编码的数据写入表头
程序会尝试获取Chrome浏览器的用户信息存储目录,若当前主机中不存在Chrome浏览器,则跳过后续逻辑,如图11所示:
图11 尝试获取用户信息存储目录
若Chrome浏览器存在,则程序将Local State中的数据复制到C:UsersPublicDocumentsloc.tmp
,如图12所示:
图12 复制数据
接着,程序会将Login data中的数据复制到C:UsersPublicDocumentslog.tmp
文件中,如图13所示:
图13 复制数据
后续的主要逻辑是程序从Login data中获取encrypted_key
,并使用DPAPI解密出key,如图14所示:
图14 获取encrypted_key
然后,程序会通过sqlite3连接Login Data(该文件为sqlite3数据库文件),获取其中的password、username_value和url字段的值,并利用解密出的key解密其中的数据,如图15所示:
图15 解密数据
最终,解密的数据会被写入tmpA10.tmp文件中,数据格式如图16所示:
图16 写入数据
DemoTrySpy将获取的信息写入文件后,自身并没有回传的功能。攻击者会使用WalkerShell将tmpA10.tmp进行回传,例如使用type或者curl post,如图17所示:
图17 回传数据
2.3 NixBackdoor描述
NixBackdoor的命名源自其落地文件名为Nix.exe,由于该恶意程序整体功能简单、代码量小,无其他特殊字符串,故以此命名,在执行时,NixBackdoor 会创建一个新线程,如图18所示:
图18 创建新线程
线程的主要功能是连接到recentupdate.sytes.net:6364
,首先,它会从服务端获取后续shellcode的长度,再获取后续的shellcode,如图19所示:
图19 获取shellcode
NixBackdoor 会修改shellcode权限,然后跳转执行,如图20所示:
图20 修改shellcode权限
2.4 ORPCBackdoor描述
由于ORPCBackdoor在此前的文章《揭秘南亚新 APT 组织 APT-K-47“神秘象”》中已经详细分析,此次将不再赘述。
2.5 NimBo-C2描述
NimBo-C2 是一款开源项目,它是一个简单且轻量级的C2 框架,服务端使用Python语言编写,客户端使用Nim语言编写且支持Windows和Linux操作系统,能够实现丰富的远控功能,如图21所示:
3 总结
4. IoC
HASH:
-
b087a214fb40e9f8e7b21a8f36cabd53fee32f79a01d05d31476e249b6f472ca DemoTrySpy
-
74ba5883d989566a94e7c6c217b17102f054ffbe98bc9c878a7f700f9809e910 ORPCBackdoor
-
c4817f3c3777b063f0adbc1c8e4671da533f716bab7ad2c4b9bc87295df67334 nimbo-c2
-
85a6ac13510983b3a29ccb2527679d91c86c1f91fdfee68913bc5d3d01eeda2b walkershell
-
outlook-web.ddns[.]net ORPCBackdoor C2
(点击图片跳转)
原文始发于微信公众号(知道创宇404实验室):威胁情报 | APT-K-47 组织利用新木马工具发起窃密攻击活动
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论