3dsctf Malware 第三题开机"锁机"分析及恢复方法

[toc]

关于样本

样本链接:https://810a5bdaafc6dd30b1d9979215935871.3dsctf.org//challs/malware/W32/08c0ab4e5b46889dc8b4c885077c59f5.zip

密码:infected!

建议不要在真实机运行,虽然下面有补救方法

分析

这一题flag不是精华,感染mbr才是精华,现在打ctf,一不小心自己的电脑都要炸啊

感染代码如下:

首先对40300d处的字符串解密后,传入CreateFileA,之后往里面写入数据,之后提升权限,重启Windows

动态调试查看,解密后的字符串为\.\PhysicalDrive0,即硬盘0,那么就是写到MBR上去了

写入内容如下,后面具体分析

写入完成就重启了,那你就开不了机了,就叫你重装(恢复)吧,bitch

首先让大家看看重启后的效果,一开机就显示如下,并不能进入系统

我们进pe看看,winhex打开磁盘

可以看到引导代码被修改了,也看到了Restore XXX等字样(pe里面的winhex的字符有些错位,所以整个字符串没显示出来),而且分区表也没了

将磁盘前面的代码放到ida分析(16位汇编)

ida也给到了一点注释,手动分析如下:

恢复办法

u盘启动进入PE系统,打开diskgenius,里面的分区都不能识别,很好办

右键搜索一下即可

这样分区就出来了

再修复一下mbr

winhex打开看看,已经恢复了

开机看看, 终于把我的虚拟机救回来了

参考资料

https://www.cnblogs.com/CasonChan/p/4546658.html
https://www.cnblogs.com/magic-cube/archive/2011/10/19/2217676.html

自愿打赏专区