作者:安恒威胁情报中心-猎影实验室
事件背景
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 | 未知 |
所有上传的数据都以如下格式进行拼接: