序 偶然看到某国外大佬发布新技术-“Threadless”进程注入技术,据说可过EDR(确实可),总结该技术原理 - 在远程目标进程中利用DLL通知回调机制执行shellcode,项目地址在这里。 传统进程注入四步法: 获取远程进程句柄(OpenProcess函数) 在远程进程中分配内存(VirtualAllocEx函数) 将shellcode复制到远程进程中新分配的内存页中(WriteProcessMemory函数) 在远程进程中创建线程执行shellcode(CreateRemoteThread函数) 杀毒软件和EDR产品已经学会通过快速查找这四步操作来概括并检测进程注入。 针对第四步执行shellcode方式,@CCob与@Kudaes相继提出新加载技术 - ThreadlessInject。原理上基本一致,Hook并修改远程进程中线程创建与销毁过程中DLL加载的入口点,进而加载我们的shellcode。下面我们逐步剖析学习一下该技术手段。 什么是DLL Notification Callbacks? 在 Windows 操作系统中,当一个...