11philip22/code-Injection

GitHub: 11philip22/code-Injection

收集并演示多种 Windows 进程注入与 shellcode 执行技术的安全研究项目。

Stars: 18 | Forks: 7

# 代码注入技术 本仓库记录并演示了不同的 Windows 进程注入方法。每种技术都利用底层 Windows API 在目标进程中运行任意 shellcode。 ## Section 注入 **方法:** 使用 `NtCreateSection`、`NtMapViewOfSection` 和 `RtlCreateUserThread`。 [参考:phasetw0 – Section Code Injection](http://phasetw0.com/section-code-injection/) ### 工作原理 1. 启动一个宿主进程(例如 `notepad.exe`),它将执行 shellcode。 2. 通过 `NtCreateSection` 创建具有 **RWX** 权限的内存 Section。 3. 使用 `NtMapViewOfSection` 将 Section 映射到本地进程,权限为 **RW**。 4. 将同一个 Section 映射到远程目标进程,权限为 **RX**。 5. 将 shellcode 写入本地映射视图 → 此更改会反映在远程映射 Section 中。 6. 通过 `RtlCreateUserThread` 在目标进程中创建远程线程开始执行,并将其指向注入的 shellcode。 ## APC 队列注入 **方法:** 使用异步过程调用在目标进程的可警告线程中运行代码。 [参考:Modexp – APC Injection](https://modexp.wordpress.com/2019/08/27/process-injection-apc/) [参考:ired.team – APC Queue Injection](https://www.ired.team/offensive-security/code-injection-process-injection/apc-queue-code-injection) ### 工作原理 1. 识别目标进程(`explorer.exe`)的 PID。 2. 在目标进程内分配具有 **RWX** 权限的内存。 3. 将 shellcode 写入该分配的内存中。 4. 枚举目标进程的线程,然后找到一个**可警告线程**(通过检查其上下文/状态)。 5. 将指向注入 shellcode 的 APC 排队。当线程进入可警告状态时,shellcode 将被执行。 ## 扩展阅读 - [NtCreateSection + NtMapViewOfSection Code Injection (ired.team)](https://www.ired.team/offensive-security/code-injection-process-injection/ntcreatesection-+-ntmapviewofsection-code-injection) - [Process Injection: APC Queue (modexp)](https://modexp.wordpress.com/2019/08/27/process-injection-apc/)
标签:APC 注入, C/C++, Section Injection, Shellcode 注入, SSH蜜罐, UML, Windows API, 事务性I/O, 代码执行, 免杀技术, 内存操作, 内核对象, 同步过程调用, 客户端加密, 恶意代码分析, 数据展示, 暴力破解检测, 端点可见性, 红队, 线程劫持, 进程注入, 配置文件