Patchwork APT组织针对某医疗卫生机构相关人员攻击活动分析

 

作者:安恒威胁情报中心-猎影实验室

事件背景

Patchwork(白象、摩诃草、APT-C-09、Dropping Elephant)是一个疑似具有印度国家背景的APT组织,该组织长期针对中国、巴基斯坦等南亚地区国家的政府、医疗、科研等领域进行网络攻击窃密活动。

近期安恒威胁情报中心猎影实验室捕获到多个Patchwork组织攻击活动样本,本次样本主要通过鱼叉式钓鱼邮件进行传播,样本以“登记表”和“巴基斯坦国防官员住房登记表”等相关内容作为诱饵,最终释放“BADNEWS”后门程序进行窃密活动。

 

样本分析

样本一

初始样本是一个名为:“zhuce_erlingersan.rtf”的RTF文档,该文档包含CVE-2017-11882漏洞,执行后会在本地目录释放“BADNEWS”后门程序执行。

文件名称 zhuce_erlingersan.rtf
样本类型 Rich Text Format
文件大小 918.55 KB (940594 bytes)
MD5 f1f51717eb81e4df0632e20c8e455299

文档内容与某医疗卫生机构登记表相关

文档打开后会在ProgramData目录下释放名为“OneDrive.exe”的后门程序,该程序是Patchwork组织常用的“BADNEWS”后门。运行后会首先通过长循环进行反沙箱操作:

创建名为“

asssszzcccjddddddjjjddssdfgredf”的互斥体对象保证自身单实例运行:

然后通过-1运算解密出动态库名称与UserAgent等字符串数据:

随后获取用户名、IP地址、系统版本等数据拼接后上传给C2服务器:

各字段内容解析如下:

字段 内容
uuid 用户标识
un 用户名称
cn 主机名称
on 系统版本
lan IP 地址
nop 字段为空
ver 后门版本

然后进入消息循环,通过硬编码的C2地址“104.143.36[.]19”配合如下URL路径与远程服务器进行通讯:

URL 描述
//e3e7e71a0b28b5e96cc492e636722f73//4sVKAOvu3D//ABDYot0NxyG.php 上线数据包
//e3e7e71a0b28b5e96cc492e636722f73//4sVKAOvu3D//UYEfgEpXAOE.php 指令数据包

根据C2服务器返回指令执行不同操作:

C2指令功能如下所示:

指令 功能描述
0 结束后门
4 上传“edg499.dat”文件数据,重启后门程序
5 上传指定文件
8 上传键盘记录数据(TPX498.dat)
13 上传“AdbFle.tmp”文件数据
23 上传屏幕截图数据(TPX499.dat)
33 下载指定文件执行

样本二

与样本一类似该样本同样是一个名为:“EOIForm.rtf”的RTF文档,执行后会在本地目录释放多个文件以执行恶意操作。文档内容与巴基斯坦国防官员住房登记相关,由此推测相关人员是本次攻击活动的主要目标。

文件名称 EOIForm.rtf
样本类型 Rich Text Format
文件大小 2.45 MB (2571442 bytes)
MD5 c82823618b6d13d6540caecb4aef97bb

文档内容如下所示:

该文档打开后会在“ProgramData”目录下释放多个隐藏属性的文件用于执行恶意操作。

名称 MD5 描述
jli.dll 8c095479d9beba9ed56bb8d95861686d 后门文件
msvcr71.dll 86f1895ae8c5e8b17d99ece768a70732 系统库文件
OneDrive.exe ba79f3d12d455284011f114e3452a163 带有数字签名的“java-rmi.exe”白文件

OneDrive.exe是一个带有数字签名的java白文件,执行后会侧加载同目录下的jli.dll后门文件:

jli.dll是BADNEWS”后门程序变种,该文件保留了PDB路径信息:“E:\\new_ops\\jlitest __change_ops -29no – Copy\\Release\\jlitest.pdb”。并且包含了多个导出函数,而每个导出函数都执行同一段恶意代码:

恶意代码执行后会首先创建名为:“run”的互斥体对象,以此保证自身单实例运行。然后创建“%AppData%\MicrosoftUpdate”工作目录,用于保存后续恶意操作产生的屏幕截图等文件。

然后新建线程进行键盘记录,并将获取到的用户输入数据保存到“%Temp%\TPX498.dat”文件中。文件以指定的“KLTNM:”字符串开头,后面跟着当前系统的键盘代码标识。

然后通过wmi接口获取系统uuid、os等信息后,加密发送给C2服务器:“uuid=%s&user=%s&atcomp=%s&os=%s”

C2回连域名“bgre.kozow[.]com”则以硬编码的方式存储在代码中:

C2服务器接收到上线数据包后,会通过下发指令执行其它恶意操作:

C2指令与功能描述:

C2指令 功能描述
Case1 通过“dir”指令,遍历指定目录下的所有文件,将结果保存到“flst.txt”文件,加密后上传到C2服务器。
Case2 下载加密文件,解密后执行。然后将“i6ofg.dat”文件中的数据加密后上传到C2服务器。
Case3 未知
Case4 读取指定文件数据,加密后上传到C2服务器。
Case6 保存屏幕截图到%Time%.jpg,加密后上传到C2服务器。
Case7 读取“TPX498.dat”键盘记录文件中的数据,加密后上传到C2服务器。
Case12 通过“dir”指令,遍历“MicrosoftUpdate”工作目录下的所有文件,将结果保存到“flst.txt”文件,加密后上传到C2服务器。结束进程。
Case13 未知

所有上传的数据都以如下格式进行拼接:

(完)