《2024进程注入技术手册.docx》由会员分享,可在线阅读,更多相关《2024进程注入技术手册.docx(66页珍藏版)》请在优知文库上搜索。
1、进程注入技术手册目录D1.1.注入经典D1.1.注入注入方法例子反射D1.1.注实现方法例子SheIleOde反射D1.1.注入(sRDl)PE注入在远程进程中执行Shellcode没有VirtUalAIIOCEXRWX的AddreSSOfEntryPOint代码注入注入方法DemoPROCESSHO1.1.OWING(RunPE)注入方法ProcessDoppelganging注入方法线程执行劫持注入方法完整DnIeO例子从PE资源加教和执行Shellcode注入方法DemoAPC队列代码注入注入方法DemoAPC队列代码注入变种SetWindowHookEx注入DemoNtCreateSe
2、ction+NtMapViewfSection代码注入注入方法DemoModuleStomping注入方法DenIo案例分享后记进程注入是一种常用来绕过总端安全软件和蓝队排查的手法,在无文件落地和恶意软件攻击中的都是常用的手法。在另一个进程的地址空间内运行自定义代码。进程注入提高了隐身性,一些技术还实现了持久性。D1.1.注入经典D1.1.注入通过创建者远程线程和加载库的D1.1.注入是把ShHICOde注入另一个进程的常用技术在攻击中我们可以将其恶意动态链接库(D1.1.)的路径写入另一个进程的虚拟地址空间中,并通过在目标进程中创建远程线程来确保远程进程加载它。D1.1.注入是将代码注入至卜
3、个远程进程中,并让远程进程调用1.oad1.ibrary()函数从而强制远程进程加载一个D1.1.程序到进程中。而当D1.1.被加载时就会运行D1.1.中的DllMain()函数,所以就会为代码执行提供机会,而因为D1.1.本身是由感染后的进程加载的同时PE文件也并没有对系统进行过多的敏感操作所以这种技术具有相当强的一种隐蔽性。C1.ASSICD1.1.INJECTIONTARGETPROCESSMA1.WAREPROCESSSinwinoucivalwMr*N!M.11hMln4ta如果要加载ShelICOd6在dll中定义就行POC:WOTWWOWS!MeCMyMMSUrtoeUaR2nV
4、ll11WMMCRMMShellCode反射D1.1.注入(sRDI)Shellcode反射D1.1.注入(sRDI)是一种技术,它允许将给定的D1.1.转换为位置无关的shellcode,然后可以使用任意ShelICode注入和执行技术注入该ShelICod&相对于标准RDI使用SRDI的一些优点:可以转换任何D1.1.为无位置依赖的ShelICode并且可以使用标准的ShellCode注入技术来使用它。1.1.中不需要写任何反射加载器代码,因为反射加载器是在D1.1.外部的ShellCOde中实现的。合理使用权限,没有大量的RWX权限数据。还可以根据选项,抹掉PE头特征。SRDl的所有功能
5、基于以下两个组件:-个C语言项目,可将PE1.oader编译为Shellcode转换代码负责将D1.1.、RDI和用户数据进行绑定由以下文件组成:SheIIcodeRDI:编译D1.1.加载器的ShellcodeNative1.oader:需要时,将D1.1.转换为shellcode然后注入内存DotNet1.oader:Native1.oader的C#实现pythonConvertToSheIIcode.Py:将D1.1.转换为shellcodePythonEncodeBIobs.py:对已编译的SRDI进行编码,进行静态嵌入PowerSheIIConvertTo-Shellcode.ps!
6、:将D1.1.转换为ShellCodeFunctionTest:导入sRDI的C函数进行调试测试TestD1.1.:示例D1.1.,包括两个导出函数,用于后续的加载和调用D1.1.不需要使用RDI进行编译,但是该技术具有交叉兼容性。POWerShelI导入194PSC:Uers111eDesktopfiASM)XjA%R0I-masterslU)I-MaiterPcwerSe1)Import-Module.COnvertTo-Shel!code.pla编写D1.1.DemoCrmtvFroeMiA(N1.1,)*ftot*pd.et*Botd.eeMU_M_1.1.TRIE0.MUwMI1.,
7、ivpi);br:CMeBUnMAlMTTAaI:CM*Otln*EDDT!:caseB1.1.PfOOSSDCTACM:break;CamwrtTo-SkwIlodvC:Utrlllal(tUItDIV1RDl-Mtter0etMMTestDII11方便后面利用,我们转化为16进制把ShelICOde保存转为C的SheIlCOdeMtavMMr-o一三r=三三il三三三三三三1三三:T三三,三,s:一三三三三三三H,7三三总三三2三三三三=三:=H三.H三三H三k一三三三三三-三-s.=s:s:I三三=三si三三三w三三三三H三M三s三三三Is三i三三-三E三三三三三三:H三:三S然后使用其他手法加载就行。PE注入将其SheIICode复制到现有的打开进程中并使其执行(例如:调用CreateRemoteThread).PE注入相对于1.oad1.ibrary技术的优势之一是我们不必在磁盘上放置D1.1.与D1.1.注入类似在目标进程(例如VirtUalAlloCEX)中分配内存然后使用WritePro