0x00 概述
近日,美团安全团队检测到有攻击者通过VPN软件投毒、钓鱼网站(针对安全从业人员)等手段实施网络攻击。经分析此次攻击活动始于2022年5月并持续至今,期间不断迭代升级恶意软件。通过溯源分析,基本可以确定攻击者为PurpleFox,并澄清部分木马开发人员身份信息。
⚠ PurpleFox
PurpleFox(“紫狐”)是已经持续多年的、以营利为目的的网络黑产组织。该团伙控制大量受害终端,通过挖矿、窃取用户数据、推广捆马软件等方法获利。早期活跃痕迹可以追溯到2014年左右,全球范围内受影响的用户数量超30000。
0x01 事件分析
攻击事件整体流程
通过威胁感知发现攻击者以VPN软件捆绑木马的方式实施投毒攻击。
恶意VPN安装包下载页面
该链接目前仍有效(2022年7月11日),Windows与其他平台的下载链接的结果都是setupr.msi。
解压安装程序setupr.exe,释放两个文件:
-
letsvpn-latest.exe文件具有合法签名,签名是Letsgo NetWork 。
-
编号马.exe是捆绑的恶意程序。(后期样本更名为exe)
c:UsersAsusDocumentsVisual Studio 2005Projectsshisanfengx64releaseshisanfeng.pdb
编号马.exe包含pdb信息,开发者主机名为Asus,样本编译名称为shisanfeng.exe。该样本的功能是下载、解压下一步样本。
编号马.exe下的文件有两个:
-
77.exe文件是winrar的命令行程序,具有合法签名。
-
r.rar文件是包含多个恶意代码的压缩包。
下载地址 |
文件 |
说明 |
http://180[.]215[.]218[.]140:4478/r?=1656500478 |
r.rar |
参数r为时间戳 |
http://180[.]215[.]218[.]140:4478/77 |
77.exe |
固定 |
r.rar的下载地址根据时间不断变化,77.exe下载的文件是固定不变的。
编号马.exe解压r.rar释放4个文件:
-
iusb4mon.exe:下一步样本,没有签名。
-
Excep.tct:重命名为cepp.dll,下一步样本,没有签名。
-
Svchost.txt:下一步样本,shellcode。
-
rundll3222.exe:系统32为rundll32.exe程序,用于加载后续恶意代码。
编号马.exe通过命令:[iusb4mon.exe -a]启动iusb4mon.exe,参数-a的目的是为了绕过沙箱,后续分析会提到。
C:UsersAsusDocumentsVisual Studio 2005Projects947Releaseasdasdsad.pdb
iusb4mon.exe的pdb信息与编号马.exe具有很大相似性。
iusb4mon.exe的功能为动态加载cepp.dll,并执行导出函数tionCatcher。(cepp.dll是由Excep.tct重命名)
c:UsersAsusDocumentsVisual Studio 2005Projectsdlllcasdasdreleasedlllcasdasd.pdb
cepp.dll的pdb信息,cepp.dll中有两个导出函数,指向相同的地址。
cepp.dll的功能为读取本地文件svchost.txt,并执行。
2022年7月8日捕获的样本中,发现shellocde是经过异或加密的,图中是加载前异或解密的过程。
svchost.txt中的shellcode中包含PE文件(MainDll.dll),功能为内存反射加载MainDll.dll。MainDll.dll两个导出函数MainThread与TestFunction。
调用关系:TestFunction->MainThread。
值得一提的是,MainThread方法获取命令行的参数:
-
-a 首次执行【需要释放各种文件】
-
-g 再次执行
如果不带参数,无法加载远控MainDll.dll,具有一定的过沙箱的效果。
首次执行释放各种文件。
-
GKKN.exe是winrar命令行程序,白名单,用于解压BSM.rar。
-
BSM.rar中包含一个文件:MAINICON.lnk。
-
MAINICON.lnk连接到perl5.24.1.exe【白名单】,被释放到自启目录,实现持久化。
-
11111.link用于启动GKKN.exe解压BSM.rar。
C:UsersPublicDownloadsGKKN.exe x C:UsersPublicDownloadsBSM.rar
-
perl524.dll是黑dll。
-
perl5.24.1.exe具有签名的合法程序,用于加载per524.dll(白+黑)。
完成释放样本后,删除中间文件与目录。
C:UsersAsusDocumentsVisual Studio 2005ProjectsqdllldllReleaseqdllldll.pdb
per524.dll的pdb信息。
perl.dll的原始文件名为360net.dll。
RunPerl的功能为释放并加载文件360.dll。
通过释放的rundll3222.exe加载360.dll,并携带参数[-g]。
D:360换机助手备份cddllcdReleasesfdf8sd5f4sdf5.pdb
360.dll pdb信息。
360.dll原始文件名是BaiduNetdisk.exe。
360.dll的功能与cepp.dll的功能相同,内存加载svchost.txt。(shellcode)
至此形成闭环[svchost.txt->MAINICON.lnk(自启目录)->perl5.24.1.exe->perl5.241.dll->360.dll->svchost.txt]。
远控的核心功能在MainDll.dll中。
C2地址:103[.]145[.]86[.]156:10022
通信初始化,通信没有加密,存在O36ODiagnoseScan特征字符串。
¼...O36ODiagnoseScan¼... .......ËAmdhrht. . ...... .... . ...... 52.1?,;7+2.(")'$ #)")021+9:'560-=;.!%#%(")'$ .
捕获的初始TCP流量,发现O36ODiagnoseScan特征字符串。
-
command为返回流量的第一个字节。
-
不同的command,数据格式不完全相同。
指令 |
功能 |
说明 |
0 |
关机、重启、注销 |
根据 sub-command |
1 |
清除痕迹 |
注册表、文件 |
2 |
更新配置-Remark |
C:\ProgramData\ini.ini |
4 |
更新配置-Group |
C:\ProgramData\ini.ini |
6 |
创建进程 |
进程路径:参数 |
12 |
命令执行 |
WinExec |
113 |
删除IE缓存各种数据 |
cmd.exe /c RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255 |
114 |
删除Chrome用户文件 |
%APPDATA%LocalGoogleChromeUser DataDefault |
115 |
删除Skype用户文件 |
%APPDATA%MicrosoftSkype for Desktop |
116 |
删除Firefox用户文件 |
del /s /f %appdata%MozillaFirefoxProfiles\*.db |
117 |
删除360se6用户文件 |
%APPDATA%360se6User DataDefault |
118 |
删除QQBrowser用户文件 |
%APPDATA%TencentQQBrowserUser DataDefault |
119 |
删除SogouExplorer用户文件 |
%APPDATA%SogouExplorer |
表中是该RAT的部分指令的功能,其核心功能是删除各类浏览器中的用户数据。
⚠ 删除用户浏览器数据的目的?
通过删除各类浏览器保存的用户数据,强制用户输入用户名、密码等敏感数据,并使用键盘记录捕获。这样实现的优点:低权限、检测难度大。
【参考4】
360安全卫士 360sd.exe 360杀毒 kxetray.exe 金山毒霸 KSafeTray.exe 金山安全卫士 QQPCRTP.exe QQ电脑管家 HipsTray.exe 火绒
BaiduSd.exe 百度杀毒 baiduSafeTray.exe 百度卫士 KvMonXP.exe 江民 RavMonD.exe 瑞星 QUHLPSVC.EXE QuickHeal mssecess.exe
微软MSE cfp.exe Comodo杀毒 SPIDer.exe DR.WEB acs.exe Outpost V3Svc.exe 安博士V3 AYAgent.aye 韩国胶囊 avgwdsvc.exe AVG
f-secure.exe F-Secure avp.exe 卡巴 Mcshield.exe 麦咖啡 egui.exe NOD32 knsdtray.exe 可牛 TMBMSRV.exe 趋势 avcenter.exe
小红伞 ashDisp.exe Avast网络安全 rtvscan.exe 诺顿 remupd.exe 熊猫卫士 vsserv.exe BitDefender PSafeSysTray.exe PSafe反病毒
ad-watch.exe Ad-watch反间谍 K7TSecurity.exe K7杀毒 UnThreat.exe
此外在样本初始化的时候获取大量杀软进程信息。
0x02 溯源分析
序号 |
IOC |
用途 |
说明 |
1 |
xc[.]quanjuntu[.]top |
挂马站点 |
阿里云域名 |
2 |
180[.]215[.]218[.]140 |
样本下发 |
20220627样本分析发现 |
3 |
180[.]215[.]218[.]141 |
样本下发 |
20220708样本分析发现 |
4 |
194[.]146[.]84[.]3 |
样本下发 |
20220629发现(C2关联发现) |
5 |
180[.]215[.]218[.]142 |
样本下发 |
20220708 测绘发现 |
6 |
180[.]215[.]218[.]131 |
样本下发 |
20220708 测绘发现 |
7 |
180[.]215[.]218[.]132 |
样本下发 |
20220708 测绘发现 |
8 |
180[.]215[.]218[.]133 |
样本下发 |
20220708 测绘发现 |
9 |
103[.]145[.]86[.]156 |
指控 |
20220627样本分析发现 |
10 |
122[.]10[.]82[.]88 |
指控 |
20220628样本分析发现 |
11 |
154[.]39[.]249.[.]20 |
指控 |
20220629关联分析发现 |
12 |
154[.]39[.]239[.]57 |
指控 |
20220630关联分析发现 |
13 |
206[.]233[.]29[.]75 |
指控 |
20220630样本分析发现 |
14 |
45[.]207[.]26[.]140 |
指控 |
20220708样本分析发现 |
分析过程中发现的挂马站点、样本下发、指控的域名与IP,下面针对各类威胁情报进行深入挖掘与关联分析。
1 挂马站点
通过关联分析发现,域名quanjuntu[.]top存在多个子域名。推测quanjuntu.top域名管理账号密码被盗,域名被盗用于挂马、导流等。对http://xc[.]quanjuntu[.]top/进行测绘,结果如下:
获取到4个banner与网页信息相同的站点:
-
下载的软件,均采用捆绑的方式。
-
4个站点共有2类捆绑马,与本次木马都不同。
⚠ 从样本pdb信息可以判断与本次攻击事件同源。
本次事件攻击者同时使用多个网站捆绑多种木马实施攻击。
2 样本下发 IP【溯源到木马开发人员】
从2022年6月27日(攻击发现时间)至2022年7月11日共发现样本下发IP共7个:
-
180[.]215[.]218[.]140:通过挂马站点(xc.quanjuntu.top)发现。
-
180[.]215[.]218[.]141:通过挂马站点(xc.quanjuntu.top)发现。
-
180[.]215[.]218[.]142:通过测绘发现。
-
180[.]215[.]218[.]131:通过测绘发现。
-
180[.]215[.]218[.]132:通过测绘发现。
-
180[.]215[.]218[.]133:通过测绘发现。
-
194[.]146[.]84[.]3:通过指控IP关联分析发现,在下一节详细分析。
与180[.]215[.]218[.]140通联的样本,使用的时间跨度为【20220624-20220706】。
与180[.]215[.]218[.]141通联的样本,使用的时间跨度为【20220704-20220711】。
180[.]215[.]218[.]140是通过HTTP File Server部署样本,攻击者每天会更新一次样本。
180[.]215[.]218[.]141升级了样本部署方式,通过全路径仍可以下载。
针对180[.]215[.]218[.]141测绘,获取6个样本下发IP,其中3个是已经发现的。
其中在样本中发现含有QQ号的pdb路径,推测木马开发人员通过QQ传输代码。
该QQ号与关联的QQ都符合黑灰产从业人员QQ的特点。(注册时间早、没有状态、关联人员具有相同特点)。
与该QQ号绑定的手机号为:157******80。
3 指控IP【溯源到攻击实施组织】
2022年6月29日在样本中发现新的C2:154[.]39[.]249[.]20
通过154[.]39[.]249[.]20关联出20220516的攻击样本liuke.exe。
通过样本liuke.exe关联出20220513使用的样本下发IP:194[.]46[.]84[.]3
194[.]146[.]84[.]3关联出同C段IP:194[.]146[.]84[.]2 与194[.]146[.]84[.]245,在之前攻击中使用。
-
针对《全新后门文件Nev-3.exe分析》这篇文章提到的细节与此次攻击事件基本一致【参考1】
-
《疑似紫狐样本》中发现的HFS文件服务器,中的文件与本次事件基本一致。【参考2】
-
《Purple Fox Uses New Arrival Vector and Improves Malware Arsenal》攻击流程与此次攻击事件基本一致。【参考3】
溯源路径
⚠ 攻击者溯源
至此,基本可以判定,此次攻击是由PurpleFox实施的。
远控马是FatalRAT【参考4】
4 疑似针对安全从业人员的钓鱼攻击
2022年6月30日从样本中发现指控IP:206[.]233[.]129[.]75。
该C2关联的样本。
在指控206[.]233[.]129[.]75上发现疑似管理后台。
该后台的用户名与密码均存在JS代码中。
点击任何链接均会弹【请升级安全盾】提示框。点击确认后会自动下载一个zip文件,诱导用户点解压执行。
下载的flash.zip压缩包,解压后是一个批处理文件。
该批处理文件实际上是一个EXE文件,pdb信息与此次攻击中使用的样本高度相似。
测绘出12个同源钓鱼网站。
⚠ 因为进入管理后台需要一定的网络安全技术基础,所以钓鱼针对的目标是网络安全从业人员。
0x03 总结
当前PurpleFox采用多种手段持续实施攻击,且不断升级攻击使用的木马工具,采用较多防御规避的技术:
-
侧加载(白+黑)
-
带参数执行
-
反射加载PE
-
lnk自启
但是在分析过程中也能发现攻击者使用的武器粗糙,存在较多低级问题:
-
pdb信息(后期样本中去除)
-
核心代码没有加密(后续升级样本中发现代码加密操作)
-
通信没有加密
通过分析,基本可以得出以下结论:
-
此次攻击由PurpleFox实施。
-
根据PDB信息,溯源发现木马开发者信息。
-
攻击还在持续。
美团网络安全专家建议个人应提高网络安全意识,在安装软件时应从官方渠道下载安装包,企业应加强员工网络安全培训与软件使用合规管控。
IOCs
xc[.]quanjuntu[.]top
180[.]215[.]218[.]140
180[.]215[.]218[.]141
180[.]215[.]218[.]142
180[.]215[.]218[.]131
180[.]215[.]218[.]132
180[.]215[.]218[.]133
194[.]146[.]84[.]3
103[.]145[.]86[.]156
122[.]10[.]82[.]88
154[.]39[.]249.[.]20
154[.]39[.]239[.]57
206[.]233[.]29[.]75
45[.]207[.]26[.]140
acf3ddf860bcc8b1480df21ef99b9d7c
2b84d448fe00c37818af718d07e4dc5f
4826de57a516c31c984249a8e4a1c8b9
e07acf335f7bba2cad5cf418ea93db27
8b6e323bfad4a976fa2a3d66d846b3ba
b2168061cef4e1f3958281c4a041410a
48542b8c577cfcfff6b35799cad80b93
参考
1 全新后门文件Nev-3.exe分析:https://www.freebuf.com/articles/paper/332046.html
2 疑似紫狐样本:https://x.threatbook.com/v5/article?threatInfoID=12607
3 Purple Fox Uses New Arrival Vector and Improves Malware Arsenal:https://www.trendmicro.com/en_us/research/22/c/purple-fox-uses-new-arrival-vector-and-improves-malware-arsenal.html?&web_view=true
4 FatalRAT Exploits Telegram to Deliver Malicious Links:https://www.bankinfosecurity.com/fatalrat-exploits-telegram-to-deliver-malicious-links-a-17199
原文始发于微信公众号(美团安全应急响应中心):安全通告 | 疑似PurpleFox多手段持续实施攻击活动