一、病毒样本简述
初次拿到样本 KWSUpreport_感染.exe.v 文件,通过使用PE工具,并不能辨别出该样本是那种感染类型,使用了一个比较直接的方法,从网上查资料,获取到了该样本的正常EXE文件的一些信息,资料表明:KWSUpreport.exe 是2009年版金山网盾程序的一个上传用户报告的程序模块,因此从网上下载了该版本的金山网盾程序,获取到了正常的KWSUpreport.exe文件,经过OD的调试以及与感染KWSUpreport.exe文件的对比,能够确定获取到的KWSUpreport.exe文件是该感染样本的正常文件。
下面使用StudPE工具查看感染KWSUpreport.exe文件与正常KWSUpreport.exe文件的不同,感染文件和正常的文件的文件头的信息不同,主要表现在:
1. 程序的入口点发生了改变
2. 整个PE文件的镜像大小改变了
注意:PE文件的区段的数量没有改变
感染文件和正常的文件的区段信息不同,主要表现在:
1. 区段的RVA发生了改变
2. 区段的大小发生了改变
注意:变化的部分主要集中在.text段即代码段
结论:初步可以判定样本文件KWSUpreport.exe的感染类型为节缝隙插入代码的感染。
二、病毒样本的具体分析
正常文件的OEP为00014F9D,感染文件的OEP为00015359.
对感染文件进行具体的分析:
==========================================================================
附上获取Kernel32的基址的函数GetKernel32Instance的分析:
==========================================================================
从重定位的代码位置拷贝到申请堆内存空间0015C010的代码,大小为720H字节的大小,如下图:
==========================================================================
附上重定位函数DoRelocateFun 的分析:
==========================================================================
下面对关键函数0015C240进行具体的分析:
地址00415359处的代码的对比:
对创建线程的回调函数0015C50进行具体的分析:
转载博客请保留本文链接:http://blog.csdn.net/qq1084283172/article/details/45933129