团伙背景
事件概述
详细分析
水坑网站
当在搜索引擎中搜索“快连VPN”时,会在搜索结果中出现托管恶意安装包的水坑网站(letssvpn[.]vip),域名试图模仿快连VPN的英文名LetsVPN。攻击者可能对该网站做了SEO优化,使其出现在搜索结果的首页。
进入水坑网站,直接展示下载页面,两个选项指向同一个下载链接。下载的ZIP压缩包中包含一个MSI安装文件。
安装程序
安装包文件的基本信息如下。
MD5 |
dddbd75aab7dab2bde4787001fd021d3 |
文件名 |
Kuaivpn-n-3.msi |
文件大小 |
43.34 MB (45449728字节) |
VT上传时间 |
2024-03-12 09:52:33 UTC |
其中包含kuaivpn.exe文件,安装程序将其释放到”C:Program FilesKuaivpnKuaivpnKuaitdataemoji”目录下并运行。
恶意软件kuaivpn.exe的基本信息如下。
MD5 |
94d05e7b1b18869de70047e08f2ca1e7 |
文件名 |
kuaivpn.exe |
文件大小 |
26.60 MB (27893248字节) |
创建时间 |
2024-03-01 09:58:11 UTC |
PDB路径 |
D:\zm\9.14\ProxyDll\7.2\11.12\k\KUAI\letsvpn\MQQAppearance\x64\Release\MQQAppearance.pdb |
VT上传时间 |
2024-03-12 10:55:06 UTC |
kuaivpn.exe释放”C:ProgramDatackq”,释放文件实际为ZIP压缩包,其中包含正常的快连VPN安装程序。然后kuaivpn.exe从文件内部嵌套的数据中解密出一个DLL文件并加载,调用其导出函数’_levnc’。
解密DLL数据的方式为按字节加9,然后异或0x27。
DLL的导出函数_lenvc首先检测样本是否被调试。还会查看CPU数量是否小于2,以及物理内存大小是否不低于3GB,但这些检测实际并没有启用。
组装用于存放白加黑组件的目录路径,保存目录在”C:ProgramData”下,以随机字符串命名。值得注意的是,目录名称后面跟”_n”,最后的木马会根据这个后缀选择连接的C2服务器。
释放并运行BAT脚本,通过注册表设置关闭UAC提示。
白加黑组件中的恶意DLL拆分为了c和k两个文件。
从”C:ProgramDatackq”中解压出正常的安装程序letsvpn-latest.exe。
用copy命令将c和k合并为libemb.dll。
运行letsvpn-latest.exe用以迷惑受害者,同时启动fhbemb.exe,并删除ckq压缩包和中间文件c、k。至此,安装程序kuaivpn.exe完成操作。
Loader
fhbemb.exe通过动态加载的方式调用libemb.dll的导出函数ProcessMain。
恶意DLL为Loader程序,导出函数ProcessMain查找同目录下的LP.TXT文件,从中解密出远控木马并加载运行。
通过ntdll.dll获取API,在解密之后再调用RtlDecompressBuffer解压,恢复出待加载的PE数据。
木马
木马程序为使用HP-socket通信库的修改版gh0st RAT。首先会检测是否被调试,以及CPU数量和物理内存大小。
木马内置多个C2服务器的IP和端口,在函数MwInitC2List(sub_1001F6FD)中初始化包含这些C2信息的加密字符串。
函数MwCheckAndChooseC2(sub_1001FF01)依次异或解密这些字符串,并与木马进程对应的EXE文件所在目录名进行比对:如果解密字符串在”|#$|”分隔符之前的部分和目录名中”_”之后的字符串相同,则选择其中的IP和端口作为C2服务器。而如果所有字符串都不能匹配,则退出程序。攻击者通过这种方式保证木马程序在期望的运行环境中才会发起网络通信。
解密包含C2信息的加密字符串,所得结果如下,去掉可能用于测试的内网IP(192.168.0.225)和本地回环地址(127.0.0.1),共涉及44个IP。
k|#$|192.168.0.225:15628 l|#$|143.92.56.224:15628 i|#$|192.252.182.53:15628 80|#$|103.107.239.20:15628 168|#$|8.210.94.213:15628 17|#$|27.124.2.12:15628 m8|#$|154.23.176.49:15628 6|#$|154.91.84.233:15628 v|#$|206.238.115.177:15628 h|#$|38.181.20.66:15628 8|#$|202.94.68.2:15628 n|#$|118.107.40.15:15628 u2|#$|154.212.147.230:15628 t|#$|154.23.176.47:15628 c|#$|8.217.110.88:15628 y|#$|27.124.43.226:15628 j|#$|202.79.172.59:15628 z|#$|134.122.205.97:15628 p|#$|169.150.222.238:15628 b|#$|8.218.186.68:15628 9|#$|156.245.12.203:15628 a|#$|8.210.71.247:15628 e|#$|27.124.6.142:15628 f|#$|8.217.125.184:15628 f1|#$|103.145.86.236:15628 m9|#$|38.47.207.27:15628 2|#$|8.218.76.73:15628 A8|#$|45.195.148.73:15628 x|#$|103.97.228.178:15628 u|#$|45.120.80.106:15628 e1|#$|156.251.16.251:15628 g|#$|156.240.106.128:15628 19|#$|27.124.10.6:15628 o|#$|134.122.190.220:15628 z1|#$|27.124.18.31:15628 Cc|#$|206.238.198.189:15628 u1|#$|45.249.93.81:15628 q|#$|154.212.148.96:15628 d|#$|47.243.135.49:15628 m|#$|156.248.57.54:15628 5|#$|8.217.100.170:15628 w|#$|154.23.184.51:15628 w1|#$|38.47.233.234:15628 3|#$|154.91.65.155:15628 7|#$|192.252.181.56:15628 kz|#$|127.0.0.1 |
建立持久化时,先将白加黑组件复制到新创建的目录下,仍保留相同的目录名后缀(这里是”_n”)。然后创建名为”Windows Eventn”的服务指向EXE文件的新位置。
根据实现远控指令的函数可以看出,木马支持通过插件扩展功能。
整理该木马样本使用的指令如下。
指令代码 |
说明 |
2446 |
ConnSocks插件 |
2447~2448 |
从C2服务器下载插件 |
2449 |
onBootup插件 |
3210 |
从C2服务器下载插件 |
3215 |
以管理员身份重新运行该程序 |
3216 |
终止explorer.exe进程 |
3217 |
fnProxy插件 |
3221 |
结束指定进程 |
3222 |
删除指定目录的文件 |
3223 |
若cmd.exe进程不存在,运行特定的bat脚本,使木马程序保持运行 |
3224 |
若cmd.exe进程存在,则结束cmd进程 |
3225 |
获取指定进程的文件路径 |
3227 |
清除IE浏览器历史记录 |
3228 |
清除Skype数据 |
3229 |
清除Chrome浏览器数据 |
3230 |
清除Firefox浏览器数据 |
3231 |
清除360se6浏览器数据 |
3232 |
清除360Chrome浏览器数据 |
3233 |
清除Sogou浏览器数据 |
3234 |
清除QQ浏览器数据 |
5431 |
DllFile插件 |
5452 |
DllScreenHide插件 |
5477 |
DllScreen插件 |
5492 |
DllKeybo插件 |
5497 |
DllSyste插件 |
5511 |
DllMsgBox插件 |
5513 |
DllShell插件 |
5514 |
退出程序 |
5515 |
清理攻击痕迹并退出程序 |
5516 |
清除Eventlog |
5519 |
运行指定程序 |
5520~5522 |
写入并执行文件 |
5523 |
DllOpenURLHIDE插件 |
5524 |
DllOpenURLSHOW插件 |
5527 |
DllSerSt插件 |
溯源关联
样本关联
根据木马内置的C2列表,我们关联到其他恶意样本,这些样本还包括Telegram和Potato安装包。
MD5 |
说明 |
2d1b91d56e5ef47fa06e8e5ed2fe0b2c cd8ab08e70da7c4cdf35add15c013bdd 4ebc66da9e5a124e5dafda1a591abfb7 205546d6c5a9a38ece97afe23e000d68 88224e3830c27867269f1df41493fc6c 04f5665347ea807363d11989a33dd272 6593914566d25bcd5baa6b13867e2747 |
MSI文件,伪装为快连VPN安装包 |
8b2e8bc6678e01dc4fde6df425209ff1 833128952da9a0668d3ca26c248c4267 a504215a9e4cabae664c7f177b01f1fe f68db9ab425a4c042d66afe3187d3d7b eb8c671e4acc4affeaa358efdc4d28bc dacee10636d90eded23c36c2cefd9a5e 8b2e8bc6678e01dc4fde6df425209ff1 5a8d0d360dea8f02527a3c0f4b9307dc 7622e81cb0451dc4688e4e501aa50b74 b59a8364e70570098adc64fa7f1f3419 855828ec63a012fd7248d77ea8fe76fd 303b1bf440c95c896a0db4bc02dea8b0 89788ae35895466ff374fc9e82008cc3 78d9f29238192007778577d8e10d1915 8126216ab0227ac7d037c67a303afd75 0b92388979d2340d36f4f9e8da5c6145 5c535c3c8a194cf548d1c86648a20789 2d6e28a72f83b0a9714b4aa2d73070e3 |
MSI文件,伪装为Telegram安装包 |
a183c68b826104404e85fc05aacd58bf 1dcb011305a8fa585cc30144443710e5 038542995a0b96fdb866c4541d5ba8bf 83171bc44919e73850cb4e70b1dce907 |
MSI文件,伪装为Potato安装包 |
8811c1aa95adb71003355486066621ea |
EXE文件,文件名“全球短信更新器安装包[email protected]” |
6582ed580bb93a67587b78734d3c429d |
EXE文件,文件名“@t.exe” |
600950f12011e12176ce567ab12b1974 |
SFX文件,其中EXE文件名“@g.exe” |
90073d0839ae2b3d4a329a3a05d610db |
EXE文件,文件名“名单详细@g.exe” |
68830e7b1e5190e6bc324949c9eb6a02 |
ZIP文件,包含文件夹,文件夹名称为“X1_仿真手机APP电脑后台安装包@17″ |
木马配置的C2列表大部分一致,不过仍有一些信息发生了变动。
103.207.165.2:15628 27.124.45.181:15628 154.91.64.32:15628 134.122.183.227:15628 192.252.181.106:15628 |
归属
均是利用DLL侧加载从同目录的”.txt”后缀文件中解密出木马程序。
解密木马程序的方式相同,并且同样通过ntdll.dll获取API,解密之后再进行解压操作。
木马远控指令调用的插件名称相同,并且此次发现的木马中也出现了Plugin.log日志文件。
与金眼狗团伙的关联
此次窃密行动的攻击者所用攻击手法与金眼狗历史活动有一些重合之处。
首先加载木马的方式相似,金眼狗经常使用DLL侧加载从”.txt”文件获取内容,解密后再调用RtlDecompressBuffer解压缩[5]。
金眼狗早期的活动就曾将文件名中的字符用于恶意代码的执行逻辑[6],与此次木马通过文件夹名称选择C2服务器的方式如出一辙。
金眼狗在历史活动中被发现使用过Telegram、Potato、快连VPN的恶意安装包[1, 3, 5],与此次窃密行动的攻击目标重叠。
综上,我们认为这一波借助恶意安装包植入木马的攻击行动可能与金眼狗团伙有关。
总结
防护建议
若需运行,安装来历不明的应用,可先通过奇安信威胁情报文件深度分析平台(https://sandbox.ti.qianxin.com/sandbox/page)进行判别。目前已支持包括Windows、安卓平台在内的多种格式文件深度分析。
目前,基于奇安信威胁情报中心的威胁情报数据的全线产品,包括奇安信威胁情报平台(TIP)、天擎、天眼高级威胁检测系统、奇安信NGSOC、奇安信态势感知等,都已经支持对此类攻击的精确检测。
IOC
(MSI安装包文件)
dddbd75aab7dab2bde4787001fd021d3
2d1b91d56e5ef47fa06e8e5ed2fe0b2c
cd8ab08e70da7c4cdf35add15c013bdd
4ebc66da9e5a124e5dafda1a591abfb7
205546d6c5a9a38ece97afe23e000d68
88224e3830c27867269f1df41493fc6c
04f5665347ea807363d11989a33dd272
6593914566d25bcd5baa6b13867e2747
8b2e8bc6678e01dc4fde6df425209ff1
833128952da9a0668d3ca26c248c4267
a504215a9e4cabae664c7f177b01f1fe
f68db9ab425a4c042d66afe3187d3d7b
eb8c671e4acc4affeaa358efdc4d28bc
dacee10636d90eded23c36c2cefd9a5e
8b2e8bc6678e01dc4fde6df425209ff1
5a8d0d360dea8f02527a3c0f4b9307dc
7622e81cb0451dc4688e4e501aa50b74
b59a8364e70570098adc64fa7f1f3419
855828ec63a012fd7248d77ea8fe76fd
303b1bf440c95c896a0db4bc02dea8b0
89788ae35895466ff374fc9e82008cc3
78d9f29238192007778577d8e10d1915
8126216ab0227ac7d037c67a303afd75
0b92388979d2340d36f4f9e8da5c6145
5c535c3c8a194cf548d1c86648a20789
2d6e28a72f83b0a9714b4aa2d73070e3
a183c68b826104404e85fc05aacd58bf
1dcb011305a8fa585cc30144443710e5
038542995a0b96fdb866c4541d5ba8bf
83171bc44919e73850cb4e70b1dce907
(其他)
75f36f335613f622aff1c0a3635ae4f7
2fa3c65cf7aadd3c1bda9bba4c6ccde3
94d05e7b1b18869de70047e08f2ca1e7
c55c69db1201e885277a5c9a93353ec6
4ae73bbdfaa53381792d0c6048217070
607260303251ecd9916cd43caa7ca310
4323178d4d12324acd54ed3ed10b201b
7845fd18d4f5a611985a177c42042a4b
fcadefabf90aa65ab171f089b757ca75
17e2f8d76c750a6f70142bccf53f07d1
f32f059ca6dc9f1df3e57770de47e0f3
ba42422f1ff87ea8ea5abae476320a2e
c48fa83ef4df4f739be4bfa8cc680716
83867664211d1516c04dd04d533707c1
2e9af5e5ee5b5f110e4d8cda47ff1337
327eb4e92f55a96a38d009d44c165c34
680c103c7af43f113897e5ab31b4cb3a
056074658020d5c6fe64d44a30cccaef
b813b8eed22981b95bac807ef90e32f8
f4436778a6cdb9c70757e5a8ea18e268
826c63b69bd8c980679d9e8f07e2a304
6df1ff10a64578a5a3d1918b248bdb0c
52065256a56e88c1ce5081869daa23a1
624d73bc484c2f069ad5f1c2828a54e7
74339fbd7add92006add8ba0ffb56804
e5d58030d9a9b74cf3e3df403117bab7
068dbd6205f9bdbe616df704259493b3
d9e9fbb27f0fc9dd2281954df5689de4
d5c0bc8f49f610117fa1e7c8e375916d
fd2aa6844258f6141892d31b25549913
435fe6091322e24a05e931601f39937e
a30f819871bf0bf795bf6c6edfdbd825
73130bbf282c24fc56c510e96f29d7b7
c8f308a15a66ec6db46e07384af54742
6582ed580bb93a67587b78734d3c429d
600950f12011e12176ce567ab12b1974
2d2b673e21d0ad2e03252d18ba5c7975
68830e7b1e5190e6bc324949c9eb6a02
C&C
(水坑网站)
letssvpn.vip
(木马内置C2)
103.107.239.20:15628
103.145.86.236:15628
103.207.165.2:15628
103.97.228.178:15628
118.107.40.15:15628
134.122.183.227:15628
134.122.190.220:15628
134.122.205.97:15628
143.92.56.224:15628
154.212.147.230:15628
154.212.148.96:15628
154.23.176.47:15628
154.23.176.49:15628
154.23.184.51:15628
154.91.64.32:15628
154.91.65.155:15628
154.91.84.233:15628
156.240.106.128:15628
156.245.12.203:15628
156.248.57.54:15628
156.251.16.251:15628
169.150.222.238:15628
192.252.181.106:15628
192.252.181.56:15628
192.252.182.53:15628
202.79.172.59:15628
202.94.68.2:15628
206.238.115.177:15628
206.238.198.189:15628
27.124.10.6:15628
27.124.18.31:15628
27.124.2.12:15628
27.124.43.226:15628
27.124.45.181:15628
27.124.6.142:15628
38.181.20.66:15628
38.47.207.27:15628
38.47.233.234:15628
45.120.80.106:15628
45.195.148.73:15628
45.249.93.81:15628
47.243.135.49:15628
8.210.71.247:15628
8.210.94.213:15628
8.217.100.170:15628
8.217.110.88:15628
8.217.125.184:15628
8.218.186.68:15628
8.218.76.73:15628
参考链接
[2].https://ti.qianxin.com/blog/articles/operation-dragon-dance-the-sword-of-damocles-hanging-over-the-gaming-industry/
[3].https://mp.weixin.qq.com/s/b-0Gv_l-nnks-RnSdXBFBw
[4].https://www.freebuf.com/articles/paper/250289.html
[5].https://news.sophos.com/en-us/2023/05/03/doubled-dll-sideloading-dragon-breath/
[6].https://mp.weixin.qq.com/s/ferNBN0ztRknN84IpPpwgQ
点击阅读原文至ALPHA 7.0
即刻助力威胁研判
原文始发于微信公众号(奇安信集团):APT分析 │ VPN安装包“引狼入室”:疑似金眼狗(APT-Q-27)团伙的窃密行动