PE感染逆向之复(Serverx.exe专杀工具出炉手记).docVIP

PE感染逆向之复(Serverx.exe专杀工具出炉手记).doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PE感染逆向之复(Serverx.exe专杀工具出炉手记)

这篇文章是在Servex.exe专杀工具写完之后的一些小小感想,关于PE感染和修复,大牛飘过~ ??自某日不小心中了Serverx.exe病毒,电脑中大部分EXE文件被感染,系统盘system32目录下的病毒文件Serverx.exe总也杀不掉,因为即使删掉了,每次运行了被感染的程序之后还会再次生成。(关于此毒的详细资料,有兴趣的直接在百度有哪些信誉好的足球投注网站Serverx.exe或愤怒天使即可)在网上求助无果,遂自己动手,研究了一下这个病毒的感染方式,最终找到了恢复被感染文件的方法,下面将此过程分享给大家。 遇到这种感染型的病毒,恢复时需要解决几个问题。 第一个问题,感染后的文件能否恢复? 那么我们从被感染后的EXE运行情况来看看。以调用Winrar解压缩为例,可以正常实现解压过程。但在解压后就应退出的Winrar仍在运行。如果用Process?Explorer观察进程树的话,会发现是Winrar本身又重新运行了一个Winrar进程来完成解压缩功能,而解压完成后,第一个运行的Winrar仍在继续运行,用FileMon监视的话会发现它有大量的文件访问操作,从访问的目录顺序和规律来看是在遍历并寻找EXE进行感染。而这两个Winrar的路径是一样的,也就是说实现感染功能的和实现解压功能的是同一个程序,解压功能仍然是被感染后的Winrar完成的,这说明一个问题:感染后的文件功能没有被破坏!这非常重要,也是因为程序的功能没有被破坏才有下面的恢复过程。 第二个问题,此病毒是何种感染方式? 典型的感染方式有“夹心饼”式的捆绑感染,替换资源或添加资源式的感染,准确说这些不算是“正宗”的PE感染。其它典型的方式有加新区段,写入shellcode(这里把病毒自己注入的代码也称为shellcode),然后跳回原入口。还有一些高级的感染方式,不一一列举。 为了分析这个病毒的感染方式,我将感染前后的Winrar.exe进行对比,首先会发现文件大小要增加,再用PEID(或其它同类工具)查看一下相关数据,首先发现入口所在区段不一样了,由.text段变成了最后的.rsrc段,入口处代码也不一样了。既然感染跟区段有关,那么就来看一下感染前后区段数据的变化: 感染前:? 感染后:? 可以看到,区段数并没有增加,仍为7个,但是最后一个区段的虚拟大小(VirtualSize)和原始大小(RawSize)都有所增加,且段属性标记也被修改了。这样我们对此病毒的感染方式有所了解了,就是增加最后一个段的大小,写入shellcode,并修改段属性为可执行,并不是某些人分析的增加新区段方式。具体地把一些数据列出来并进行计算(所有数据都是Winrar.exe的): 感染前文件大小:929792?Bytes???感染后:974742?Bytes??增加:44950=0xAF96 感染前最后一个节的数据: VirtualSize:0??RawSize:0??Flags:0感染后最后一个节的数据: VirtualSize:0x0003C196???RawSize:0x0003C196???Flags:0xE0000040 增加的大小:VirtualSize:0x0000A196??RawSize:0x0000AF96 经过计算,最后一个节的RawSize增加的大小刚好等于文件增加的大小,这个用WinHex打开感染前后的文件比较一下就可以证实,病毒确实是在原始文件末的地方开始写入shellcode的。对PE知识的了解使我们知道节表中的RawSize对应于这个节在文件中实际的大小,我们更证实了之前的想法。可知病毒的感染方法是这样的:根据shellcode计算需要的空间大小nSize,然后将文件增加nSize,写入shellcode,然后修正PE头中最后一个区段的原始大小、虚拟大小,修改区段属性 为可执行,因为映像大小被修改,还要修正IMAGE_OPTIONAL_HEADER结构中的SizeOfImage。Shellcode中必然是做了些坏事然后跳回到原入口处继续执行。这是我们目前分析得到的信息。 第三个问题,要恢复被感染的文件,需要修复哪些数据? 结合前面分析出的病毒的感染过程,要修复感染后的文件,至少要知道以下几个信息,同时也是需要修复的数据。 (1)??感染前的文件大小。前面已经知道,病毒直接从文件末开始写入shellcode,要去掉病毒写入的内容,就必须知道感染前原文件大小。 (2)??感染前最后一个区段的RawSize。因为RawSize增加的大小等于文件增加的大小,所以知道了感染前文件大小也就是RawSize的大小。 (3)??感染前最后一个区段的VirtualSize。在获取正确的RawSize之后就可以根据对齐来计算

文档评论(0)

ytn058 + 关注
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档