傀儡进程学习
0x00 前言 最近做了一道18年swpuctf的题,分析了一个病毒,正巧都用到了傀儡进程,就想着把傀儡进程学习一下。本文权当个人的学习总结了一些网上的文章,如有错误,还请路过的大佬斧正。 0x01 SWPUCTF -- GAME 进入main函数 先获取当前目录,再拼上GAME.EXE 进入sub_4011D0 首先寻找资源,做准备工作,进入sub_4012C0 1)检测PE结构 2) CreateProcessA 创建进程 3)GetThreadContext 得到进程上下文信息,用于下文计算基地址 4)sub_4016F0 到ntdll.dll里找到NtUnmapViewOfSection函数 5)VirtualAllocEx 跨进程,在目标进程申请空间 6)写入文件 7)SetThreadContext 恢复现场 8) 运行傀儡进程 我们来找找注入的程序 把GAME.EXE载入到010editor里,搜索"MZ" dump出来,就是刚刚注入到傀儡进程的程序了。 我们把它命名为 game2.exe 载到IDA里分析 发现是D3D绘制 之后的解题与本文关系不大,这里直接把官方的WP搬运来了 https://www.anquanke.com/post/id/168338#h3-16 通过字符串[Enter]可以跟踪到获取输入以及返回上一层的地 这里用了’ –