10月下旬APT组织Patchwork伪装巴基斯坦联邦税务局的鱼叉攻击活动

一、概述

近期,绿盟科技伏影实验室捕获了一封疑似针对巴基斯坦新能源、高新技术等重点企业的钓鱼文档。经过分析,伏影实验室确认该钓鱼文档来自APT组织Patchwork在今年10月份发动的鱼叉攻击活动,文档被伪装成带有巴基斯坦联邦税务局抬头的税收减免申请表,被用于窃取符合减税条件的国家重点企业员工的个人信息。

二、组织概要

Patchwork,又称为Dropping Elephant、APT-C-09或摩诃草,是一个具有印度背景的老牌APT组织。该组织通常以南亚焦点局势尤其是克什米尔地区冲突信息作为诱饵,对包括中国和巴基斯坦在内的印度邻国发动长期渗透攻势,积极收集各类政治、军事目标设施中的数据内容。

本年度Patchwork依然活跃,已发起多起针对中国和巴基斯坦的鱼叉攻击行动。

三、组件分析

3.1 钓鱼文档

该钓鱼文档名为“Special_Tax_Relief_Package.rtf_”,创建时间为2021年10月7日。文档打开后显示类似于税收减免申请表的内容,要求用户输入包括姓名、工作单位、出生日期、巴基斯坦身份证编号(CNIC)、邮件和电话号码等内容。该表格的抬头为巴基斯坦联邦税务局(Federal Board of Revenue Pakistan)。

图3.1 钓鱼文档诱饵内容

在巴基斯坦已公开的税收优惠政策(https://taxsummaries.pwc.com/pakistan/corporate/tax-credits-and-incentives)中,符合上述减税条件的行业包括新能源、物流、相关制造业以及“特殊技术区(STZ)”中的企业等。

该钓鱼文档内置了CVE-2017-11882漏洞利用代码,内置的ole对象可以触发Office应用中公式编辑器组件的栈溢出漏洞,从而执行指定的shellcode。

图3.2 ole对象中的漏洞利用载荷格式

3.2 shellcode

上述漏洞利用将触发两段shellcode。

shellcodeA的主要功能为通过栈地址计算得到shellcodeB的起始位置,并跳转至shellcodeB执行。

图3.3 ShellcodeA代码逻辑

shellcodeB的主要功能包括:

  1. 检测系统中是否存在名为avp.exe(Kaspersky主进程)或AvastSvc.exe(Avast主进程)的程序,若存在,则执行以下shell命令:

/c schtasks /create /sc minute /mo 1 /tn WindowsUpdate /tr

C:\ProgramData\OneDrive.exe

2. 在注册表自启动项中添加以下项和值:

图3.4 注册表中加入的自启动项

3. 提取shellcode尾部的一个PE文件,添加DOS魔术字0x4D0x5A后保存至C:\ProgramData\OneDrive.exe目录下。

shellcodeB释放的名为OneDrive.exe的程序是Patchwork常用的BADNEWS木马组件。

3.3 BADNEWS

该BADNEWS木马是旧版本木马的变种版本,主要作用依然是为攻击者提供基本的后门功能,包括键盘记录、截图、文件上传、cmd执行、程序下载和执行等。

该木马程序显示的创建时间为2021年10月6日,该时间与钓鱼文档的创建时间相近。

该木马程序带有一个无效的签名,显示名称为G DATA Software AG:

图3.5 BADNEWS木马签名

3.3.1 通信

该BADNEWS木马启动后,首先会向指定地址gert.kozow.com//e3e7e71a0b28b5e96cc492e636722f73//4sVKAOvu3D//BDyot0NxyG.php发送如下所示的POST请求:

图3.6 BADNEWS木马发送的POST信息

该POST流量中的正文部分包含加密数据,对应内容为宿主机基本信息。

此处加密逻辑包括以下三个步骤:

  1. aes-cbc-128加密,密钥为hex数据DD 18 76 84 82 03 D9 E1 0A BC EE C0 72 82 FF 37;
  2. base64转码;
  3. 在转码后字符串的固定位置嵌入“=”与“&”字符;

有趣的是,BADNEWS开发者可能是为了防止密文被破译,会在原始数据尾部加入长度为1至16之间的冗余数据,但由于具体实现中srand函数位于rand之后,因此首次通信时冗余数据长度恒定为12。

图3.7 加密函数中的冗余数据逻辑

由该特性,可以使用如下逻辑获得该数据的解密内容:

图3.8 加密数据解密逻辑

解密后的字符串是由多个键值对组成的格式化数据,每个键与内容的对应关系为:

uuid木马程序生成的ID,记录在%TEMP%\\9PT568.dat文件中
un用户名
cn计算机名
on操作系统版本
lan本机IP地址
nop
ver固定字符串”1.0″
表3.1 BADNEWS木马上传信息键值对照表

BADNEWS木马向CnC发送上述POST请求后,CnC将返回对应的指令字符串,控制BADNEWS木马的后续动作。

3.3.2 功能

通过解析CnC下发的指令字符串,BADNEWS木马可以执行以下对应的功能:

指令码功能
0退出
8上传%TEMP%\\TPX498.dat(键盘记录文件)
23上传%TEMP%\\TPX499.dat(截图文件)
13执行后续字符串中的cmd指令,并将运行结果保存为%TEMP%\\AdbFle.tmp并上传
4上传%TEMP%\\edg499.dat(对应文档类文件的列表)
5上传后续字符串中指定的文件
33下载后续字符串中指定的url中的文件并执行
表3.2 BADNEWS木马指令码功能对照表

上述功能中的上传路径为硬编码地址gert.kozow.com//e3e7e71a0b28b5e96cc492e636722f73//4sVKAOvu3D//UYEfgEpXAOE.php。

该木马的键盘记录功能比较完善,其生成的TPX498.dat文件会保存包括时间和窗口名称的详细日志:

图3.9 部分键盘日志内容

该功能结合钓鱼文档中的诱饵内容,可以实现对受害者个人信息的窃取。

四、总结

本次发现的鱼叉攻击活动,其直接目标为窃取巴基斯坦有价值群体的个人信息。该活动带有典型的Patchwork行为特征,包括相同的诱饵构造逻辑、漏洞利用构造逻辑与攻击组件等。

相较以往版本,本次出现的BADNEWS变种木马精简了CnC地址获取逻辑,通过降低行为的隐蔽度,使整体攻击流程更加直接和迅速。

版权声明

本站“技术博客”所有内容的版权持有者为绿盟科技集团股份有限公司(“绿盟科技”)。作为分享技术资讯的平台,绿盟科技期待与广大用户互动交流,并欢迎在标明出处(绿盟科技-技术博客)及网址的情形下,全文转发。
上述情形之外的任何使用形式,均需提前向绿盟科技(010-68438880-5462)申请版权授权。如擅自使用,绿盟科技保留追责权利。同时,如因擅自使用博客内容引发法律纠纷,由使用者自行承担全部法律责任,与绿盟科技无关。

Spread the word. Share this post!

Meet The Author

伏影实验室专注于安全威胁监测与对抗技术研究。
研究目标包括Botnet、APT高级威胁,DDoS对抗,WEB对抗,流行服务系统脆弱利用威胁、身份认证威胁,数字资产威胁,黑色产业威胁及新兴威胁。通过掌控现网威胁来识别风险,缓解威胁伤害,为威胁对抗提供决策支撑。

Leave Comment