一、概述
近期,绿盟科技伏影实验室全球威胁狩猎系统捕获了一个新的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/
原文始发于绿盟科技:APT34使用SIDETWIST变种木马开展新一轮网络钓鱼活动