01阅读须知
此文所节选自小报童《.NET 内网实战攻防》专栏,主要内容有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧。
02基本介绍
03编码实现
在 Windows 操作系统中,简单来说,傀儡进程就是攻击者通过一系列技术操作,将原本正常的进程转化为执行恶意任务的傀儡。通常借助ZwQueryInformationProcess、ReadProcessMemory和ResumeThread等API函数来实现这个技术。
3.1 相关函数
ZwQueryInformationProcess函数用于获取指定进程的信息,如进程ID、父进程信息等,ReadProcessMemory函数用于从指定进程的内存中读取数据,ResumeThread函数表示当暂停计数递减至零时,恢复线程的执行。在.NET平台下调用该函数的代码如下所示。
DllImport("kernel32.dll", SetLastError = true)]
static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [Out] byte[] lpBuffer, int dwSize, out IntPtr lpNumberOfBytesRead);
3.2 实现傀儡进程
要成功构建傀儡进程,关键在于两点:首先是选择合适时机向内存写入Shellcode,其次则是精准地修改进程的执行流程。在.NET环境中调用相关函