0x00 背景介绍
摩诃草组织(APT-C-09),又称HangOver、Patchwork、Dropping Elephant以及白象。该组织归属南亚某国,主要针对中国、巴基斯坦等亚洲国家和地区进行网络间谍活动,也逐渐将渗透目标蔓延至欧洲和中东等地。
近些年该组织持续活跃,在近期的攻击事件中,该组织向攻击目标的邮件系统投递包括”民政部公布一批非法社会组织”、“2018最新部队工资调整政策”、”Chinas Arctic Dream”、”PLA Deployment Revealed”为主题的鱼叉邮件。360威胁情报中心相继发布《摩诃草APT组织针对我国敏感机构最新的网络攻击活动分析》、《多个疑似“摩诃草”团伙来源定向攻击的关联分析》等分析文章对该组织的攻击活动过程和细节进行揭露。
9月中上旬,360 CERT在处理恶意样本时发现一例疑似摩诃草组织的攻击样本。该样本C2指向filepiece.com。本着小心求证的态度,我们一直在查证域名的相关信息,观察相关网络请求变化。到目前为止,我们没有关联到与该域名相关的更多恶意样本,也没有查询到开源情报对该域名进行标记。我们判定,这是摩诃草组织一个新的,准备或正在投入使用的域名资产。
0x01 核心样本分析
该样本是一个Dropper。属于攻击链条的中间环节。其主要功能是获取目标对象的用户名、计算机名等基础信息。将这些基础信息编码后回传C2服务器,并从C2服务器下载下一阶段攻击载荷继续执行。并设置开启自启动。
1.1 基本信息
1.2 加/解密字符串
解密字符串
样本中关键字符串经过加密处理,解密的Key为:dc67f@#$%hlsdfg
关键解密算法如下:
解密的字符串及其用途如下表所示:
加密字符串
样本获取系统信息之后对User name and System Name :- [UserName]_[ComputerName]字符串加密存储在Insertion.log文件中,然后读取加密内容回传C2。
关键加密算法如下:
1.3 关键流程
- 1.样本首先在StartUp目录创建memory optimizer.lnk快捷方式实现自启动。
- 2.样本创建Restore.txt文件并随机填写标识主机的字符串ID。
- 3.样本创建Insertion.log文件并加密写入用户名和计算机名信息。
- 4.最后将获取的基础信息回传C2并下载下一阶段攻击载荷执行。
1.4 获取系统信息
以下显示1.3节中的第三步,样本获取系统信息并持久化存储在文件中。
1.5 网络参数和Content-type
以下显示1.3节中的第四步,样本解密C2参数和Content-type并连接C2服务器。
1.6 数据回传和指令接收
样本与C2服务器建立连接,将获取系统信息的加密数据发送给C2服务器并接收响应。
0x02 关联分析
通过样本功能和代码结构的对比,我们确认该样本与摩诃草组织今年5月的攻击样本属于同源样本。这里我们选择一个已经被360威胁情报中心和Cisco Talos研究团队定性的样本(MD5:F9AD3D4C90528E654DE20159859CA15B)进行关联对比。我们将从解密Key,解密算法以及抽取部分关键代码结构进行对比证实推测。
2.1 使用Bindiff对比代码相似度
排除已知的框架代码,我们通过使用Bindiff对比发现两者代码相似度极高。
2.2 解密Key相同
和定性的摩诃草样本解密Key同为:dc67f@#$%hlsdfg
2.3 解密算法相同
和定性的摩诃草样本具有相同的解密算法。
2.4 关键代码结构相同
和定性的摩诃草样本关键功能代码结构相同。
2.5 HTTP请求对比
两者HTTP请求路径和参数结构上相似。对于techwach.com域名,各安全厂商已经确认该域名与摩诃草组织和Bahamut组织存在关联(详细分析参见文末链接)。
该样本的HTTP请求为:
hxxp://filepiece.com/Danglingpointer/refrences.php?bertg=
定性样本的HTTP请求为:
hxxp://techwach.com/Beastwithtwobacks/Barkingupthewrongtree.php?bb=
Beast with two backs隐喻两个从事性交的人。Barking Up The Wrong Tree描述一个人在寻找事情发生的缘由时捕风捉影,找错了原因,攻击错了对象。dangling pointer为计算机术语,表示悬垂指针。从这些字符串我们推测摩诃草组织成员掌握着地道的英文,可能是其母语(之一)。
0x03 filepiece.com域名分析
该域名在本次攻击中作为C2域名使用。以下我们分析该域名的一些基础信息以及历史解析记录。根据我们持续的跟踪,该域名在9月25日主页解析产生变化。由于主机空间提示信息路由地址尚存在,表明该域名正受到控制,也正在被使用。
3.1 域名基本信息
该样本对hxxp://filepiece.com/Danglingpointer/refrences.php?bertg=进行了GET和POST操作。
- Domin:filepiece.com
- IP:185.15.208.81
- Port:80
3.2 域名开放端口
经过查询该域名开发了一些常见端口:
- 53: dns
- 80: web
- 443: ssl web
- 143: imap
- 993: imap ssl
3.3 域名解析记录
从解析时间上来看,域名解析初始2017年12月13日至今。该域名上一次解析截至到2017年01月20日,空白了一年的时间。由此我们判断该域名是攻击组织新的域名资产。该组织使用该域名至今,尚无IP和解析变化。
近一年的时间中,该域名在3月27日和5月31日分别有两次活动。我们推测是该组织进行的相关测试。这段期间域名的解析非常安静。5月的活动规模稍大一些但也只解析了A记录12次。
从主页内容上显示近日该C2页面可能改变了代理规则。9月中旬主页显示信息如下:
9月25日主页被设置为403 Forbidden
0x04 静态检测规则
我们结合样本中存在的源码编译路径和解密Key配合关键函数字节码编写同源样本的yara规则,共享给安全社区使用。
规则结合攻击组织、样本属性以及源码路径标识的工具字段命名。
rule APT_Patchwork_Dropper_AS_Retainer
{
meta:
author = "Khwarezmia"
organization = "360 CERT"
data = "Sept. 26, 2018"
description = "Delphi Dropper, According to the path, the key and a piece of byte-code to match the malware."
md5 = "F9AD3D4C90528E654DE20159859CA15B"
strings:
$header = "MZ"
$stringPath = "C:\\Users\\Admin\\Desktop\\AS-Retainer(3-01)\\Unit3.pas"
$stringKey = "dc67f@#$%hlsdfg" fullword
$hex_stringCode = {8B F0 85 F6 7E 36 BB 01 00 00 00 8B ?? ?? 8A 44 18 FF 88 45 ?? F6 45 ?? E0 74 15 8D 45 ??}
condition:
@header == 0 and uint32(uint32(0x3C)) == 0x00004550 and ((1 of ($string*)) and $hex_stringCode)
}
0x05 总结
对于此次样本分析中,我们首先从样本具体行为判断该样本是一个Dropper。属于攻击链条的中间一环,在样本成功连接C2并成功下载后续载荷后,后续载荷继续实施下一步攻击。根据该样本行为和代码特征与近期摩诃草组织的攻击样本高度匹配我们判断这是该组织最新的同样样本。该样本稍微变化的是不再对杀软进行检测,转而执行恶意功能前先检测沙箱。
除了代码极高的相似度,从域名上看,我们认为filepiece.com极有可能是模仿fieldpiece.com的钓鱼站点。这与摩诃草组织曾使用rannd.org模仿rand.org的行为不谋而合。
到目前为止,样本连接的C2域名鲜有解析记录,也没有跟任何其它恶意样本关联。虽然域名能够正常解析,却不能下载后续攻击载荷。根据以上几点,我们猜测该域名是一个摩诃草组织新的正在或者准备发起攻击的域名资产。
0x06 IOCs
6.1 Domin
- filepiece.com
- techwach.com
6.2 MD5
- 2C3B9984BE2D8609F83D10171A4F1059
- F9AD3D4C90528E654DE20159859CA15B
6.3 Key
- dc67f@#$%hlsdfg
6.4 Path
- C:\Users\Admin\Desktop\AS-Retainer(3-01)\Unit3.pas
0x07 时间线
2018-06-12 talos发布报告
2018-07-27 360威胁情报中心发布报告
2018-09-06 360CERT捕获新样本
2018-09-27 360CERT完成本次报告发布