DarkWidow 项目使用教程
1. 项目介绍
DarkWidow 是一个针对 Windows 系统的可定制化 Dropper 工具。它集成了多种高级技术,如间接动态系统调用(Indirect Dynamic Syscall)、远程进程注入(Remote Process Injection)、PPID 欺骗(PPID spoofing)等,旨在绕过现代 EDR(Endpoint Detection and Response)系统的检测。该项目在 BlackHat Asia 2024、BlackHat USA 2024 和 BlackHat SecTor 2024 的工具征集活动中被提名。
主要功能:
- 间接动态系统调用:通过 Modified TartarusGate 方法进行系统调用地址排序。
- 远程进程注入:使用 APC Early Bird 技术进行远程进程注入,以绕过 EDR 的检测。
- PPID 欺骗:通过欺骗父进程 ID 来隐藏恶意行为。
- API 解析:从 TIB(Thread Information Block)中解析 API,避免硬编码偏移。
- API 哈希:使用 Cursed Nt API 哈希技术,进一步混淆 API 调用。
2. 项目快速启动
2.1 环境准备
- 操作系统:Windows
- 开发工具:Visual Studio
2.2 编译项目
-
克隆项目到本地:
git clone https://github.com/reveng007/DarkWidow.git
-
使用 Visual Studio 打开项目目录中的解决方案文件(
.sln
)。 -
在项目属性中,添加
/MT
编译器标志,以静态链接 CRT 函数。 -
编译项目:
msbuild DarkWidow.sln /p:Configuration=Release /p:Platform=x64
2.3 运行项目
编译完成后,在 x64\Release
目录下会生成 indirect.exe
文件。运行该文件时,需要指定要欺骗的 PPID:
.\x64\Release\indirect.exe <PPID to spoof>
3. 应用案例和最佳实践
3.1 绕过 EDR 检测
DarkWidow 通过使用间接动态系统调用和远程进程注入技术,能够有效绕过大多数 EDR 系统的检测。在实际应用中,可以将其用于测试和评估现有 EDR 系统的防护能力。
3.2 PPID 欺骗
通过 PPID 欺骗技术,DarkWidow 能够隐藏恶意进程的父进程信息,使得恶意行为更难被检测到。在渗透测试中,可以利用这一特性来隐藏恶意行为。
3.3 API 解析和哈希
DarkWidow 从 TIB 中动态解析 API,并使用 API 哈希技术,进一步混淆 API 调用。这种技术可以有效避免硬编码 API 地址,增加检测难度。
4. 典型生态项目
4.1 Havoc Shellcode
DarkWidow 使用了 Havoc Shellcode 进行 shellcode 开发。Havoc Shellcode 是一个开源的 shellcode 生成工具,支持多种平台和架构。
4.2 SEKTOR7
SEKTOR7 提供了多种 Windows 内核和系统调用相关的工具和教程,DarkWidow 在实现间接系统调用时参考了 SEKTOR7 的相关技术。
4.3 PESieve
PESieve 是一个用于检测和分析恶意软件的工具,DarkWidow 在开发过程中使用了 PESieve 进行自我检测和分析。
通过以上模块的介绍,您可以快速了解并使用 DarkWidow 项目,同时了解其在实际应用中的最佳实践和相关生态项目。