查看文档,看到有禁用宏的警告

使用oletools剥离出宏代码

简单的可以看出多个十六进制拼接后转为字符串后执行。

简单的整理拼接后

输出十六进制

转char字符串,将十六进制解码为字符串后,我们现在发现我们面临一个 PowerShell 脚本,该脚本是 Invoke Dosfuscation ,经过混淆。

可参考以下原理和链接

https://www.fireeye.com/content/dam/fireeye-www/blog/pdfs/dosfuscation-report.pdf

https://i.blackhat.com/briefings/asia/2018/asia-18-bohannon-invoke_dosfuscation_techniques_for_fin_style_dos_level_cmd_obfuscation.pdf

参考以上把call改为echo

输出以下红框处。

代码整理后如下:

还有一层混淆,将其修改为以下powershell代码将其base64代入:

1
2
3
4
5
6
7
8
9
10
11
$base64data = "insert compressed and base64 data here"
$data = [System.Convert]::FromBase64String($base64data)
$ms = New-Object System.IO.MemoryStream
$ms.Write($data, 0, $data.Length)
$ms.Seek(0,0) | Out-Null

$sr = New-Object System.IO.StreamReader(New-Object System.IO.Compression.DeflateStream($ms, [System.IO.Compression.CompressionMode]::Decompress))

while ($line = $sr.ReadLine()) {
$line
}


执行后再次得到dos混淆


大体可以看到下载文件进行执行解密等操作

https://pcsxcetrasupport3.wordpress.com/2021/12/07/peeling-away-the-layers-of-obfuscation-from-excel-vba-to-dll/

https://www.fireeye.com/content/dam/fireeye-www/blog/pdfs/dosfuscation-report.pdf

https://i.blackhat.com/briefings/asia/2018/asia-18-bohannon-invoke_dosfuscation_techniques_for_fin_style_dos_level_cmd_obfuscation.pdf

https://www.filescan.io/uploads/61a2d7a9effcae2254f2cacb/reports/b584f955-81c0-49b3-9c10-c371712e2b0a/overview