-
-
[原创]宏代码混淆分析
-
发表于:
2020-3-5 17:58
6017
-
很早之前就说要分析宏病毒,一直没机会,现在终于有空闲时间来分析一个混淆的比较厉害的宏病毒了。
分析宏病毒时,可以利用 oledump.py 来将宏代码提取出来再进行分析。
使用命令 python oledump.py
文件名,即可查看文件流信息。
下图中的 M 表示该段中有宏代码。
python oledump.py -s 8 -v 11.dat >1.txt
可以将 8 段中的宏代码提取到 1.txt 中,再进行查看。
利用相同方式将其他几段的宏代码提取出来。
几个文件都是混淆的宏代码,代码量较大,可以直接在 word 中进行调试。
简单截几个图,大家看看。
宏病毒往往是作为payload的载体,通过创建其他例程,释放运行payload。无论宏病毒前面执行了多么复杂的操作,最后肯定会运行payload,而运行payload的方式可能是Shell、WScript.Shell、Application.Run等,我们可以直接搜索这些字符串迅速定位到运行payload的地方。
在word中进行调试可以用一个大佬的办法(动态调试)。
可以在点击"启用内容"按钮的时候,按住SHIFT键,点击"启用内容"按钮,然后松开SHIFT。然后按下ALT+F11,打开宏编辑窗口,这时候可以在宏代码的main函数下断点、单步了。
可以查找 open ,在 open 函数处下断点,进行单步调试。
单步跟踪至 shell 字符所在位置,并将其进行修改打印在立即窗口(alt + g)
要执行的命令为
混淆的方式都是利用字符串替换。
经过解密之后的代码为
基本流程为,使用CMD命令打开powershell,再在指定恶意URL处下载文件,并随机数字命名,最后运行恶意程序。
分析到最后总结一下吧,大多宏病毒的最终目的是从恶意URL中下载恶意程序的,可以根据这个思路来快速查找。
最后再放上这个样本的下载地址,欢迎大家一起分析讨论。
链接:https://pan.baidu.com/s/1nh_KsOvxufwQbdHCLo_0WA
提取码:vnll
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!