团伙背景

金眼狗(奇安信内部跟踪编号APT-Q-27)是一个针对在东南亚从事博[]彩、狗推相关人员以及海外华人群体的黑客团伙,其业务范围涵盖远控、挖矿、DDoS攻击等,与奇安信追踪的一个更大的攻击团伙Miuuti Group有关[1, 2]。金眼狗团伙曾多次利用水坑网站托管恶意软件安装包,向受害者设备植入木马[1, 3],使用过.NET、C++、Go、Delphi等语言开发恶意软件,攻击样本的整体免杀水平较高。

事件概述

近日,奇安信威胁情报中心在日常分析运营过程中发现伪装为快连VP[]N的恶意安装包,安装包运行后除了释放携带正常签名的快连VP[]N安装软件,还会暗中植入定制化版gh0st远控。根据木马内置的C2列表,我们发现了大量类似的攻击样本,包括木马化的Telegram和Potato软件安装包。此次攻击活动中出现的恶意代码特征,与2020年披露的一轮针对东南亚博[]彩行业的钓鱼攻击[4]高度相似,并且所用手法与金眼狗团伙历史活动存在不少重叠,因此我们认为窃密行动背后的攻击者可能与金眼狗有关。

详细分析

以快连VP[]N恶意安装包为例,攻击流程如下。

1712137011_660d2333096fb8c73d370.png!small?1712137011811

水坑网站

当在搜索引擎中搜索“快连VP[]N”时,会在搜索结果中出现托管恶意安装包的水坑网站(letssvp[]n[.]vip),域名试图模仿快连VP[]N的英文名LetsVP[]N。攻击者可能对该网站做了SEO优化,使其出现在搜索结果的首页。

1712137017_660d2339e5ad6493517e2.png!small?1712137019262

进入水坑网站,直接展示下载页面,两个选项指向同一个下载链接。下载的ZIP压缩包中包含一个MSI安装文件。

1712137026_660d23425fa22af8074d4.png!small?1712137027224

安装程序

安装包文件的基本信息如下。

MD5 dddbd75aab7dab2bde4787001fd021d3
文件名 Kuaivp[]n-n-3.msi
文件大小 43.34 MB (45449728字节)
VT上传时间 2024-03-12 09:52:33 UTC

其中包含kuaivp[]n.exe文件,安装程序将其释放到”C:\Program Files\Kuaivp[]n\Kuaivp[]n\Kuai\tdata\emoji”目录下并运行。

1712137041_660d23514ad908ba83fe0.png!small?1712137041949

 

1712137047_660d235730774df333fd4.png!small?1712137047812

1712137052_660d235c357545c181412.png!small?1712137052768

恶意软件kuaivp[]n.exe的基本信息如下。

MD5 94d05e7b1b18869de70047e08f2ca1e7
文件名 kuaivp[]n.exe
文件大小 26.60 MB (27893248字节)
创建时间 2024-03-01 09:58:11 UTC
PDB路径 D:\\zm\\9.14\\ProxyDll\\7.2\\11.12\\k\\KUAI\\letsvp[]n\\MQQAppearance\\x64\\Release\\MQQAppearance.pdb
VT上传时间 2024-03-12 10:55:06 UTC

 

kuaivp[]n.exe释放”C:\ProgramData\ckq”,释放文件实际为ZIP压缩包,其中包含正常的快连VP[]N安装程序。然后kuaivp[]n.exe从文件内部嵌套的数据中解密出一个DLL文件并加载,调用其导出函数'_levnc'。

1712137061_660d23652f9921434655c.png!small?1712137062413

解密DLL数据的方式为按字节加9,然后异或0x27。

1712137066_660d236aada69c33c0b8f.png!small?1712137067182

DLL的导出函数_lenvc首先检测样本是否被调试。还会查看CPU数量是否小于2,以及物理内存大小是否不低于3GB,但这些检测实际并没有启用。

1712137074_660d23726900b6a0c8839.png!small?1712137074925

组装用于存放白加黑组件的目录路径,保存目录在”C:\ProgramData”下,以随机字符串命名。值得注意的是,目录名称后面跟”_n”,最后的木马会根据这个后缀选择连接的C2服务器。

1712137079_660d23774c8afac3af206.png!small?1712137079865

释放并运行BAT脚本,通过注册表设置关闭UAC提示。

1712137084_660d237c761909394eef0.png!small?1712137087411

内置的ZIP压缩包解压到上面指定的目录中,解压密码在代码中硬编码,为"@Sp15p%"。

1712137090_660d2382e88f92f579beb.png!small?1712137091552

1712137096_660d2388060a8d32aafdc.png!small?1712137096874

白加黑组件中的恶意DLL拆分为了c和k两个文件。

1712137100_660d238cbb8929a3866af.png!small?1712137101413

从”C:\ProgramData\ckq”中解压出正常的安装程序letsvp[]n-latest.exe。

1712137106_660d239298717d5476d66.png!small?1712137107170

用copy命令将c和k合并为libemb.dll。

1712137110_660d23968a8d163d5fa96.png!small?1712137113897

运行letsvp[]n-latest.exe用以迷惑受害者,同时启动fhbemb.exe,并删除ckq压缩包和中间文件c、k。至此,安装程序kuaivp[]n.exe完成操作。

Loader

fhbemb.exe通过动态加载的方式调用libemb.dll的导出函数ProcessMain。

1712137121_660d23a15a6cc8f827980.png!small?1712137122278

恶意DLL为Loader程序,导出函数ProcessMain查找同目录下的LP.TXT文件,从中解密出远控木马并加载运行。

1712137133_660d23ade0044c906f8a3.png!small?1712137134924

通过ntdll.dll获取API,在解密之后再调用RtlDecompressBuffer解压,恢复出待加载的PE数据。

1712137140_660d23b48985df8cbdeb3.png!small?1712137141473

木马

木马程序为使用HP-socket通信库的修改版gh0st RAT。首先会检测是否被调试,以及CPU数量和物理内存大小。1712137146_660d23ba540901aaaf389.png!small?1712137147359

木马内置多个C2服务器的IP和端口,在函数MwInitC2List(sub_1001F6FD)中初始化包含这些C2信息的加密字符串。1712137154_660d23c21de1e621839c6.png!small?1712137155300

函数MwCheckAndChooseC2(sub_1001FF01)依次异或解密这些字符串,并与木马进程对应的EXE文件所在目录名进行比对:如果解密字符串在”|#$|”分隔符之前的部分和目录名中”_”之后的字符串相同,则选择其中的IP和端口作为C2服务器。而如果所有字符串都不能匹配,则退出程序。攻击者通过这种方式保证木马程序在期望的运行环境中才会发起网络通信。1712137162_660d23ca270484fcbafc8.png!small?1712137162906

解密包含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
m[]9|#$|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

如果木马程序没有管理员权限,则尝试以管理员身份重新运行,如果已经具备管理员权限,则建立持久化。1712137174_660d23d626ec1a40ce705.png!small?1712137174808

建立持久化时,先将白加黑组件复制到新创建的目录下,仍保留相同的目录名后缀(这里是”_n”)。然后创建名为"Windows Eventn"的服务指向EXE文件的新位置。1712137179_660d23db1f79f67e77681.png!small?1712137180293

根据实现远控指令的函数可以看出,木马支持通过插件扩展功能。1712137186_660d23e2ee532f6f4707a.png!small?1712137187948

整理该木马样本使用的指令如下。

指令代码 说明
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 说明
2d1b91d56e5ef47fa06e8e5ed2fe0b2ccd8ab08e70da7c4cdf35add15c013bdd4ebc66da9e5a124e5dafda1a591abfb7205546d6c5a9a38ece97afe23e000d6888224e3830c27867269f1df41493fc6c04f5665347ea807363d11989a33dd2726593914566d25bcd5baa6b13867e2747 MSI文件,伪装为快连VP[]N安装包
8b2e8bc6678e01dc4fde6df425209ff1833128952da9a0668d3ca26c248c4267a504215a9e4cabae664c7f177b01f1fef68db9ab425a4c042d66afe3187d3d7beb8c671e4acc4affeaa358efdc4d28bcdacee10636d90eded23c36c2cefd9a5e8b2e8bc6678e01dc4fde6df425209ff15a8d0d360dea8f02527a3c0f4b9307dc7622e81cb0451dc4688e4e501aa50b74b59a8364e70570098adc64fa7f1f3419855828ec63a012fd7248d77ea8fe76fd303b1bf440c95c896a0db4bc02dea8b089788ae35895466ff374fc9e82008cc378d9f29238192007778577d8e10d19158126216ab0227ac7d037c67a303afd750b92388979d2340d36f4f9e8da5c61455c535c3c8a194cf548d1c86648a207892d6e28a72f83b0a9714b4aa2d73070e3 MSI文件,伪装为Telegram安装包
a183c68b826104404e85fc05aacd58bf1dcb011305a8fa585cc30144443710e5038542995a0b96fdb866c4541d5ba8bf83171bc44919e73850cb4e70b1dce907 MSI文件,伪装为Potato安装包
8811c1aa95adb71003355486066621ea EXE文件,文件名"全球短信更新器安装包7.7@x.exe"
6582ed580bb93a67587b78734d3c429d EXE文件,文件名"@t.exe"
600950f12011e12176ce567ab12b1974 SFX文件,其中EXE文件名"@g.exe"
90073d0839ae2b3d4a329a3a05d610db EXE文件,文件名"名单详细@g.exe"
68830e7b1e5190e6bc324949c9eb6a02 ZIP文件,包含文件夹,文件夹名称为"X1_仿真手机APP电脑后台安装包@17"

以2024年1月5日上传到VT伪装为快连VP[]N的安装包(MD5:04f5665347ea807363d11989a33dd272)为例,该样本释放的白加黑组件中恶意DLL和木马程序代码与近期发现的恶意安装包相似,压缩包释放LP.TXT的时间戳为2023-12-28 18:23 (UTC+8)。1712137214_660d23fe4dd0e48d3b8c2.png!small?1712137215341

木马配置的C2列表大部分一致,不过仍有一些信息发生了变动。1712137219_660d2403188872ad60e82.png!small?1712137219949

可以看出早期疑似被攻击者使用过的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

归属

2020年攻击活动

此次窃密行动攻击者使用的恶意代码和2020年安全研究人员发现的一轮针对东南亚博[]彩行业的钓鱼攻击[4]高度相似。

均是利用DLL侧加载从同目录的”.txt”后缀文件中解密出木马程序。1712137228_660d240c3556083ffbbd5.png!small?1712137229014

解密木马程序的方式相同,并且同样通过ntdll.dll获取API,解密之后再进行解压操作。1712137239_660d2417b9722fe7d931d.png!small?1712137240517

木马远控指令调用的插件名称相同,并且此次发现的木马中也出现了Plugin.log日志文件。

1712137246_660d241e28a39f5f5e3f7.png!small?1712137246670

1712137252_660d24245dafa37b14eed.png!small?1712137253510

与金眼狗团伙的关联

此次窃密行动的攻击者所用攻击手法与金眼狗历史活动有一些重合之处。

首先加载木马的方式相似,金眼狗经常使用DLL侧加载从”.txt”文件获取内容,解密后再调用RtlDecompressBuffer解压缩[5]。1712137259_660d242b091903a1cbe67.png!small?1712137259980

1712137265_660d2431d627d511db2f2.png!small?1712137270179

金眼狗早期的活动就曾将文件名中的字符用于恶意代码的执行逻辑[6],与此次木马通过文件夹名称选择C2服务器的方式如出一辙。1712137276_660d243c1ccd323f33d32.png!small?1712137277484

1712137283_660d24431ec13321d7720.png!small?1712137284339

金眼狗在历史活动中被发现使用过Telegram、Potato、快连VP[]N的恶意安装包[1, 3, 5],与此次窃密行动的攻击目标重叠。1712137289_660d2449426c9d8974579.png!small?1712137289750

1712137294_660d244ed1d459896fe83.png!small?1712137295981

综上,我们认为这一波借助恶意安装包植入木马的攻击行动可能与金眼狗团伙有关。

总结

近年来伪装为正常软件应用的攻击事件层出不穷,精心策划的攻击者还会构建虚假的软件下载网站作为水坑,进一步提高伪装软件的可信度,降低受害者的警惕心。攻击者常通过各种渠道,如搜索引擎优化或者社交媒体传播这些恶意应用和下载链接,一旦受害者下载运行这些看似正常的软件应用,就会导致机器被暗中植入恶意代码,陷入攻击者的魔爪之中。

IOC

MD5

(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

(水坑网站)

letssvp[]n[.]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

参考链接

[1].https://ti.qianxin.com/blog/articles/operation-dragon-breath-(apt-q-27)-dimensionality-reduction-blow-to-the-gambling-industry/

[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/ferN