欢迎访问Sunbet,Sunbet是欧博Allbet的官方网站!

首页Sunbet_安全工具正文

Shady恶意软件用两个木马双重感染PC

b9e08c31ae1faa592020-06-1647申博_行业观察

FortiGuard Labs研究人员近期发现一个恶意软件样本,该样本检测率很低。研究人员手动分析发现该恶意样本是用来释放恶意软件的,而且会释放两个RevengeRAT 和WSHRAT木马。

第一阶段:Launcher/Dropper

打开恶意样本文件,研究人员发现其中含有JS代码,从中可以看到URL编码的数据。解码后,研究人员发现了一些VBS脚本。恶意软件作者在调用函数Chr()时使用简单的字符替换来隐藏真实的字符串(shell.application和cmd /c cd %temp%)。

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第1张

图 1 – VBScript Code

VBScript代码的目标是:

1.创建新的Shell.Application对象

2.调用ShellExecute()函数,最终会生成一个硬编码文件名为A6p.vbs的新文件

3.执行新创建的脚步文件A6p.vbs

4.暂停CMD命令执行13秒(通过调用timeout.exe程序实现)

5.删除脚本文件A6p.vbs

6.执行下载的脚本文件Microsoft.vbs

7.关闭当前窗口

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第2张

图 2 – 第一阶段Launcher/Dropper执行

第二阶段: Downloader

A6p.vbs 文件的目的是从外部网站提取资源。代码使用混淆的字符串来绕过检测。恶意软件开发者使用函数H9a来显示这些字符串。这是用来创建对象(MSXML2.XMLHTTP ,ADODB.STREAM)和获取字符串的,比如MICROSOFT.VBS。

脚本分析(MICROSOFT.VBS)

A6p.vbs 脚步执行后,会从远程服务器下载脚本文件Microsoft.vbs。

该文件被保存为%TEMP%文件夹的MICROSOFT.VBS文件。VB脚本代码是有主类th3m41n组成的,使用了3个方法,分别是“dugh41r”, “t01l3t”, “b3st1n”。 MICROSOFT.VBS代码的目的是重构基于XML的结构,通过调用Microsoft.XMLDOM 对象创建,并通过不同类方法中间的解码层来传递对象,最后通过调用VBScript的 “ExecuteGlobal()”函数来执行base64编码的数据。

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第3张

图 3 –Downloader脚本(A6p.vbs)

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第4张

图 4 – MICROSOFT.VBS和编码的Base64数据

脚本分析(MICROSOFT.VBS – 解码的Base64数据)

该脚本使用2个函数writeBytes() 和  decodebase64() 。writeBytes()是用来创建ADODB.Stream对象来将二进制文件写入给定文件,decodebase64()是用来创建Microsoft.XMLDOM对象来创建临时XML元素来保存base64编码的数据,然后解码。

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第5张

图 5 – writeBytes()和decodebase64() 函数

其中数据所有者有2个本地变量,分别是longText1和H。longText1含有base64编码的VB脚本数据,因为base64数据与下载的文件不同,是MICROSOFT.VBS的一个副本。变量H含有.NET可执行文件的数据。而且很明显恶意软件作者加入了一些垃圾代码尝试阻碍分析的过程。

前面的代码执行后,就会创建一个新的对象,并收集操作系统环境和硬编码的数据,最终通过调用VB脚本翻译器和参数//B来运行新创建的脚本GXxdZDvzyH.vbs。

启用batch-mode和禁用执行过程中可能会产生的警告信息。

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第6张

图6 GXxdZDvzyH.vbs生成和执行

在脚本执行过程中,Windows注册表HKCU\Microsoft \Software\Microsoft中会加入一个新的key——microsoft,用来保存伪造的base64编码的数据。该数据之后会用一个PowerShell命令来固定,脚本会在用0替换了@ 后结束。

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第7张

图 7 – 伪造的base64数据

执行Revenge RAT 和驻留

脚本会调用大量PowerShell命令来绕过翻译器的执行策略和隐藏其行踪,绕过-ExecutionPolicy Bypass -windowstyle hidden -noexit -Command参数。

下表说明了脚本来执行过程中传递给PowerShell翻译器的命令行参数,以及每个参数的目的:

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第8张

连接到C2服务

如前所述,会创建一个新的线程,并加载和执行一个.NET Assembly。研究任意从Windows注册表中复制到可执行文件中来提供更好的payload。下图是可执行文件exe的基本信息。

对2019全年的Mac恶意程序的全面分析(GMERA,Lazarus,Yort.B) OSX.GMERA(A/B) GMERA是Lazarus黑客组织开发的木马,它会不断向远程攻击者公开目标的shell。比如,欺骗交易应用程序的Mac恶意程序会窃取用户信息,并将其上传到网站。或者,通过行为检查检测macOS.GMERA恶意程序。 感染媒介:伪造密货币应用程序 Lazarus小组的实际感染机制是创建伪造的加密货币应用程序(通常由合法的网站支持),并强迫用户安装该应用程序。 在卡巴斯基的2018年的调查中,他们发现受害者已受到木马加密货币交易应用程序的感染,该应用程序是通过电子邮件传播的。事实证明,用户很容易从看似合法的网站[Celas LLC]下载第三方应用程序。 [Celas LLC]下似乎已经找到了一种

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第9张

图 8 – 释放的exe文件的基本信息

当样本在.NET调试器中执行后,发现代码并没有像其他恶意软件那样使用混淆后的代码。相反,代码非常清楚和简单。

RAT运行后,会连接2个C2服务器,其IP地址和端口在主类的构造函数中已经分配了。IP 地址为193.56.28.134和185.84.181.102,端口号为5478。下面是类构造函数的一个截图,其中初始化了多个变量,包含C2 IP地址和端口:

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第10张

图 9 – C2服务器IP地址和端口号

研究人员开始分析恶意软件时,2个C2服务器就down了。但恶意软件开始尝试连接到2个IP地址除非一个连接被建立。所以为了继续分析该恶意软件,研究人员必须安装一个伪造的C2服务器。为此,研究人员将C2服务器IP地址修改为127.0.0.1。

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第11张

图 10 –C2服务器修改IP地址

报告收集的信息

到C2服务器的连接建立后,就会从受害者系统收集信息并发送给服务器。研究人员分析发现,受害者和服务器之间的每个包都包含多个部分,magic字符串命令、与命令相关的数据域、分隔符、magic字符串结束符。

InformationachillepowerSG91c2U=achillepowerXzU4MUYxMDkzachillepower10.0.2.15achillepowerTTBZ
VEVTMEVOVi1QQyAvIE0wWVRlczBFbnY=achillepowerNoachillepowerTWljcm9zb2Z0IFdpbmRvd3MgNyB
VbHRpbWF0ZSAgMzI=achillepowerSW50ZWwoUikgQ29yZShUTSkgaTctNjcwMCBDUFUgQCAzLjQwR0h6
achillepower3757629440achillepowerTWljcm9zb2Z0IFNlY3VyaXR5IEVzc2VudGlhbHM=achillepowerTi9B
achillepower5478achillepowerZG5TcHkgdjYuMC40ICgzMi1iaXQsIC5ORVQgQ29yZSwgRGVidWdnaW5nK
Q==achillepowerZW4tVVM=achillepowerFalse*-]NK[-*

C2

在 .Net代码中研究人员发现一个名为this.data()的线程函数,负责处理所有接收到的C2命令。分析该函数,研究人员发现了多个命令magic字符串,如“PNC”, “P”, “IE”, “LP”, “UNV”。

PNC命令就像一个心跳,恶意软件只发送回了PNC。

P命令要求恶意软件来收集受害者的窗口title。

IE和LP命令要求恶意软件用包中给定的值来操作系统注册表。

UNV命令包中含有一个base64编码的gzip流,是由恶意ASM代码的一部分组成的。通过该命令,攻击者可以发送恶意ASM代码到恶意软件,并获取内存中执行的代码。下面的截图是一个处理UNV命令的代码段,并比较命令字符串和base64解码,gzip流解压缩,以及加载ASM代码到内存的this.LA()函数中。然后,ASM代码在调用CreateInstance() API创建的对象中执行。

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第12张

图 11 – 处理UNV命令的代码段

执行WSH RAT和驻留

脚本分析(GXxdZDvzyH.VBS)

在感染的第二阶段,脚本也会执行,恶意软件作者借用了GXxdZDvzyH.vbs脚本中的MICROSOFT.VBS代码,但不同的payload是用base64编码的。因为代码之前已经分析过了,因此本文只关注隐藏在编码数据中的脚本。

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第13张

图 12 –Microsoft.vbs和 GXxdZDvzyH.vbs脚本的差异

脚本分析(GXxdZDvzyH.VBS – 解码的BASE-64)

新脚本是WSH RAT的v1.6。代码表明一共有29个函数执行不同的任务,包括驻留、窃取的数据处理等。

脚本执行后,会通过函数调用来执行安全检测以验证当前用户的权限,根据使用的权限,会进行权限提升到更高的用户权限(startupElevate())。此外,会执行第二个安全检查来禁用当前安全环境(disableSecurity())。

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第14张

图 13 – 安全检查的代码

WSH RAT的版本关注于从主流的浏览器中窃取信息。WSH RAT也有很多的特征,研究人员关注最重要的几个,尤其是当前样本中触发的那些。

脚本会生成含有与受感染计算机相关的信息的伪造的HTTP请求,并使用User-Agent: header作为一种窃取信息的机制。

Information()函数执行取回的信息有:

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第15张

图 14 – HTTP POST请求和User-Agent数据

下表表明User-Agent Header中使用了数据格式,以及脚本收集的数据的描述。

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第16张

为了实现驻留,WSH RAT在Windows注册表中添加新的数据,并在Windows开始菜单文件夹(“%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup”)中加入一个留一个副本。

Shady恶意软件用两个木马双重感染PC  申博_行业观察 第17张

图 15 – 添加值作为开始菜单应用

WSH RAT一共使用了26个命令,所有的命令都是可以根据名字看出其具体的作用,如下所示:

"disconnect", "reboot", "shutdown", "excecute", "install-sdk", "get-pass", "get-pass-offline", "update", "uninstall", "up-n-exec", "bring-log", "down-n-exec", "filemanager", "rdp", "keylogger", "offline-keylogger", "browse-logs", "cmd-shell", "get-processes", "disable-uac", "check-eligible", "force-eligible", "elevate", "if-elevate", "kill-process", "sleep"。

本文翻译自:https://www.fortinet.com/blog/threat-research/malware-analysis-revenge-rat-sample.html

网友评论

1条评论
  • 2020-06-16 00:00:12

    Allbetwww.xinyongka369.com欢迎进入欧博平台(Allbet Gaming),欧博平台开放欧博(Allbet)开户、欧博(Allbet)代理开户、欧博(Allbet)电脑客户端、欧博(Allbet)APP下载等业务。这是强者的世界吧