APT34使用SideTwist变种木马开展新一轮网络钓鱼活动

一、概述

近期,绿盟科技伏影实验室全球威胁狩猎系统捕获了一个新的APT34钓鱼攻击活动。在该活动中,APT34攻击者伪装成一个名为GGMS的市场营销服务公司,向企业目标发动攻击,最终投放一种SideTwist变种木马,实现对受害主机的长期控制。

二、组织信息

APT34,又名OilRig或Helix Kitten,是一个疑似来自伊朗的APT组织。该组织自2014年以来保持活跃,主要针对中东各国开展网络间谍和网络破坏行动,主要目标包括金融、政府、能源、化工和电信等多个行业。

APT34具备较高的攻击技术水平,能够针对不同类型的目标设计不同的入侵方式,并且具备供应链攻击能力。该组织的主要攻击工具曾在2019年的一次泄露事件中披露,此后该组织开始转向开发新型攻击工具,这些新工具包括RDAT、SideTwist、Saitama等。

三、诱饵信息

本次,APT34使用的诱饵文档名为“GGMS Overview.doc”,文档正文显示一家所谓的“Ganjavi Global Marketing Services”公司的介绍,如下图所示。

APT34在本次活动中使用的诱饵文档

该介绍声称此公司能够提供全球范围的市场营销服务,很明显其攻击目标为企业用户。

该文档的两次上传记录均位于美国,证明APT34本次活动的实际目标为美国企业。

四、攻击流程

本次活动中,APT34沿用了一种自2021年开始使用的攻击流程,但在细节上有所变化。该攻击流程的关键步骤如下图所示。

APT34在本次活动中使用的主要攻击流程

该攻击过程中,隐藏于诱饵文档中的恶意宏代码承担了部署环境的工作,宏代码会提取文档中以base64格式存储的木马程序SystemFailureReporter.exe,将其释放到%LOCALAPPDATA%\SystemFailureReporter\目录下,并在同目录下创建一个名为update.xml的文本文档,作为木马程序的启动开关,如下图所示。

诱饵文档释放的恶意文件

随后,恶意宏代码创建一个名为SystemFailureReporter的计划任务,该计划任务将每5分钟调起上述木马程序,木马程序通过该计划任务程序反复运行。

诱饵文档设置的计划任务的触发器信息

诱饵文档设置的计划任务的动作信息

被调用的木马程序SystemFailureReporter.exe为APT34在近年行动中使用的主要木马工具SideTwist的变种,其通信CnC地址为11.0.188.38:443,但使用http进行通信。

五、木马分析

本次活动中出现的SideTwist变种木马程序与APT34在既往活动中使用的SideTwist木马的功能比较相似,其主要区别在于该SideTwist变种木马使用GCC进行编译。

该SideTwist木马的主要功能为与CnC通信,执行CnC端下发的命令或程序文件,以及将本地文件上传至CnC。

木马运行后,首先会检查同目录下是否存在名为update.xml的文件,如果不存在则通过调试端口输出一行提示文字并退出,这是一种典型的反沙箱操作。

SideTwist木马中的环境检测操作

随后木马会采集该受害者主机的用户名、计算机名以及本地域名,拼合并计算一个4字节哈希,作为受害者唯一ID。

SideTwist木马中的收集主机信息操作

 随后木马利用生成的受害者ID,尝试与CnC建立通信并获取返回信息。

下图显示了该木马的示例HTTP通信内容,URI路径中的suWW即为受害者ID:

SideTwist木马首次通信内容

如果该CnC路径在线,木马会提取CnC返回的HTML代码中的特定内容并解析为CnC指令,这些特定内容隐藏在HTML代码的<script>/*与*/<script>标签之间。

该变种木马中,CnC指令以base64编码保存,其解密方式为多字节异或,异或键为字符串“notmersenne”。

解密后的CnC指令分为三段,分别为CnC编号、CnC指令码与运行参数,三段之间以”|”符号隔开,如下所示。

[CnC编号] | [CnC指令码] | [运行参数1] | [运行参数2]

CnC编号部分仅作为CnC通信时的索引,仅在该值为”-1″时能够控制木马终止后续的CnC通信行为;

CnC指令码用于控制木马进行几种对应的行为,其指令码编号与功能对应如下表所示。

CnC指令码表

CnC指令码 功能
101 执行CnC下发的shell命令,命令行由运行参数1指定
102 下载CnC服务器上的指定文件,文件保存路径与远程文件名称分别由运行参数1和2指定
103 上传本地文件至CnC服务器,文件路径由运行参数1指定
104 执行CnC下发的shell命令,命令行由运行参数1指定(与指令码101相同)

需要注意的是,该木马的102指令码会触发一个后续CnC通信行为,木马程序会根据CnC指令参数中的远程文件名称发起http GET请求,获取远程位置“/getFile/[文件名称]”中的文件并解密,解密方式同样为base64转码与多字节异或,如下图所示。

SideTwist木马102指令码中的通信逻辑

上述所有CnC指令完成后,木马端都会向CnC回复一个http POST请求,用于报告指令执行结果。该POST请求正文包含如下格式的信息:

{“[CnC编号]”}:{“[CnC指令执行结果]”}

与常见木马程序不同的是,该木马不存在循环或睡眠机制,在进行一次CnC通信后就会自动退出,等待计划任务在5分钟后再次调起木马程序。

六、IoC分析

本次APT34活动中非常特殊的一点是,活动中出现的SideTwist变种木马将IP地址11.0.188.38作为CnC。

分析发现,目前该IP地址的443端口未提供服务,无法通过该IP返回的内容确认其CnC服务器的性质;

IP地址当前响应状态

而查询该IP归属时发现,11.0.188.38归属于11.0.188.0/22网段,该网段的拥有者为美国国防部网络信息中心(DoD Network Information Center),而该IP地址位于美国俄亥俄州哥伦布市,与该机构的地理位置相匹配。

七、结论

本次发现的APT34攻击活动,除了再次展示了该组织常用的攻击思路外,也带来了一种基于GCC的SideTwist变种木马,以及一个作为木马CnC地址的敏感IP地址。

我们认为,该CnC IP的特殊性表明APT34组织攻击者很可能是将本次活动作为一种试探,并未启用该组织的真实CnC地址。这是一种保护攻击资源的操作,也是APT组织有可能使用的战术。这种情况下,APT组织攻击者只有在完成调试工作并保证攻击流程的隐蔽性后,才会启用真实的CnC地址发起攻击行动。

八、IoC

056378877c488af7894c8f6559550708

5e0b8bf38ad0d8c91310c7d6d8d7ad64

http[:]//11.0.188[.]38:443/

版权声明
本站“技术博客”所有内容的版权持有者为绿盟科技集团股份有限公司(“绿盟科技”)。作为分享技术资讯的平台,绿盟科技期待与广大用户互动交流,并欢迎在标明出处(绿盟科技-技术博客)及网址的情形下,全文转发。
上述情形之外的任何使用形式,均需提前向绿盟科技(010-68438880-5462)申请版权授权。如擅自使用,绿盟科技保留追责权利。同时,如因擅自使用博客内容引发法律纠纷,由使用者自行承担全部法律责任,与绿盟科技无关。

Spread the word. Share this post!

Meet The Author