宏病毒刨析

核能气质少年 提交于 2019-12-15 10:03:39

拿到宏病毒之后,先使用oledump.py工具进行宏数据流得查看:
在这里插入图片描述
通过查看数据流可以发现,在第八段和第九段有宏代码,同时需要注意在第十二的数据虽然没有宏代码 ,但是第12段数据大小却是很可疑需要注意一下,同时也可以将第八段和第九段以及第十二段 这三段数据dump出来 进行查看。这里采用宏病毒动态调试的方式:
打开文件之后,存在安全警告:
在这里插入图片描述
这个时候,可以使用快捷键 打开并且查看宏代码(alt+F11),但是打开窗口之后发现并没有宏代码,只是因为这个时候还没有启用宏,VB宏代码并没有引用,点击启用宏(这个时候宏代码已经运行),这时就可以查看文件当中的宏代码:
但是这时,查看宏代码的时候 提示要输入密码,不知道密码也就只有破解一途,用010打开该文档 搜索DPB 将之修改为DPX 之后保存。再打开文档之后,忽略错误 就可以顺利地看到宏代码了:
在这里插入图片描述
动态调试的过程也就不具体介绍,宏代码的主要动作如下:

1:拼接TEMP路径:C:\User\sam\AppData\Local\TEMP
2:拼接fhew.rtf路径和hrbs.rtf路径以及t2.tmp路径
3:将源DOC文件另存为fhew.rtf和hrbs.rtf  采用ActiveDocument.SaveAs
4:采用CreateObject  来执行Microsoft  word  执行fhew.rtf
5:使用Shell函数  执行t2.tmp      

在这里插入图片描述
这时候,其实还有一个点有些难以理解,那就是我们看到的执行的t2.tmp文件到底是哪来的?执行的fhew.rtf是源文件另存后的文件,但是原代码中并没有关于t2.tmp文件的处理,这个时候我们就还是要回去看源文件,之前在使用oledump查看源文件的数据流的时候,我们注意到一个数据流为76998大小的数据之后,可以把它dump出来进行查看:
在这里插入图片描述
dump出来之后 ,用010打开dump出来的文件:
在这里插入图片描述
可以看到,文件中存在明显的MZ头标志,因此可以知道,在源文件的内部还嵌入了一个恶意的PE文件,而这个OLE文件会在源文件执行另存之后的rtf文件的时候,将这个内嵌的恶意PE文件释放到TEMP文件夹下边,这样之后,就会产生运行恶意PE的操作。而且通过Oledump也可以对嵌入的数据进行查看:
在这里插入图片描述
VT查询MD5:
在这里插入图片描述
以上过程 做一个小的总结(通过rtf文件来执行恶意问价)
在这里插入图片描述
那么接下来的主要任务就是对于t2.tmp文件的分析,对t2.tmp文件的分析,需要在释放之后执行之前进行分析,因为在执行过tmp文件之后,该tmp文件就会被删除,因此要注意分析时机。分析过程也相对比较简单,在整个前半部分的过程中,tmp文件一直在做一些解密的操作,实际上并没有什么具体的恶意行为,在解密之后,才会真正执行恶意的代码,恶意代码部分的主要操作有以下几部分:

创建一个新的名为explorer.exe的进程,创建的方式为进程挂起的方式,之后将恶意的PE数据复制到创建的explorer.exe
进程内存当中(其实就是进程注入)
所使用的API主要以以下几种:
CreateProcess   创建explorer.exe进程
ReadMemory     读取内存数据
CreateSection    创建一个新的节
MapViewOfSection   
UnMapViewOfSection
ZwViewOfSection
ResumeThread

完成以上的进程注入之后,恢复线程,执行恶意文件,这时候,一旦恢复线程,病毒就真正的开始运行了,如果要就行调试的话,可以采用进程附加的方式进行调试,但是explorer.exe进程出现的时间先对较短,没有足够的时间在OD里边进行进程附加。
在这里我使用的方法是之前有写过的GFLAGS工具进行附加要调试的进程,附加之后再进行调试,explorer.exe的主要工作如下:

1:删除父进程,隐藏自己,这样会提升自己的生存时间
2:采用之前类似的方式  进程注入   svchost.exe
3:访问恶意的链接

总结:
这个宏病毒总体来说分析相对简单,使用的技术方式也相对较为隐蔽
主要采用的技术手段如下:
1:宏病毒执行rtf文件释放OLE流数据的中内嵌的恶意文件
2:挖空进程,进行进程注入
3:代码的加解密

分析相对比较简略 ,下次再接再励.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!