概述
Promethium又被称为蓝色魔眼、StrongPity、APT-C-41,至少自2012年以来一直处于活跃状态。它于2016年10月被首次公开报道,此前它利用水坑网站发布了恶意版本的WinRAR和TrueCrypt文件加密软件对比利时和意大利的用户进行网络攻击。该组织拥有复杂的模块化攻击武器库与丰富的网络资源,具备0day漏洞作战能力,拥有Windows、Android双平台攻击武器。该组织早期利用0day漏洞进行攻击,后才被披露针对目标用户进行水坑攻击,伪装成用户常用的合法软件或仿冒相关应用官方网站等【1】。
继去年我们在《赛博空间的魔眼:PROMETHIUM伪造NotePad++安装包的攻击活动分析》【2】一文中披露以来,我们团队对PROMETHIUM组织保持高度关注。近日,我们在日常的威胁狩猎中捕获了该组织伪装成常用压缩软件WinRAR.exe安装包进行情报刺探的攻击活动样本。经研判,本次攻击活动的特点如下:
使用水坑进行攻击,此次攻击样本内嵌exe签名的软件安装包,并使用WinRAR.exe图标伪装自身;
硬编码字符串‘v28_kt32p0’,疑似版本更迭至v28;
收集指定类型文件压缩加密后回传C2服务器;
样本分析
0x01基本信息
本次捕获的样本伪装为WinRAR.exe安装包,该伪装具有很强的迷惑性,其基本信息如下:
文件名 | WinRAR.exe |
MD5 | AE72B18B38E4421A37A93C0820DDD83B |
文件格式 | Win32 EXE |
样本图标 |
伪装WinRAR.exe安装包的文件属性:
样本执行后将在%temp%目录下释放并执行winrar-x64-602.exe安装包,该安装包的签名日期为2021年6月14日,版本为6.2.0.0,与以往Promethium组织利用常见软件进行水坑攻击类似,区别在于本次进行水坑攻击的WinRAR安装包为64位程序,在32位系统中不能正常执行WinRAR安装包程序。
正常执行WinRAR安装程序后,迷惑受害者展示的页面。
0x02详细分析
该样本首先获取自身资源中的数据进行解密。
使用异或算法来解密资源数据。
Dropper1
通过局部变量来控制循环次数,首次循环获取受害者的%Temp%目录,释放并执行解密后的WinRAR安装包。
释放的文件信息如下:
文件名 | winrar-x64-602.exe |
MD5 | FC61FDCAD5A9D52A01BD2D596F2C92B9 |
文件大小 | 3338648 bytes |
文件格式 | Win32 EXE |
文件描述 | 白文件,携带合法正规签名 |
Dropper2
母体在第二次循环时就会在%temp%\cnfmgrdata目录下释放名为simserv.exe的文件。
其基本信息如下:
文件名 | simserv.exe |
MD5 | 31C05FE3C509D9594B6F8BC2BB5F2FD1 |
文件大小 | 238592 bytes |
文件格式 | Win32 EXE |
该文件释放后并未立即执行,而是由下面释放的Dropper3进行调用执行。该样本的主要功能为遍历除指定目录外的敏感类型文档,通过加密后存储为sft文件,供Dropper3发送至C2。
其中排除遍历的目录如下:
目录 |
%Windows% |
%Windows.old% |
%AppData% |
%Program Files% |
%Program Files (x86)% |
%ProgramData% |
指定获取的敏感文件后缀。
当获取到指定后缀的文件类型后,将文件压缩后写入创建的cnfz文件。
然后对cnfz文件中的内容进行加密,其加密算法如下:
获取十进制的硬盘卷序列号和当前系统时间与硬编码的字符串‘guid_app0_’进行拼接作为文件名创建sft文件,在sft文件头先写入标识字符‘N’,然后将加密后的cnfz文件内容写进sft文件中,并设置文件属性为隐藏只读。
值得一提的是,设置了sft文件写入数据的上限,上限为0x36*0x800=110592字节,如最后一次还未写入完毕,则依次增加sft文件名末尾的序号,并在文件头写入标识符‘O’。
Dropper3
母体在第三次循环时才在%temp%\cnfmgrdata目录下释放名为svvsrv.exe的文件,并在注册表中添加启动项实现持久化,然后使用CreateProcessA函数调用执行。
svvsrv.exe恶意程序的基本信息如下:
文件名 | svvsrv.exe |
MD5 | 20019653C96F9556133A9BC4D811E6AE |
文件大小 | 144896 bytes |
文件格式 | Win32 EXE |
样本首先创建一个名为“AOMXCjFMzxVAEflKIqj”的互斥体,然后获取硬编码字符串‘v28_kt32p0’,结合以往攻击样本分析,v28应该属于版本号。通过与0x27进行异或,解密出C2地址。
解密的C2地址如下:
C2 |
https://sessionprotocol.com/parse_ini_file.php |
https://sessionprotocol.com/phpinfo.php |
然后执行释放的dropper2程序simserv.exe,以及同目录下的wsssv.exe程序,但未发现同目录下的wsssv.exe样本,推测其为后续下载的载荷。
然后进入无限循环,循环内的第一步是通过HTTPS与C2建立连接,在第一次接触时,它会获取硬盘卷序列号转成十进制后与上述版本信息进行拼接,以“name=v28_kt32p0_十进制硬盘序列号”的格式发送到C2,以此来标识受害者的身份信息。
随后在远程服务器返回的数据中,前4个字节为C2指令,4字节后为加密后的有效载荷。
指令 | 功能 |
0x21222324 | 解密后续载荷保存在本地并执行 |
0xDEEFDAAD | Ping指定主机,以及静默删除样本所在目录 |
空数据 | 发送“name=v28_kt32p0_839537156&delete=ok”到C2 |
当指令为0x21222324时,从远程服务器返回的数据解密后保存到本地并执行。
当指令为0xDEEFDAAD时,使用CreateProcessW函数执行指定命令cmd.exe /C ping 3.2.2.5 -n 3 -w 5050 & rmdir /Q /S "C:\Users\sam\AppData\Local\Temp\ cnfmgrdata"。
然后收集%Temp%\cnfmgrdata目录下以.sft为后缀的文件进行上传,该目录下以.sft为后缀的文件是由上述的Dropper2生成的。
为了减少暴露的可能性,在文件上传成功后,修改文件属性为正常属性,然后将其删除。
溯源与关联
奇安信威胁情报中心对此次捕获样本攻击手法,代码逻辑层面分析,发现此次捕获的攻击样本与Promethium组织常用攻击手法,恶意代码基本一致。
和以往攻击类似的HTTP报文格式。
下图为Bitdefender披露的Promethium组织样本tag【3】,而此次捕获的样本tag为‘v28_kt32p0’。
使用奇安信红雨滴自研APT扫描引擎RedDrip APT Scanner能精准识别。
总结
Promethium组织是一直活跃在中东地区APT团伙,擅于使用水坑攻击,而且他们并不会在暴露后更改他们的攻击技战法或者数字武器,而是通过保持更新来使攻击活动尽可能的高效。
此次捕获的样本伪装性较高,且国内有不少用户在使用WinRAR这款软件。奇安信红雨滴团队提醒广大用户,谨防水坑攻击,切勿打开社交媒体分享的来历不明的链接,不点击执行未知来源的邮件附件,不运行标题夸张的未知文件,不安装非正规途径来源的APP。做到及时备份重要文件,更新安装补丁。
IOCs
MD5
AE72B18B38E4421A37A93C0820DDD83B
31C05FE3C509D9594B6F8BC2BB5F2FD1
20019653C96F9556133A9BC4D811E6AE
URL
hxxps://sessionprotocol.com/parse_ini_file.php
hxxps://sessionprotocol.com/phpinfo.php
参考链接
[1]. https://ti.qianxin.com/apt/detail/5b39cb04596a10000ffcba85?name=PROMETHIUM&type=map
[2]. https://ti.qianxin.com/blog/articles/PROMETHIUM-forged-NotePad++-installation-package-attack-campaign/
[3]. https://www.bitdefender.com/files/News/CaseStudies/study/353/Bitdefender-Whitepaper-StrongPity-APT.pdf