3

海莲花 APT 组织模仿 APT29 攻击活动分析

 9 months ago
source link: https://paper.seebug.org/3078/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

作者:知道创宇404高级威胁情报团队
时间:2023年11月30日

2023年11月,知道创宇404高级威胁情报团队成功捕获到海莲花组织最新的攻击样本。该样本以购买BMW汽车为主题,诱导攻击目标执行恶意文件。与此同时,该攻击与今年APT29的诱导主题和木马加载流程有相似之处,初步分析表明这可能是攻击者故意模仿的结果。

2.攻击释放链

75543e6f-1b67-4e98-9b6b-ae3506c55dff.png-w331s

攻击释放链

3.样本功能综述

原始样本为“BMW_2023年机构及院士销售价格框架.pdf.lnk”。该文件内置了四部分内容,分别是:lnk参数、诱饵文档、dropper程序和hta文件,四部分内容通过相互配合完成既定功能目标。

7642f2b3-b339-412e-807a-3119b72238dc.png-w331s

原始LNK文件

整体指令流程为:lnk参数执行hta文件,hta文件执行dropper程序&诱饵文档,Shellcode加载执行最终Cobalt_Strike RAT程序,各部分功能细节描述如下:

3.1 LNK文件

LNK文件为原始载荷,用于整体释放链的启动工作,通过ShellExec执行CMD指令,其中CMD指令的功能是:

  1. 确保360安全卫士相关文件不存在

  2. 将自身拷贝到%USERPROFILE%\NTUSER.DAT{9a91c082-225a-4f2c-9a80-fc75895096f0}.TM.alf,并通过mshta.exe进行启动。拷贝逻辑根据是否存在原始文件名称的LNK文件区分为两种,若是原始文件名称的LNK文件存在则直接拷贝;若不存在则遍历%USERPROFILE%路径查找原始文件名称的LNK文件,找到之后将文件拷贝到%USERPROFILE%\NTUSER.DAT{9a91c082-225a-4f2c-9a80-fc75895096f0}.TM.alf并通过mshta.exe启动。该部分的区分代码可用于以下功能的检测:

    (1)文件名称是否被更改

    (2)可能原始落地文件在%USERPROFILE%路径下

bd40fc54-1be4-4c05-9844-579093a52bad.png-w331s

两个LNK文件参数基本一致

3.2 NTUSER.DAT{9a91c082-225a-4f2c-9a80-fc75895096f0}.TM.alf

该文件存放于LNK文件尾部,通过mshta.exe程序进行启动。根据行为猜测,mshta.exe通过定位标记点启动HTA,故不需要通过提取HTA文件来启动HTA文件。

根据代码来看,HTA文件存在四部分功能。其分别为:定位并保存白加黑程序、定位并保存诱饵文档、运行诱饵文档、修复白加黑程序,各功能模块描述如下:

1.定位并保存白加黑程序

首先加载自身(NTUSER.DAT{9a91c082-225a-4f2c-9a80-fc75895096f0}.TM.alf)并将文件游标设置为 offset:11598 读取249374大小数据,保存读取的数据至%appdata%\Lenovo\devicecenter\extends\modules\showdesk\LenovoDesk.exe,接着读取1032190大小数据保存至%appdata%\Lenovo\devicecenter\extends\modules\showdesk\QuickDeskBand.dll

4516e9bc-c5c2-4ca6-8ce7-db4021be31ce.png-w331s

设置游标并读取白加黑内容&文档内容

3bd78f8a-e497-41be-bd22-e35c43e9f208.png-w331s

白加黑程序起始地址

2.定位并保存诱饵文档

保存诱饵文档数据至本地%temp%\BMW_2023年机构及院士销售价格框架.pdf,启动BMW_2023年机构及院士销售价格框架.pdf文件。

0ef922dc-efb7-457e-9147-a51aad645e80.png-w331s

诱饵文件

3.运行诱饵文档

ab5bab29-0c5c-4a96-8001-95706682cc7d.png-w331s

运行诱饵文档内容

4.修复白加黑两个程序,添加MZ文件头

a49ad2fb-2746-4ec8-8e84-a4cab880637c.png-w331s

修复白加黑程序

3.3 诱饵文档

诱饵文档内容如下:

262f13a2-aeb1-4bfa-b3d9-d109164c8441.png-w331s
347f1732-e408-4f1b-bb78-304a3a8f4b6b.png-w331s

3.4 白加黑&COBALT_STRIKE Beacon

先前保存的白加黑程序用于解密并启动Cobalt_Strike,白程序的启动在lnk参数部分实现:

3115dec8-7181-4c1c-91bf-685245a5d61a.png-w331s

启动白文件

2663bdd4-6fe6-428b-9958-19c67aefcbb1.png-w331s

白文件信息

白文件(LenovoDesk.exe)在运行后,通过加载QuickDeskBand.dll并调用其ShowBatteryGauge函数:

f5cf9045-6303-4df8-8b4e-399bf3ce7604.png-w331s

加载黑文件

黑文件加载后,其DllMain函数中执行解密操作,解密出后续的载荷。同时,通过ShowBatteryGauge导出主要功能,将LenovoDesk.exe写入注册表的启动项中,实现自动启动。

b1cbdafc-9016-4b0e-adbc-252669a6acc2.png-w331s

设置run启动项

黑文件QuickDeskBand.dll 被加载后,进入 DllMain 函数中执行初始化。在 DllMain 中,首先会获取主程序路径,然后使用该路径的后15位字符作为密钥来解密相关数据。攻击者使用当前运行主程序的后15位字符作为解密key,在一定程度上能够反沙箱和反分析调试,只有当主程序名为LenovoDesk.exe时才能够解密出后续的点分十进制数据。如果分析人员以任意文件名进行加载,则无法正确解密后续的CS载荷。

6b9cf364-e9aa-4651-956a-dbcc025a9fd6.png-w331s

使用文件名作为key解密数据

解密后的数据为IP点分十进制数据,通过 RtlIpv4StringToAddressA 函数将点分十进制IP地址转化为HEX地址形式数据,HEX地址形式的数据为COBALT_STRIKE数据,之后通过设置枚举字体的回调立即启动Cobalt_Strike.

35da7211-367d-4617-8c61-7011eaf61282.png-w331s

解码CS数据

Cobalt_Strike是一款付费渗透测试产品,允许攻击者在受害机器上部署名为“Beacon”的代理。Beacon 为攻击者提供了丰富的功能,包括但不限于命令执行、按键记录、文件传输、SOCKS 代理、特权升级、mimikatz、端口扫描和横向移动。Beacon 是内存中(无文件)的,因为它由无阶段或多阶段的 shellcode 组成,一旦通过利用漏洞或执行 shellcode 加载程序进行加载,就会反射性地将自身加载到进程的内存中,而不会触及磁盘。

支持通过 HTTP、HTTPS、DNS、SMB 命名管道以及正向和反向TCP进行C2和分段,信标以菊花链式连接。Cobalt Strike带有一个用于开发shellcode加载器的工具包,称为 Artifact Kit。

由于该平台强大的功能及兼容性,许多APT组织也将CS列入自己的武器库中,在以往的APT32攻击活动中我们也经常发现其使用CS作为RAT程序。

文件最终的CS Beacon关键配置信息如下:

87eb6fa9-dcad-4bd2-be1a-76d932b089eb.png-w331s

CS Beacon 配置信息

从Metadata元数据中可发现其HTTP Header围绕dhgate相关进行伪造。

  • Host: www.dhgate.com
  • Host: shoppingcart.dhgate.com

Dhgate(敦煌网)是一家国内的跨境小额外贸B2B电商平台,由世纪富轩科技发展有限公司运营,名字来源于丝绸之路重镇敦煌市。

4.IOC

  • 38e227fa505dfcf5ccda226eb81c97ad

  • 2bc84a0b16d76ffa04acd3ee423cad8dbe6b4fcc

  • acf612349fb6ee5d88e2a7da3d39afb3e0699a4ad95ab6a5ff708353498ce76d

  • f3a79156daa75a2c09c46309f68c3de7

  • c42e5fd854a1d5556bf1f26e50143dfccc2acc55

  • b05693f7a6b1f3d323ae65ca2e77115ff8d9ed233c9f192a49d4bbdea7d6be7d

  • dd502ea523877af9d4b819c17b4079a8

  • 0bc0dd0e6ece375decaa858702c7df5f17c11f58

  • db0e5a869b63f4ee5ce17e58a35b42ecb9889f9ab4fb7d2d591ff029a0363751

  • 08efe8c1385e8f77a510aced92392afb

  • 8ee66b0f2b08e35c845d38164969072a8a22a87b

  • 0241b90dff6b2c76bcae2c50ff1b4a1d8957ffedd6b316ec9d4f0d454748959b

5.关联分析

根据公开报告(链接如下),可以得知 APT29 也使用BMW汽车购买相关主题文档攻击过多国外交官。

aae2f573-98dc-45a7-a09a-6562ca74b257.png-w331s

木马加载流程如下:Html -> iso -> link->恶意dll文件->shellcode,其中link文件到恶意dll加载shellcode部分与此次攻击非常类似。


Paper 本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/3078/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK