Hue-Jhan/Early-Bird-Process-and-Dll-injection
GitHub: Hue-Jhan/Early-Bird-Process-and-Dll-injection
一个演示早期鸟 Apc 注入与 DLL 注入的 Shellcode 加载工具,用于研究触发时机对检测的影响。
Stars: 3 | Forks: 0
# 早期鸟进程与 DLL 注入
在远程进程中通过早期鸟 Apc 注入或使用 apc 调用 LoadLibrary 的 DLL 注入来加载 Shellcode。此代码仅供教育用途,不得用于任何恶意或未授权活动。
# 🖥️ 代码
与之前的项目 [APc 进程注入](https://github.com/Hue-Jhan/Apc-Process-Injection-and-DLL-injection) 类似,本仓库包含 3 个项目,它们具有相同的基本结构并共享大部分代码,分别是:简单早期鸟注入、DLL 版本(针对其自身进程),以及一个 DLL 注入器(LoadLibraryA),其中的 Shellcode 用于弹出一个 Windows 消息框。
### 1) 早期鸟简单进程注入
启动一个进程并向其队列 Shellcode:
1. 首先对 Shellcode 进行解密,若想了解加密机制可查看[此处](https://github.com/Hue-Jhan/Simple-shellcode-crypter);
2. 其次以挂起状态启动进程并获取其句柄及主线程句柄;
3. 然后在其中执行经典的分配 -> 写入/复制 -> 设置为 RWX;
4. 最后将 Shellcode 队列化到主线程并恢复进程,触发执行。
### 2) DLL 版本
与上述行为完全相同,但注入起点为被注入的进程本身。在加载器锁之外创建新线程对于避免死锁至关重要。你也可以考虑禁用预编译头文件以移除 pch 文件和 Visual Studio 错误。
如果被早期鸟注入器注入,该 DLL 可能无法正常工作,原因未知。
### 3) DLL 注入器
启动一个进程并通过队列 LoadLibraryA 将恶意 DLL 加载进去,之后再构建可执行文件。在构建可执行文件之前,请将 DLL 文件放置到同一目录中:
1. 首先从可执行文件中提取 DLL(视为资源),写入磁盘,并计算其路径/大小/名称长度等信息;
2. 其次启动目标进程并获取其挂起状态及主线程句柄;
3. 然后在进程中分配与 DLL 路径等长的内存,将路径写入并设置为 RWX;
4. 接着获取 kernel32.dll 的基地址以找到用于加载恶意库的函数指针;
5. 最后通过 LoadLibrary 将 DLL 的基地址队列化到目标进程并恢复其执行。
如果被注入的 DLL 本身又是早期鸟注入的内容,可能会失败,原因未知。
# 🛡️ AV 检测
该技术理论上更隐蔽,因为挂起的进程可能不会被 EDR 挂钩,且执行是瞬时触发的。然而它在 VirusTotal 上的检出率高于经典 Apc 注入,我认为大多数情况下后者更隐蔽且效果更好……
左侧为简单版本在 VirusTotal 的检出情况,右侧为 DLL 版本的检测结果。进程注入器与 DLL 版本(下方)容易被 Bitdefender 和部分 Windows Defender 拦截。
DLL 版本绕过了两者,除了 Bitdefender 的高级威胁防御(这非常难以绕过,我已经尝试了所有方法 xd)。我使用 Resource Hacker 对其进行了混淆,并上传了 VisualStudioSetup(简单版与注入器)以及 ntdll.dll(DLL 版),显著降低了检出率,尤其是对 DLL。
该技术理论上更隐蔽,因为挂起的进程可能不会被 EDR 挂钩,且执行是瞬时触发的。然而它在 VirusTotal 上的检出率高于经典 Apc 注入,我认为大多数情况下后者更隐蔽且效果更好……
左侧为简单版本在 VirusTotal 的检出情况,右侧为 DLL 版本的检测结果。进程注入器与 DLL 版本(下方)容易被 Bitdefender 和部分 Windows Defender 拦截。
DLL 版本绕过了两者,除了 Bitdefender 的高级威胁防御(这非常难以绕过,我已经尝试了所有方法 xd)。我使用 Resource Hacker 对其进行了混淆,并上传了 VisualStudioSetup(简单版与注入器)以及 ntdll.dll(DLL 版),显著降低了检出率,尤其是对 DLL。标签:APC注入, APT攻击, DAST, DLL注入, Early Bird注入, LoadLibrary, Shellcode加密, SIP, SSH蜜罐, T1055, T1059, T1083, UML, Windows攻击, 云资产清单, 代码注入技术, 客户端加密, 恶意软件分析, 教育用途, 流量审计, 端点可见性, 红队技术, 线程注入, 网络安全审计, 进程提权, 进程注入, 远程线程执行, 逆向工程