麦洛克菲 逆向病毒分析课程课件.ppt
《麦洛克菲 逆向病毒分析课程课件.ppt》由会员分享,可在线阅读,更多相关《麦洛克菲 逆向病毒分析课程课件.ppt(49页珍藏版)》请在三一办公上搜索。
1、2012-03-10,麦洛克菲内核开发-逆向病毒分析课程,麦洛克菲,麦洛克菲,提纲,病毒分析的基本工具方法实战分析-复合类多态感染病毒病毒结构分析及特点混淆的解密头注意事项单步逆向分析分析总结,病毒分析的基本工具方法,1 调试工具:IDA,Ollydbg.2 PE分析类工具:PEid,FFI,CFF Explorer.3 PE文件对比分析类工具:PEinfo.4 编辑工具:winhex,ultraEdit.,病毒分析的基本工具方法,1 先整体,后局部,从文件对比入手(文件大小,ultral Edit 简单对比,IDA bindiff 流程观察)。2 观察PE文件各个“段结构”,“大小”,“属性
2、”(PEinfo 等对比工具)。3 明确待分析文件是由什么编程工具编写,查明EOP异同点。4 当简单分析后,无法发现明显代码流程劫持的情况下,可以特别关一 下这几个API的调用的变化,exit,exit,ExitProcess。5 碰到混淆的的循环功能代码时,要多从大的文件感染特性上判断,找思路。6 分析时,主要观察内存变化(段的属性,是否被重新填充),寄存器的变化,eax,ecx,esi,edi。,实战分析-复合类多态感染病毒,win32.virus.sality-目前全球威胁趋势排名前10变形感染类蠕虫病毒)1 内置多态引擎2 文件型感染3 p2p僵尸网络,病毒结构分析及特点,sality
3、 感染的模型,obfuscation decryptor,host,junk code,junk data,bound PE,eop,Ori eop,病毒结构分析及特点,sality 执行流程路径,病毒结构分析及特点,感染前后,整体程序流程的差异,混淆的解密头注意事项,1 起始地址的位置,一般我们判断向上的jmp 跳转情况。,混淆的解密头注意事项,2 结束位置,如果混淆的比较复杂情况,结束位置需要仔细找一下。,混淆的解密头注意事项,3 看解密的方向:向上或是向下,这一点主要是为了写解密函数时需要关注的,否则可以忽略,混淆的解密头注意事项,4 看每次解密的步数:这个非常重要的一个点,一般可以在一
4、个寄存器里面Rx,通常是ECX,但也可能是其他的寄存器或是内存的某个地址处的数据。极端一些的情况下还有针对这个步数的混淆。,混淆的解密头注意事项,5 看解密后的跳转这次的情况很简单,直接在解密后的指令中,复杂的情况还需要单补跟踪到。,混淆的解密头注意事项,6 观察能操作内存的操作。,混淆的解密头注意事项,7 对call 的跟踪要类似分析壳一样,哪些F7进入,哪些F8步过要试探着运行。,单步逆向分析,1 利用push imm32,call sub_xx,ret,原因是什么?anti-static check 目的。,单步逆向分析,2 了解典型的解密代码结构,单步逆向分析,3 跨段跳转,是最关键的
5、流程转换!学会从jmp,ja,jl,jne,je.中发现出口的关键跳。学会观察寄存器的变化,找到最有效的寄存器值。,单步逆向分析,4跨段跳转:,单步逆向分析,5大段垃圾指令中,插入有效指令,注意区分,单步逆向分析-破解病毒解密的方法,1)看段的跳转变化,进入一个新的方式的开始.,单步逆向分析-破解病毒解密的方法,2)代码里面充满了无效的指令,但这些需要我们自己判断。需要注意的指令是Mov Rx,Ry|Mov Rx,memMov Rm,Rx1 要注意的寄存器,esi,edi。观察解密ctrl+F7,单步逆向分析-破解病毒解密的方法,3)可以看到解密方向是向上解密。,单步逆向分析-破解病毒解密的方
6、法,4)如果解密的情况非常复杂,那么合适才算是解密结束,调向我们想要的代码?方法:1 寻找在解密过程中,涉及到的跳转指令,哪些是通用解密过程中不被执行的。2 找不是向上跳转的代码,单步逆向分析-破解病毒解密的方法,4)如果解密的情况非常复杂,那么合适才算是解密结束,调向我们想要的代码?方法:1 寻找在解密过程中,涉及到的跳转指令,哪些是通用解密过程中不被执行的。2 找不是向上跳转的代码,单步逆向分析,6 小结:如何寻找到跳转入口 1)单步跟踪,直到发现2)tc 跟踪,查找间隙大的指令。3)F9 运行,各个段下断点。可以观察到,如何解密开原函数的开头。4)断在最后一次运行的所有跳转位置设置断点。
7、,单步逆向分析 病毒body code,因为病毒是附着在宿主程序的代码之上的。他要操作引用自己的变量及数据,都要用相对的操作来完成。一般为 mov eax,ebp+xxx/变量 call ebp+yyy/调用API/函数call _delta_delta:pop ebpsub ebp,offset _delta,单步逆向分析 病毒body code,堆栈中存放病毒自身的数据,单步逆向分析 病毒body code,7当病毒重定位后,ebp-通常是用来做重定位的基址,典型结构:VIR_STRUCT structaLoadLibrary dd?;0aCloseHandle dd?;4aGetCurr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 麦洛克菲 逆向病毒分析课程课件 洛克 逆向 病毒 分析 课程 课件

链接地址:https://www.31ppt.com/p-3001995.html