概述
瑞星威胁情报平台于5月25日捕获了两起疑似和威胁组织Patchwork相关的攻击事件。两起攻击事件除了诱饵文档内容不同,其他相关的攻击战术,过程等基本一致,最终都是在受害者机器上释放同一种远控木马。攻击者可能利用钓鱼邮件等方式向目标分发此类带CVE-2017-11882漏洞的诱饵文档,当成功诱使目标打开诱饵文档后,攻击者会利用文档漏洞执行一段shellcode,通过shellcode在目标系统内隐秘释放远控木马达到窃密和远控目的。
Patchwork是一个至少从2015年就开始进行网络攻击的APT组织,疑似来自印度。这个APT组织还有摩诃草、Dropping Elephant、Chinastrats、APT-C-09、Quilted Tiger和ATK 11等称谓。该组织主要是从事信息窃取和间谍活动,其针对的目标包含了中国,巴基斯坦、日本、英国和美国等多个国家,涉及的目标行业多为航空、国防、能源、金融、IT和政府等。
ATT&CK矩阵
| 战术 | 技术 | 具体行为 |
|---|---|---|
TA0001-初始访问 |
T1566-网络钓鱼 |
攻击者疑似使用钓鱼邮件投递恶意附件对受害者进行攻击 |
TA0002-执行 |
T1203-利用漏洞执行 |
使用了公式编辑器漏洞CVE-2017-11882 |
TA0002-执行 |
T1053-计划任务/作业 |
满足一定条件会创建名为WindowsUpdate的任务计划 |
TA0002-执行 |
T1204-用户执行 |
诱使用户点击恶意文档 |
TA0003-持久化 |
T1547-启动或登录自动执行 |
利用注册表自启动实现持久化 |
TA0003-持久化 |
T1053-计划任务/作业 |
创建名为WindowsUpdate的任务计划实现持久化 |
TA0005-防御规避 |
T1211-利用漏洞规避防御 |
使用了公式编辑器漏洞CVE-2017-11882 |
TA0005-防御规避 |
T1564-隐蔽组件 |
释放的恶意程序带有隐藏属性 |
TA0005-防御规避 |
T1553-颠覆信任控制 |
释放的恶意程序伪装成OneDrive主程序并且带有有效的代码签名 |
TA0005-防御规避 |
T1027-混淆过的文件或信息 |
上传的数据进行了RC4加密和base64编码 |
TA0011-指挥与控制 |
T1071-应用层协议 |
释放的恶意程序使用80端口上HTTP协议进行通信 |
TA0011-指挥与控制 |
T1132-数据编码 |
外传数据使用了base64编码 |
TA0011-指挥与控制 |
T1001-数据混淆 |
外传数据使用了RC4加密 |
TA0011-指挥与控制 |
T1105-文件传输工具 |
下载文件在受害者机器上执行 |
TA0010-外传信息 |
T1020-自动外传 |
自动发送收集到的受害者机器信息 |
TA0010-外传信息 |
T1041-通过C2通道外传 |
释放的恶意程序收发指令和外传数据使用同一通道 |
事件详情
这第一起攻击事件中,攻击者投递的诱饵文档名为Reduction of working days.rtf,内容是个与旁遮普政府劳动和人力资源部门相关的登记表,登记表内需要填写的内容包含姓名,CNIC编号,邮箱以及联系方式等隐私信息。因查询到这个诱饵文档上传所在地为巴基斯坦,猜测是针对巴基斯坦旁遮普政府。

这第二起攻击事件中,攻击者投递的诱饵文档名为Recruitment of officials on deputation basis2.rtf,内容是个与旁遮普政府规划与发展委员会总监督与评估总局相关的登记表,登记表内需要填写的内容包含姓名,CNIC编号,邮箱以及联系方式等隐私信息。因查询到这个诱饵文档上传所在地为巴基斯坦,猜测是针对巴基斯坦旁遮普政府。

攻击流程
瑞星威胁情报平台捕获的这两个样本攻击手法类似,都是利用CVE-2017-11882文档漏洞执行一段shellcode,利用shellcode来隐秘释放名为OneDrive.exe的窃密远控木马。

样本分析
漏洞文档分析
| 字段 | 内容 |
|---|---|
| 名称 | Reduction of working days.rtf |
| MD5 | CB50C0650B32911DAEB17217AC258AFE |
| 文件大小 | 1.25 MB (1308543 bytes) |
| 文件类型 | RTF |
| 病毒名 | Exploit.ShellCode/RTF!1.DA02 |
| 主要功能 | 利用CVE-2017-11882漏洞执行shellcode释放远控程序OneDrive.exe |
| 字段 | 内容 |
|---|---|
| 名称 | Recruitment of officials on deputation basis2.rtf |
| MD5 | 26991E42F4FA6DFAB84CFA886B4D51F0 |
| 文件大小 | 1.14 MB (1194286 bytes) |
| 文件类型 | RTF |
| 病毒名 | Exploit.ShellCode/RTF!1.DA02 |
| 主要功能 | 利用CVE-2017-11882漏洞执行shellcode释放远控程序OneDrive.exe |
以下分析以文档Reduction of working days.rtf为例。
攻击者向目标投递的恶意文档含有CVE-2017-11882漏洞,攻击者利用文档漏洞执行shellcode,shellcode的主要作用是在C:\ProgramData目录下释放名为OneDrive.exe的带隐藏属性和有效数字签名的远控木马。以下是关于shellcode的详细分析。

漏洞文档中Shellcode分析
查询系统进程是否存在avp.exe(Kaspersky卡巴斯基杀毒软件相关程序)和AvastSvc.exe(Avast!杀毒软件服务进程),如果不存在AvastSvc.exe,则首先创建OneDrive.exe,再通过注册表自启动实现OneDrive.exe持久化后,将OneDrive.exe执行起来。如果存在AvastSvc.exe,则先创建计划任务实现OneDrive.exe持久化,再创建OneDrive.exe并执行。以下是对两种情况的详细分析。

第一种情况:进程中存在AvastSvc.exe
首先创建名为WindowsUpdate的任务计划实现每隔1分钟启动C:\ProgramData\OneDrive.exe的操作。创建计划任务命令行:/c schtasks /create /sc minute /mo 1 /tn WindowsUpdate /tr C:\\ProgramData\\OneDrive.exe。

再在C:\ProgramData目录下创建带隐藏属性的空白文件OneDrive.exe

在数据中填充0x4D5A,复原得到完整的PE数据,再将完整的PE数据写入所创建的C:\ProgramData\OneDrive.exe中,最后启动C:\ProgramData\OneDrive.exe进程。

第二种情况:如果不存在AvastSvc.exe
首先在C:\ProgramData目录下创建带隐藏属性的空白文件OneDrive.exe。

在数据中填充0x4D5A,复原得到完整的PE数据,接着将完整的PE数据写入所创建的C:\ProgramData\OneDrive.exe中,再通过注册表HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run实现恶意程序C:\ProgramData\OneDrive.exe开机自启动,最后执行C:\ProgramData\OneDrive.exe。

OneDrive.exe分析
| 字段 | 内容 |
|---|---|
| 名称 | OneDrive.exe |
| MD5 | 729DD4604FDA4B19146D8F33509A43F6 |
| 文件大小 | 342.95 KB (351184 bytes) |
| 文件类型 | Win32 EXE |
| 病毒名 | Trojan.[Patchwork]JakyllHyde!1.C7FC |
| 主要功能 | 窃密,截图,执行cmd命令以及下发文件执行等操作 |
| 备注 | 带隐藏属性和有效的数字签名 |
OneDrive.exe是个远控木马,除了会自动收集目标信息外,还有下发文件执行,截屏以及执行cmd命令等远控功能,以下是关于该程序的详细分析。
释放的恶意程序OneDrive.exe带有正常的数字签名(签名人名称:5Y TECHNOLOGY LIMITED)。

利用WQL(WMI查询语言)SELECT * FROM Win32_ComputerSystemProduct查询计算机系统产品信息来获取UUID。

判断在%temp%目录下是否存在名为THYdbjks的文件,如果存在就跳过上传收集服务列表,进程列表和安装产品信息的操作,如果不存在就在%temp%目录下创建THYdbjks文本,并进行下述上传收集的服务列表,进程列表和安装产品信息的操作。

在目标机器上收集的信息包含服务列表,进程列表以及安装产品。攻击者将这些信息存入%temp%目录下的RTYgjfdg.sys文件中,再使用RC4算法加密RTYgjfdg.sys里的内容,将密文另存在%temp%下的RTYgjfdg文本中。通过POST方式向dayspringdesk.xyz/wfgkl/cvrkaf/xkj/test.php分批次加密传送RTYgjfdg内的密文,每次至多传送RTYgjfdg内1024字节的内容。传送的数据中除了RTYgjfdg内的密文还包含以下信息:
| 符号 | 信息 | 算法 |
|---|---|---|
| uuid | UUID | RC4 |
| fname | 存加密数据RTYgjfdg文本的位置 | RC4 BASE64 |
| fcat | 10 | RC4 |
| fsize | RTYgjfdg文本大小 | RC4 BASE64 |
| fdata | RTYgjfdg文本内容(至多1024字节) | RC4 BASE64 |
| Isping | 0 | 无 |
| Status | Online | 无 |
| found | 1 | 无 |
密文全部上传完后,再发送以下数据表示文件传输结束。
| 符号 | 信息 | 算法 |
|---|---|---|
| uuid | UUID | RC4 |
| fname | 存加密数据RTYgjfdg文本的位置 | RC4 BASE64 |
| fcat | 10 | RC4 |
| fsize | RTYgjfdg文本大小 | RC4 BASE64 |
| fdata | done,结束标志 | BASE64 |
| Isping | 0 | 无 |
| Status | Online | 无 |
| found | 1 | 无 |
| flag | done,结束标志 | 无 |
删除%temp%目录下的RTYgjfdg.sys和RTYgjfdg两个文本。

创建线程实现键盘记录,记录结果存在%temp%目录下的atapi.sys文件中。

收集本机DNS服务器信息和用户名。

通过POST方式向dayspringdesk.xyz/wfgkl/cvrkaf/xkj/test.php传送RC4加密后的本机DNS服务器信息和用户名。传送的数据中包含以下信息:
| 符号 | 信息 | 算法 |
|---|---|---|
| IP | 本机DNS服务器信息 | RC4 |
| User | 用户名 | RC4 |
| uuid | UUID | RC4 |
| Isping | 1 | RC4 |
接收和解析回传数据并进行相对应的远控操作。恶意程序中涉及远控操作的指令码有多个,功能主要包含屏幕截图、键盘记录、执行cmd命令、上传文件,下发程序并执行等。
| 指令码 | 功能 | 算法 | |
|---|---|---|---|
| 50 | 屏幕截图并加密上传 | BASE64、RC4 | |
| 51 | 退出程序 | ||
| 54 | 加密上传%temp%目录下的键盘记录文件atapi.sys里的内容 | BASE64、RC4 | |
| 55 | 执行指定的cmd命令并加密上传执行结果 | BASE64、RC4 | |
| 49 | 加密上传指定目录下的文件夹名及文件名 | BASE64、RC4 | |
| 53 | 加密上传指定文件内容 | BASE64、RC4 | |
| 52 | 下载Tgjdbkds.exe并执行 |
关联分析
关联的攻击事件中,攻击者也是利用带CVE-2017-11882漏洞的诱饵文档对目标进行攻击。诱饵文档名为zhuce_erlingersan.rtf,文档内容是个与中华人民共和国国家健康委员会相关的登记表,登记表中需要填写的内容包含姓名,地址出生日期,邮箱以及电话等隐私信息。当目标打开诱饵文档后,攻击者利用文档漏洞执行一段shellcode,从而在目标系统C:\ProgramData目录下释放的名为OneDrive.exe的窃密远控木马。两次攻击的攻击手法,过程等大致相同,猜测是和威胁组织Patchwork相关。

总结
APT攻击有着针对性强、组织严密、持续时间长、高隐蔽性和间接攻击的显著特征,针对的目标都是具有重大信息资产,如国家军事、情报、战略部门和影响国计民生的行业如金融、能源等,国内相关政府机构和企业单位务必要引起重视,加强防御措施。
预防措施
-
不打开可疑文件。
不打开未知来源的可疑的文件和邮件,防止社会工程学和钓鱼攻击。
-
部署网络安全态势感知、预警系统等网关安全产品。
网关安全产品可利用威胁情报追溯威胁行为轨迹,帮助用户进行威胁行为分析、定位威胁源和目的,追溯攻击的手段和路径,从源头解决网络威胁,最大范围内发现被攻击的节点,帮助企业更快响应和处理。
-
安装有效的杀毒软件,拦截查杀恶意文档和木马病毒。
杀毒软件可拦截恶意文档和木马病毒,如果用户不小心下载了恶意文件,杀毒软件可拦截查杀,阻止病毒运行,保护用户的终端安全。
瑞星ESM目前已经可以检出此次攻击事件的相关样本

- 及时修补系统补丁和重要软件的补丁。
沦陷信标(IOC)
-
MD5
CB50C0650B32911DAEB17217AC258AFE 26991E42F4FA6DFAB84CFA886B4D51F0 729DD4604FDA4B19146D8F33509A43F6 -
URL
hxxp://dayspringdesk[.]xyz/wfgkl/cvrkaf/xkj/test.php