傀儡进程创建过程:
(1) 通过CreateProcess以CREATE_SUSPENDED方式创建一个进程。
(2) GetThreadContext获取挂起进程CONTEXT。
(3) ZwUnmapViewOfSection卸载挂起进程内存空间数据;
(4) VirtualAlloc分配内存空间;
(5) WriteProcessMemory将恶意代码写入分配的内存;
(6) SetThreadContext设置挂起进程状态;
(6) ResumeThread唤醒进程运行
1.ZwResumeThread设置断点。
父进程对傀儡进程写入数据并设置线程上下文后会调用ZwResumeThread唤醒线程运行。
2.Dump傀儡进程
当ZwResumeThread断下后,使用PChunter Dump傀儡进程。
右键--查看--查看进程内存
点击Dump保存为exe文件。
3.修正区段信息
LoadPE载入dump后的程序,查看区段信息
修正后
搞定,完美运行~