概述
Promethium又被称为蓝色魔眼、StrongPity,该APT组织在2016年被微软披露并命名为Promethium,其最早的攻击活动可以追溯到2012年。该组织主要针对意大利、土耳其、比利时、叙利亚、欧洲等地区和国家进行攻击活动。该组织早期利用过0day漏洞进行攻击活动,后被披露针对目标用户进行水坑攻击:伪装成用户常用的合法软件或仿冒相关应用官方网站等,从伪装成WinRAR、TrueCrypt、Opera浏览器等软件,逐步扩展到伪装成TeamViewer、WhatsApp等应用软件。同时该组织还曾被发现一些ISP级别的网络劫持攻击活动迹象。 Promethium在2016年5月针对土耳其受害者实施攻击,其与Neodymium组织存在部分相似性,包括重叠的攻击目标和攻击活动中所使用的代码特征[1]。
近日,奇安信威胁情报中心红雨滴团队在日常的威胁狩猎中捕获了该组织伪装成常用文本编辑器Notepad++安装包进行情报刺探的攻击活样本,本次攻击活动的特点如下:
使用水坑进行攻击,此次攻击样本内嵌Notepad++签名的最新软件安装包,并使用Notepad++安装包图标伪装自身;
注册为服务实现持久化;
使用突破会话隔离的技术创建进程;
通过隐藏窗口实现键盘记录器,提高隐蔽性;
样本分析
0x01基本信息
本次捕获的样本伪装为NotePad++安装包,该伪装具有很强的迷惑性,其基本信息如下:
文件名 | setup.exe |
MD5 | 78556a2fc01c40f64f11c76ef26ec3ff |
文件格式 | Win32 EXE |
样本图标 |
伪装NotePad++安装包的文件属性:
样本执行后将解密释放并执行NotePad++安装包,该安装包的签名日期为2021年10月15日,版本为8.1.7.0,说明Promethium组织善于利用常用软件进行水坑攻击,软件新版本一发布就被加以利用。
随后执行正常的安装程序,从而迷惑受害者。
0x02详细分析
该样本首先获取自身资源中的数据进行解密。
使用异或来解密资源数据的算法。
Dropper1
通过局部变量来控制循环次数,首次循环获取受害者的Temp目录,释放并执行解密后的NotePad++安装包。
释放的文件信息如下:
文件名 | npp.8.1.7.Installer.x64.exe |
MD5 | 0392A100A1E09AE747E45382DECEEF4D |
文件大小 | 4346312 bytes |
文件格式 | Win32 EXE |
文件描述 | 白文件,携带合法正规签名 |
Dropper2
获取系统system32目录,在下面释放winpickr.exe,并使用update参数进行启动。
该样本基本信息如下:
文件名 | winpickr.exe |
MD5 | C66279129816FD2986495F5FCFEC8625 |
文件大小 | 121856 bytes |
文件格式 | Win32 EXE |
样本首先判断启动参数是否为update,是则创建服务名为PickerSrv,服务描述为FilePicker UI Server的服务。这里携带参数的好处是,如果winpickr.exe在沙箱中隔离执行的话,由于沙箱不会携带参数,则不会创建服务,样本不会有任何动态行为。
然后退出进程,由母体Dropper1来启动服务,进而调用服务主函数ServiceMain_402D07,服务主函数主要功能为创建两个线程
线程1
该线程首先解密出C2
C2 |
https:// advancedtoenableplatform.com/parse_ini_file.php |
https:// advancedtoenableplatform.com/phpinfo.php |
https:// advancedtoenableplatform.com/aboutus.php |
然后进入无限循环,循环内的第一步是通过HTTPS与C2建立连接,在第一次接触时,它会获取硬盘卷序列号转成十进制后以“name=%ls”的格式发送到C2,以此来标识受害者的身份信息。然后收集C:\ProgramData\Microsoft\WindowsData目录下以.tbl为后缀的文件进行上传。
为了减少暴露的可能性,还会对上传的文件做属性校验,仅上传属性为隐藏文件、只读文件或操作系统使用一部分或专门使用的文件。
线程2
该线程主要功能是启动释放的Dropper3程序ntuis32.exe
使用不常见的启动技术,突破Session 0 来创建进程。
Dropper3
母体在第二次循环时就会在C:\ProgramData\Microsoft\WindowsData目录下释放名为ntuis32.exe的文件,其基本信息如下:
文件名 | ntuis32.exe |
MD5 | 6B0279DA0E09514269437F0C7BDA9C69 |
文件大小 | 237056 bytes |
文件格式 | Win32 EXE |
该文件释放后并未立即执行,而是由上面释放的Dropper2通过服务进行调用执行,样本首先创建一个名为“Local\WinLoginWait”的互斥体,然后创建新线程。
获取卷系列号在C:\ProgramData\Microsoft\WindowsData目录下释放格式为“inf_loc_ky_%u_v1.0.0_.tb”的文件,其中“%u”为获取到的卷序列号,并创建一个隐藏的窗口。
通过不同的窗口消息来实现不同的功能,下面是窗口消息对应的功能:
窗口消息 | 功能 |
WM_TIMER | 定时器事件 |
WM_HOTKEY | 监控定义的按键 |
WM_CHOOSEFONT_SETLOGFONT | 定义系统范围的热键 |
其中定时器事件主要功能为C:\ProgramData\Microsoft\WindowsData目录下释放格式为“inf_loc_ky_%u_%02d%02d%02d%02d%02d_.tbl”的文件,并往里面写入加密的数据,而该目录下的.tbl文件由Dropper2的线程1上传至C2。
溯源与关联
奇安信威胁情报中心对此次捕获样本攻击手法,代码逻辑层面分析,发现此次捕获的攻击样本与Promethium组织常用攻击手法,恶意代码基本一致。
和以往攻击相同的上传数据格式。
和以往捕获样本[2]不同的是,C2的脚本名称进行了部分更改。
本次捕获 | 以往捕获 |
phpinfo.php | phpinfo.php |
aboutus.php | Info.php |
parse_ini_file.php | parse_ini_file.php |
总结
Promethium组织是一直活跃在中东地区APT团伙,擅于使用水坑攻击,而且他们并不会在暴露后更改他们的攻击技战法或者数字武器,而是通过保持更新来使攻击活动尽可能的高效。
此次捕获的样本伪装性较高,且国内有不少用户在使用NotePad++这款软件。奇安信红雨滴团队提醒广大用户,谨防水坑攻击,切勿打开社交媒体分享的来历不明的链接,不点击执行未知来源的邮件附件,不运行标题夸张的未知文件,不安装非正规途径来源的APP。做到及时备份重要文件,更新安装补丁。
若需运行,安装来历不明的应用,可先通过奇安信威胁情报文件深度分析平台(https://sandbox.ti.qianxin.com/sandbox/page)进行判别。目前已支持包括Windows、安卓平台在内的多种格式文件深度分析。
目前,基于奇安信威胁情报中心的威胁情报数据的全线产品,包括奇安信威胁情报平台(TIP)、天擎、天眼高级威胁检测系统、奇安信NGSOC、奇安信态势感知等,都已经支持对此类攻击的精确检测。
IOCs
MD5
78556a2fc01c40f64f11c76ef26ec3ff
C66279129816FD2986495F5FCFEC8625
6B0279DA0E09514269437F0C7BDA9C69
URL
hxxps://advancedtoenableplatform.com/parse_ini_file.php
hxxps://advancedtoenableplatform.com/phpinfo.php
hxxps://advancedtoenableplatform.com/aboutus.php
参考链接
[1]. https://ti.qianxin.com/apt/detail/5b39cb04596a10000ffcba85?name=PROMETHIUM&type=map
[2]. https://www.bitdefender.com/files/News/CaseStudies/study/353/Bitdefender-Whitepaper-StrongPity-APT.pdf