返回 TI 主页

团伙背景

摩诃草,又名Patchwork、白象、Hangover、Dropping Elephant等,奇安信内部跟踪编号APT-Q-36。该组织被普遍认为具有南亚地区背景,其最早攻击活动可追溯到2009年11月,已持续活跃10余年。该组织主要针对亚洲地区的国家进行网络间谍活动,攻击目标包括政府、军事、电力、工业、科研教育、外交和经济等领域的组织机构。


事件概述

近期,奇安信威胁情报中心在日常样本跟踪分析过程中,发现一批与摩诃草存在关联的恶意样本,攻击者使用的后门并非摩诃草组织此前常用的木马。无独有偶,国外安全研究人员也发现了其中几个样本 [1],根据C2服务器登录界面的信息将该后门命名为Spyder,并指出样本与WarHawk后门存在相似之处。后者由Zscaler在去年10月发布的报告 [2]中披露,被认为是南亚另一个APT组织响尾蛇(Sidewinder)的攻击武器。

根据Spyder后门早期样本使用的数字签名和以此关联到的Remcos木马样本,我们更倾向于认为背后的攻击团伙是摩诃草。此外我们由攻击者使用的一个IP发现了另一款用C#编写的轻量级后门。


详细分析

捕获到的Spyder样本基本信息如下:

- - - -
MD5 创建时间 数字签名 文件名称
eb9068161baa5842b40d5565130526b9 2023-04-09 19:36:29 UTC LIST OF SIGNAL ADDRESSES, CALL SIGN 10 Apr 2023.exe
87d94635372b874f18acb3af7c340357 2023-04-13 09:20:42 UTC PN SHIP OVERSEAS DEPLOYMENT PLAN TO FAR EAST CHINA.exe
1fa3f364bcd02433bc0f4d3113714f16 2023-04-30 17:34:16 UTC Rocket Launch System THE UPDT LIST OF MLRS PROB-.exe
1f599f9ab4ce3da3c2b47b76d9f88850 2023-06-07 07:24:01 UTC Read-Me New Naxal VPN Configration Settings.exe
53b3a018d1a4d935ea7dd7431374caf1 2023-06-13 09:22:05 UTC Read-Me New Naxal VPN Configration Settings.exe
1f4b225813616fbb087ae211e9805baf 2023-06-13 09:22:05 UTC BAF Operations Report CamScannerDocument.exe

上述样本均以Word、Excel、PDF等文档图标进行伪装。按照样本大小、创建时间和代码相似性,可以分为原始版(4月样本)和新版(6月样本)两类,新版相比原始版的代码进行了部分改动。结合样本名称、VT上传地和样本中的配置信息,Spyder后门的攻击目标包括中国、巴基斯坦、尼泊尔警察局、孟加拉国空军。


Spyder新版

6月攻击样本几乎一样,包括C2信息,仅部分配置数据不同。以下面样本为例进行分析。

- - -
MD5 1f599f9ab4ce3da3c2b47b76d9f88850
文件大小 380928字节 (372.00 KB)
文件类型 PE32 EXE

首先获取文件资源"FONTS"类别下"TRUETYPE"中的数据,用"ROUND9"作为异或解密的key,解密得到一系列配置数据。

解密得到的数据部分如下所示,包括后门agent代号(配置数据中最开始的4字节,数值为“3”)、互斥量名称和C2通信URL。

除了从配置数据中获得关键字符串,后门还常用如下异或的方式解密所需字符串。

调用CreateMutexA创建互斥量之后,后门开始收集感染设备相关信息,收集的信息以及获取方式分别如下:

- -
信息类型 获取方式
Machine GUID 查询注册表HKLM\SOFTWARE\Microsoft\Cryptography中MachineGuid的数据
主机名 调用GetComputerNameExW
用户名 调用GetUserNameW
系统版本 查询注册表HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion中ProductName的数据
系统位数 调用GetNativeSystemInfo
杀软信息 WMI查询root\SecurityCenter2中数据
Profile 从资源区解密的配置数据中获取
Mail 从资源区解密的配置数据中获取

使用Base64编码的变体Y64对上面信息分别进行编码。

向用于C2通信的URL("hxxp://plainboardssixty.com/drive/bottom.php")发送POST请求,回传信息为Machine GUID和配置数据中的邮箱名。如果响应为"1",则直接进入休眠状态。

将当前文件复制为用户"C:\Users\[user_name]\AppData\Roaming"目录下的DllHostcache文件,创建一系列计划任务,运行时间为第二天指定时间。

回传之前收集的信息。

- -
字段名称 含义
hwid Machine GUID
username 用户名
compname 主机名
osname 系统版本
arch 系统位数
av 杀软信息
agent 配置数据中的后门agent代号(数值为“3”)
profile 配置数据中的profile信息
mail 配置数据中的邮箱名

然后进入while循环,每次循环首先从配置数据中的另一个URL "hxxp://plainboardssixty.com/drive/chilli.php"下载文件保存在Startup目录中,如果下载成功则运行该文件。

之后与C2进行多次交互,下载后续载荷并运行,交互过程如下。

(1) 获取指令

向C2发送"hwid=%s&deploy=1",获取返回指令。后门提供的指令只有字符"1","2","3"三种,三种指令功能均为获取后续载荷并运行。

(2) 获取包含后续载荷的压缩包名称和解压密码

选择具体指令后,向C2发送"hwid=%s&deploy=%d&bakmout=1",hwid字段仍为编码后的Machine GUID,而deploy字段对应所选指令数字。

此次响应消息为JSON字符串,包含name和pass两个字段,分别对应压缩包名称和解压密码。

(3) 下载压缩包并解压执行

下载URL为"hxxp://plainboardssixty.com/drive/[name].zip"的压缩包,以pass字段保存的密码解压。下载的压缩包和解压出的文件均保存在"C:\Users\[user_name]\AppData\Local"目录中,接着运行解压得到的文件。

(4) 通知C2操作结束

向C2发送"hwid=%s&deploy=0",表示已运行下载的载荷,删除下载的压缩包,休眠2s后进入下一次循环。

后门指令详细说明如下。

- -
指令 说明
"1" 下载压缩包的本地保存名称为slr.zip,压缩包中1.bin文件解压保存为slb.dll,通过rundll32运行该DLL的导出函数CreateInterfaace。
"2" 下载压缩包的本地保存名称为slr_2.zip,压缩包中2.bin文件解压保存为sihost.exe,运行该EXE文件。
"3" 下载压缩包的本地保存名称为slr_3.zip,压缩包中3.bin文件解压保存为secd.exe,运行该EXE文件。
其他 无操作

6月另外两个样本与上述样本几乎一样,不同之处在于:

(1) 配置数据中的互斥量、profile和email的名称不同;

(2) 循环开始时从hxxp://plainboardssixty.com/drive/chilli.php下载文件的保存名称为gameinput.exe;

(3) 指令"2"和"3"释放文件保存名称分别为"Microsoft.Web.PageInspector.exe"和"DocumentFormat.OpenXml.exe",保存在"AppData\Local"的"Microsoft.Web"子目录下。


Spyder原始版

4月的原始版样本与6月的新版样本之间的差异不大,主要不同之处在以下几个方面:

(1) 配置用的关键字符串在初始化函数中异或解密,而不是像新版样本从资源区解密得到;

(2) 在创建一系列计划任务和回传收集的信息之前,没有与C2交互并根据响应选择是否休眠的操作;

(3) 与C2通信的循环开始时,没有从另一个额外的URL下载载荷并执行;

(4) 虽然两个版本的样本回传信息的格式一致,但是原始版本中的profile只是代号,mail没有邮箱名,不像新版中具有明确的指向。

4月样本的配置数据如下所示。

- -
MD5 eb9068161baa5842b40d5565130526b9
C2 (通信) hxxp://gclouddrives.com/spyder/smile.php
(下载) hxxp://gclouddrives.com/spyder/[name].zip
profile TS-001
mail N
- -
MD5 87d94635372b874f18acb3af7c340357
C2 (通信) hxxp://alibababackupcloud.com/spyder/smile.php
(下载) hxxp://alibababackupcloud.com/spyder/[name].zip
profile TS-002
mail N
- -
MD5 1fa3f364bcd02433bc0f4d3113714f16
C2 (通信) hxxp://cloudplatfromservice.one/cpidr/balloon.php
(下载) hxxp://cloudplatfromservice.one/cpidr/[name].zip
__profile __ TS-004
mail N

值得注意的是,早期样本的C2路径中也出现了"spyder"字符串,而且样本中的profile均为"TS-"格式,中间缺失的代号意味着4月的攻击很可能还有其他受害者。


与WarHawk的比较

Spyder与Zscaler披露的WarHawk后门 [2]存在一些相似之处,但后门指令对应的操作有较大差别。


1. 相似之处

(1) 向C2发送POST请求的函数相似,且使用的User Agent相同。

(2) 收集的设备信息相似,并且均以hwid(即Machine GUID)作为C2通信中的受害者标识。

(3) 两者的C2指令均以数字字符区分不同操作,且下发的C2指令均存在JSON格式的字符串。


2. 差异

两种后门的差别体现在后门指令的分发形式和具体功能上。WarHawk后门在指令循环中依次调用实现每种指令功能的函数,各个函数首先询问C2是否进行该操作,然后根据C2服务器的回复选择执行或者跳过。下图为WarHawk后门的相关代码。

WarHawk后门支持的功能包括下载并执行后续载荷、命令执行、文件信息收集回传、下载文件。而Spyder后门的功能集中在下载并执行后续载荷。


溯源关联

归属

Spyder后门早期样本(MD5: eb9068161baa5842b40d5565130526b9)带有的数字签名"Integrated Plotting Solutions Limited"也被摩诃草的其他样本使用过。

此外,根据另一个Spyder后门样本(MD5: 87d94635372b874f18acb3af7c340357)使用的数字签名"HILLFOOT DEVELOPMENTS (UK) LTD."关联到一个Remcos木马样本。

- -
文件名 smss.exe
MD5 acbae6919c9ce41f45ce0d1a3f3fedd4
创建时间 2023-04-17 15:47:39 UTC
数字签名时间 2023-04-18 07:24:00 UTC
文件大小 1026840字节 (1002.77 KB)

该样本首先创建一系列计划任务,做法与Spyder后门相似。

然后解密出Remcos木马的PE文件数据,内存加载执行。

而摩诃草组织在此前的攻击活动中也常用Remcos木马。综合以上线索,我们认为Spyder后门攻击活动背后的团伙很可能是摩诃草。


其他关联样本

上述Remcos木马样本的C2为192[.]169.7.142:80。

关联到另一个样本与该IP通信,为C#编写的轻量级后门。

- -
文件名 -
MD5 e3b37459489a863351d855e594df93bf
创建时间 2075-03-07 02:18:38 UTC
VT上传时间 2023-05-26 20:26:23 UTC
文件大小 17408字节 (17.00 KB)

Config数据如下,与C2服务器通信的URL格式为"hxxps://192.169.7.142:4546/search?q=search[<host_name>"。

Main_Load函数中调用Fetch和Reply方法实现简单的后门功能。

Fetch方法通过GET请求从C2服务器获取指令数据,然后对获取数据进行处理,包括逆序、GZ解压、消除字符串"XXPADDINGXXPADDINGXXPADDINGXX"。创建cmd.exe进程,代码页设置为437,执行上述处理后的指令数据。

Reply方法将cmd.exe进程执行命令的结果处理后,通过POST请求发送给C2服务器。处理过程为添加字符串"XXPADDINGXXPADDINGXXPADDINGXX"、GZ压缩、逆序。

该轻量后门功能极其简单,很可能是在攻击过程中结合其他恶意软件使用。

更进一步,我们发现该C#后门还有其他样本也上传到VT,实现代码略有不同。

- -
文件名 not_default_config.exe
MD5 4a25a52244f3360b0fffd0d752833bf1
创建时间 2098-11-29 07:58:55 UTC
VT上传时间 2023-05-09 10:01:52 UTC
文件大小 56320字节 (55.00 KB)

配置数据中C2服务器为内网IP,意味着该样本可能是测试版本。


总结

南亚地区的多个APT组织之间存在千丝万缕的联系,此次攻击多国目标的Spyder后门就是一个例子。它与此前披露的响尾蛇组织WarHawk后门存在不少相似之处,而根据早期样本的数字证书和关联的Remcos木马样本,Spyder后门更可能是出自摩诃草之手。此外,我们通过攻击者使用的基础设施还发现了其他后门,以上迹象表明攻击者在不断地扩充自己的武器库。


防护建议

奇安信威胁情报中心提醒广大用户,谨防钓鱼攻击,切勿打开社交媒体分享的来历不明的链接,不点击执行未知来源的邮件附件,不运行标题夸张的未知文件,不安装非正规途径来源的APP。做到及时备份重要文件,更新安装补丁。

若需运行,安装来历不明的应用,可先通过奇安信威胁情报文件深度分析平台(https://sandbox.ti.qianxin.com/sandbox/page)进行判别。目前已支持包括Windows、安卓平台在内的多种格式文件深度分析。

目前,基于奇安信威胁情报中心的威胁情报数据的全线产品,包括奇安信威胁情报平台(TIP)、天擎、天眼高级威胁检测系统、奇安信NGSOC、奇安信态势感知等,都已经支持对此类攻击的精确检测。


IOC

MD5

(Spyder)

eb9068161baa5842b40d5565130526b9

87d94635372b874f18acb3af7c340357

1fa3f364bcd02433bc0f4d3113714f16

1f599f9ab4ce3da3c2b47b76d9f88850

53b3a018d1a4d935ea7dd7431374caf1

1f4b225813616fbb087ae211e9805baf

(Remcos)

acbae6919c9ce41f45ce0d1a3f3fedd4

(C#后门)

e3b37459489a863351d855e594df93bf

4a25a52244f3360b0fffd0d752833bf1


C&C

plainboardssixty.com

gclouddrives.com

alibababackupcloud.com

cloudplatfromservice.one

192[.]169.7.142:80

192[.]169.7.142:4546


URL

hxxp://plainboardssixty.com/drive/

hxxp://gclouddrives.com/spyder/

hxxp://alibababackupcloud.com/spyder/

hxxp://cloudplatfromservice.one/cpidr/

hxxps://192.169.7.142:4546/search?q=search[<host_name>

参考链接

[1]. https://twitter.com/Axel_F5/status/1669794530592170001

[2]. https://www.zscaler.com/blogs/security-research/warhawk-new-backdoor-arsenal-sidewinder-apt-group-0

摩诃草 SPYDER WARHAWK