恶意代码分析实战 Lab21

lab21-01

1lab09-02还记得话是需要改程序名才能正确运行,所以,程序不会发生什么

额,我的IDApro识别出来main


修改下面的jz位jmp


其中r11是之前getmodulname得到的当前程序名,另一个由ocl.exe编码得到,windbg查看位jzm



只有一个ecx


图中只给出了9个参数的注释,还缺一个commandline参数,这个这个函数应该是创建cmd进程,所以rdx应该算是一个参数,所以IDApro的一些注释也不太准确,总共需要10个参数,根据MSDN文档

恶意代码分析实战 Lab21_第1张图片


lab21-02

资源节存在三个pe文件,分别是64位exe,64位dll,和32位exe,还有一个Manifest

恶意代码分析实战 Lab21_第2张图片

x86编译,因为参数传递都是通过push压入栈

程序会得到IsWow64Process函数地址通过这个函数判断程序是否运行在wow64环境下,如果是那么系统就是64位的


资源节说明一切

这里的IsWow64Process函数两个参数,返回0则是在x86环境下


x64情况下,会在资源节里面读取如下两个数据,然后在系统目录创建如下两个64位PE文件


最后会通过cmd运行Lab21-02x.exe文件,Lab21-02x.exe会对explorer.exe注入Lab21-02x.dll文件

然而如果在x86下只会,创建如下32位PE文件


然后查找explorer.exe进程,最后通过创建远程线程注入dll


你可能感兴趣的:(恶意代码分析实战 Lab21)