VenusEye首页 > 资讯列表 >“SIDEWINDER”APT攻击样本分析报告

“SIDEWINDER”APT攻击样本分析报告 2019-10-14    启明星辰金睛安全研究团队

一、  基本信息

1.1  样本基本信息

样本一:

样本名:zhengce.doc

MD5:bfad291d000b56ddd8a331d7283685b2

样本二:

样本名:xiangshan_update.doc

MD5:7a919f65d74169acf29f5fb017968bf1

1.2  主要执行流程描述

 

 

二、  关键技术概览(必需)

 

2.1  关键技术一:漏洞利用

CVE-2017-11882

2.2 关键技术二:白加黑利用

使用系统文件Cwrite.exe dll劫持执行PROPSYS.dll

2.3 关键技术三:无文件技术

1.样本使用托管执行JS脚本
2.使用C#内存执行恶意代码

三、 详细分析(必需)

3.1  原始样本分析

原始样本为rtf格式的文件,经过多引擎检测,文档使用了CVE-2017-11882漏洞

使用oletools查看并提取出ole对象,共有两个ole对象,其中package会被默认释放到Temp文件夹下,会被命名为1.a,而Equation.3作为OLE对象触发公式编辑器CVE-2017-11882漏洞

其中1.a为Javascript代码

CVE-2017-11882漏洞所触发执行的shellcode较短,在最后会调用RunHTMLApplication,这个函数常被用于执行JS脚本代码,但是在这里并未借助于rundll32.exe这个系统进程执行,而是直接在shellcode代码中直接调用JS脚本的方式

RunHTMLApplication函数的参数参由函数本身使用GetCommandLine自行获取

在调用RunHTMLApplication之前,shellcode就已经在内存当中异或0x12解密出了当前进程的命令行字符串

这里执行的JS脚本代码的作用就是读取1.a的所有JS代码并执行

3.2  第一阶段1.a分析

1.a是Javascript的脚本代码,首先隐藏了窗口

检查当前.NET环境版本,设置环境变量以强制使用2.0/4.0的C#语言编译器

将shellcode解密后存放到内存流之中

解密之后的数据就是一个C#编写的PE文件,这个dll名字为StInstaller.dll,然后使用托管调用的方式,使用函数创建Program类实例,然后调用类的Work方法,传入了3个加密的参数

3.3  第二阶段StInstaller.dll分析

这个dll是一个C#程序,Work函数整体结构如下

在函数中首先通过解密出3个关键字符串,分别为目录域名和注册表键值名

C:\ProgramData\AuthyFiles目录下拷贝一个系统文件write.exe,并在注册表项中添加自启动

将之前传入的x、y参数进行base64解密后再修改部分数据,将数据以文件形式放入AuthyFiles目录下,其中x解密后变为PROPSYS.dll,y解密后变为随机名字的.tmp文件,write.exe为系统文件,最后执行write.exe,利用白加黑执行恶意文件。

3.4  第三阶段白加黑分析

首先write.exe加载PROPSYS.dll,PROPSYS.dll获取.tmp文件的内容进行解密,解密的方式为使用tmp文件的前32字节作为密钥做异或解密,然后调用解密后的代码

3.5  第四阶段.tmp文件分析

这是名为SystemApp.dll的恶意dll,整个恶意程序的主要功能都在这个dll之中,关键结构如下,主要功能就是窃取信息以及接收C&C命令

从名为Default的资源中解密出配置数据,解密方式同样使用前32字节作为密钥,解密出的数据包括路径信息、URL信息、窃取文件类型等重要信息,将配置内容加密后存入到Authy

接下来会在C:\Users\用户\AppData\Roaming\AuthyDat目录下生成3个文件,文件名随机生成,用来将接下来窃取的数据写入这3个文件当中

Sif文件主要用来收集当前用户权限、用户信息、桌面文件信息、硬盘驱动器信息、安装软件信息等

Flc文件主要遍历所有驱动器的目录,包括驱动器类型、大小、剩余空间等,所有目录名字、属性、创建时间、修改时间等,以及之前列举的文档文件名字、属性、路径、时间信息等

接下来似乎是判断系统中是否安装中文语音播报功能,并将收集的结果写入到flc文件当中

最后执行两个计时器函数,函数延迟5s后执行,第一个计时器函数用来从URL下载数据,解密执行

第二个计时器函数用来回传文件,发送之前收集的.sif/.flc/.fls以及发生错误生成的.err日志

四、 ATT&CK

T1193:Spearphishing Attachment

T1203:Exploitation for Client Execution

T1060:Registry Run Keys / Startup Folder

T1038:Application Shimming

T1116:Code Signing

T1073:DLL Side-Loading

T1143:Hidden Window

T1083:File and Directory Discovery

T1082:System Information Discovery

T11005: Data from Local System

T1032:Standard Cryptographic Protocol

五、 关联方法

5.1  代码特征关联

此次样本使用CVE-2017-11882与RunHTMLApplication技术相结合的技术,这种技术与曾披露出的响尾蛇样本一致(https://www.freebuf.com/articles/paper/172628.html

StInstall.dll的代码逻辑与19年2月的样本极其相似

5.2  IOC关联

本次样本的URL为trans-can.net,经各引擎查询,这是已被披漏的响尾蛇资产

 

六、 解决方案

6.1  流量检测特征添加原理

本次样本流量使用SSL加密,故暂时无法提取流量特征

6.2  IOC信息

IOC:bfad291d000b56ddd8a331d7283685b2

9617384CFE4BF722144FE7D80C5FB10E

0FE01E6A62AED9238155710F0F4B811D

A8062547159B820DDBBEAA32EF933F10

Trans-can.net

 

七、 参考链接

原始推文:

https://twitter.com/Timele9527/status/1182587382626996224

文档链接:

https://www.freebuf.com/articles/paper/172628.html

https://s.tencent.com/research/report/659.html