首页
社区
课程
招聘
[原创]宏代码混淆分析
发表于: 2020-3-5 17:58 6307

[原创]宏代码混淆分析

2020-3-5 17:58
6307

很早之前就说要分析宏病毒,一直没机会,现在终于有空闲时间来分析一个混淆的比较厉害的宏病毒了。

分析宏病毒时,可以利用 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中下载恶意程序的,可以根据这个思路来快速查找。

最后再放上这个样本的下载地址,欢迎大家一起分析讨论。

链接:c2aK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5h3&6Q4x3X3g2T1j5h3W2V1N6g2)9J5k6h3y4G2L8g2)9J5c8Y4y4Q4x3V1j5I4L8X3S2Q4y4h3k6w2M7@1!0$3P5s2g2X3N6#2q4T1k6p5S2o6e0r3!0Q4y4h3j5H3g2@1p5`.
提取码:vnll


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 2
支持
分享
最新回复 (7)
雪    币: 3319
活跃值: (3544)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
2
csdn 的也是我写的,写的时候忘记在Typora里写的,为止笔记里导出来图片就不显示,搞得我只能放CSDN的图了
2020-3-5 18:04
0
雪    币: 83
活跃值: (1092)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
感谢
2020-3-6 06:57
0
雪    币: 182
活跃值: (186)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
感谢分享,下载下来研究研究.
2020-3-6 09:04
0
雪    币: 926
活跃值: (2215)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
在过一阵子我发个检测混淆指令的算法,这样不用管他到底是啥,只要是混淆的就直接干掉
2020-3-6 16:39
0
雪    币: 1934
活跃值: (427)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
膜拜大佬
2020-3-7 11:00
0
雪    币: 33
活跃值: (323)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
7
感谢
2020-4-25 21:17
0
雪    币: 105
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
膜拜大佬
2020-12-30 17:09
0
游客
登录 | 注册 方可回帖
返回