TAG:响尾蛇、SideWinder、APT、驻华使馆、外交
TLP:白(使用及转发不受限制)
日期:2019-07-31
概要
近日微步在线威胁情报云捕获到一起用于定向攻击的恶意样本,经过分析关联发现,本次攻击的幕后团伙为具有印度背景的黑客组织响尾蛇(SideWinder),具体情况如下:
· 恶意样本以我国国防部国际合作部门发送的通知文件为饵,尝试利用CVE-2017-11882漏洞向他国驻华使馆人员投递远控木马,是一起典型的APT攻击活动。
· 木马文件使用白利用方式存放,经过多次内存装载执行最终实现具备数据上传、下载以及收集主机信息、特定文件等典型窃密功能。
· 微步在线监测发现,响尾蛇近期活动较为频繁,此次攻击事件从侧面反映出我国已成为该组织攻击目标之一。
· 微步在线通过对相关样本、IP和域名的溯源分析,共提取13条相关IOC,可用于威胁情报检测。微步在线的威胁情报平台(TIP)、威胁检测平台(TDP/TDPS)、OneDNS、API等均已支持此次攻击事件和组织的检测。
详情
2019年7月29日,微步在线威胁情报云捕获到一份名为“test.rtf”的可疑文档,经多引擎检测识别出该样本利用了CVE-2017-11882漏洞,并内嵌一个js代码文件的Package对象。样本执行后,触发漏洞,通过一段ROP链执行shellcode,shellcode初始化JS脚本执行环境,然后托管执行被释放到临时目录的Package对象1.a.。JS文件释放微软白利用组合文件,经过多重内存装载执行实现其窃密功能。使用的诱饵文档如下(部分信息已经打码):
样本分析
原始文件信息如下:
MD5 | 58de7c0df5bd677e1a3cdc099019015d |
SHA256 | 2309fd453e48241ed2305239750437df1317a256f40b0078fc1ec64bf1c2cfda |
文件大小 | 1.81 MB (1,903,666 字节) |
文件类型 | rtf |
样本攻击流程如下:
1 漏洞分析
提取rtf文档内嵌的ole对象。
共两个内嵌对象,一个通过package嵌入的js脚本文件(rtf文件打开时,会默认释放到%temp%目录,释放名称1.a),另一个是用于触发CVE-2017-11882漏洞的公式编辑器对象。
1.a文件是一段js编写的脚本,其中还夹带代码注释。
Equation 3.0对象如下:
漏洞触发后会执行一段shellcode,功能为加载脚本及shell执行环境,然后托管执行1.a文件。
2 第一阶段Loader分析
1.a的临时JS文件如下:
该脚本文件中编码了多个二进制文件(pe文件以及诱饵文档),采用多重内存加载技术逐步执行。
第一阶段的Loader程序,一个名为StInstaller.dll的C#程序,通过调用其Work函数、传入特定payload作为参数。反编译后结构如下:
work函数的功能是解密执行以及持久化的操作。
设置C:\ProgramData\AuthyFiles\write.exe开机启动。
注册表项:HKEY_USERS\S-1-5-21-3377920579-994514809-1288576981-1000\Software\Microsoft\Windows\CurrentVersion\Run
子项:Authy
值:C:\ProgramData\AuthyFiles\write.exe
将system32目录下的write.exe程序拷贝到C:\ProgramData\AuthyFiles目录下。然后通过传入的编码字符串解码出PROPSYS.dll、VwL0xj0.tmp(名称随机,该名称会被写入到PROPSYS.dll中)、write.exe.config,保存到C:\ProgramData\AuthyFiles目录下,最后启动write.exe。
解码过程中除了编码替换之外用到的加密算法如下。
循环使用0~31的递增8位数与待加解密数据的递增8位数异或。
3 白利用阶段分析
动态跟踪,释放文件如下:
write.exe是从system32下面拷贝过来的微软白文件,该程序加载同目录下的PROPSYS.dll恶意模块(该模块劫持了system32目录下的PROPSYS.dll)。PROPSYS.dll恶意模块为C#程序,在内置类初始化阶段会加载tmp文件资源,然后解密装载执行。
反编译第二阶段的loader程序如下:
Loader类的构造函数加载同目录下的tmp文件,tmp文件名在该二阶loader程序落地时已经被硬编码写入。用到的解密算法与一阶loader完全一致。然后通过静态Load函数执行内存中装载好的PE。
4 窃密木马分析
Dump出该内存PE,依旧是一个C#程序。这是一个名为SystemApp.dll的窃密木马。
启动函数如下。相关初始化之后,设置两个定时器线程,每5秒执行一次,分别用于远程资源下载执行和数据上传。主线程用于信息收集。
4.1初始化模块
收集系统环境变量、文件目录等信息。
获取网络配置信息、通过文件枚举器收集文件系统信息。
该信息存放在注册表项HKEY_USERS\S-1-5-21-3377920579-994514809-1288576981-1000\Software\Authy位置的AppSettings子项,信息内容经过上述loader部分记录的循环异或算法加密。
逆向解出AppSettings项的键值如下(分析师调试环境),主要收集的文件类型为doc、docx、xls、xlsx、rtf和pdf等。
可调试跟踪到后续的代码流将使用AppSettings项的值作为通信信道获取目标内容的具体位置。
4.2 下载执行模块
请求URL:https://trans-can.net/ini/Wsx8Gb5ZtTzzbdquHHtVI2sO9OQpOPRU4jOINehp/31878/1346/cab43a7f ,
下载远程恶意资源然后解密装载执行。
若下载失败会记录相关日志到指定目录。
可见明文存储的下载URL:
4.3 数据上传模块
跟踪窃密模块核心代码如下。遍历前面收集的目标文件目录,通过文件后缀排除自身记录痕迹,对各文件打上相应的协议标签,然后把文件数据以及标签项封装成json的压缩格式上传到C&C服务器。
已上传完毕的则从遍历列表中移除。
4.4 信息收集模块
用户系统信息收集,包括系统版本、驱动、磁盘、用户信息、注册表、进程列表、系统配置等。
目标文件内容收集。通过注册表项AppSettings交互,获取文件指定路径,拷贝文件到指定目录。
根据微步在线威胁情报云监测发现,今年7月中还捕获到同样类型的JS文件,回传的地址为另一域名trans-pre.net。
关联分析
经分析对比此次攻击样本中恶意代码及C&C情报特征,我们发现其与近期较为活跃响尾蛇APT组织(SideWinder)匹配度较高,因此判断此次攻击活动为该组织所为。具体联系包括:
1、代码特征关联
本次攻击活动中漏洞rtf文档打开时落地的名为1.a的JS文件以及后续的加载器程序与响尾蛇已被公开的恶意代码高度相似:
2、C&C特征分析
本次攻击中使用的C&C包括trans-can.net、trans-pre.net,与微步在线近半年以来捕获该组织的C&C情报在域名形式、注册时间、注册邮箱、域名服务商等方面都基本一致,因此判断属于该组织资产。
声明:本文来自安全威胁情报,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。