Idov31/Nidhogg

GitHub: Idov31/Nidhogg

一个多功能的 Windows 内核级 Rootkit,旨在提供进程保护、隐藏及防御规避等一站式内核操作方案。

Stars: 2274 | Forks: 323

# 尼德霍格

Logo

![图片](https://img.shields.io/badge/C%2B%2B-00599C?style=for-the-badge&logo=c%2B%2B&logoColor=white) ![图片](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge&logo=windows&logoColor=white) Nidhogg 是一款多功能 rootkit,旨在展示可以从内核空间执行的各种操作。Nidhogg 的目标是提供一个全方位且易于使用的 rootkit,并为操作提供多种有用的功能。除此之外,它还可以轻松地与您的 C2 框架集成。 Nidhogg 可以在任何版本的 x64 Windows 10 和 Windows 11 上运行。 此仓库包含一个内核驱动程序以及一个用于与其通信的 C++ 程序。 如果您想了解更多信息,请查看 [wiki](https://github.com/Idov31/Nidhogg/wiki) 以获取详细说明。 ## 当前功能 - 进程隐藏与取消隐藏 - 进程提权 - 进程保护(防杀和防转储) - 绕过 pe-sieve - 线程隐藏与取消隐藏 - 线程保护(防杀) - 文件保护(防删除和防覆盖) - 注册表项和值保护(防删除和防覆盖) - 注册表项和值隐藏 - 查询当前受保护的进程、线程、文件、隐藏端口、注册表项和值 - 函数补丁 - 内置 AMSI 绕过 - 内置 ETW 补丁 - 进程签名 (PP/PPL) 修改 - 可被反射加载 - Shellcode 注入 - APC - NtCreateThreadEx - DLL 注入 - APC - NtCreateThreadEx - 查询内核回调 - ObCallbacks - 进程和线程创建例程 - 镜像加载例程 - 注册表回调 - 移除和恢复内核回调 - ETWTI 篡改 - 模块隐藏 - 驱动隐藏与取消隐藏 - 凭据转储 - 端口隐藏/取消隐藏 - 脚本执行 - 初始操作 ## 反射加载 从 v0.3 版本开始,Nidhogg 可以通过 [kdmapper](https://github.com/TheCruZ/kdmapper) 进行反射加载,但由于如果驱动程序注册回调,[PatchGuard](https://en.wikipedia.org/wiki/Kernel_Patch_Protection) 将被自动触发,因此 Nidhogg 不会注册任何回调。这意味着,如果您以反射方式加载驱动程序,默认情况下将禁用以下功能: - 进程保护 - 线程保护 - 注册表操作 ## 脚本执行 从 v1.0 版本开始,Nidhogg 可以执行 [NidhoggScripts](https://github.com/Idov31/NidhoggScript) —— 这是一个允许用户依次执行多个命令的工具,从而为 Nidhogg 创建剧本。要了解如何编写剧本,请查看 [wiki](https://github.com/Idov31/NidhoggScript/wiki) ## 初始操作 从 v1.0 版本开始,Nidhogg 还可以执行 [NidhoggScripts](https://github.com/Idov31/NidhoggScript) 作为初始操作。这意味着,如果它在项目根目录(与 Python 文件相同的目录)中发现 `out.ndhg` 文件,它将在每次驱动程序运行时执行该文件。 ## 触发 PatchGuard 的功能 以下是已知会触发 [PatchGuard](https://en.wikipedia.org/wiki/Kernel_Patch_Protection) 的功能,您仍可以自行承担风险使用它们。 - 进程隐藏 - 文件保护 ## 基本用法 要查看可用命令,您可以运行 `NidhoggClient.exe` 或查看 [wiki](https://github.com/Idov31/Nidhogg/wiki) 以获取有关如何使用每个命令、其参数以及工作原理的详细信息。 ``` NidhoggClient.exe # 简单用法:隐藏进程 NidhoggClient.exe process hide 3110 ``` ## 安装设置 ### 构建客户端 要编译客户端,您需要安装 [Visual Studio 2022](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=16),然后像构建任何其他 Visual Studio 项目一样构建该项目即可。 ### 构建驱动程序 要编译该项目,您需要以下工具: - [Visual Studio 2022](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=16) - [Windows Driver Kit](https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk) - [Python](https://www.python.org/downloads/)(用于初始操作) 克隆仓库并构建驱动程序。 ### 驱动测试 要在您的测试环境中进行测试,请使用提权的 cmd 运行以下命令: ``` bcdedit /set testsigning on ``` 重启后,创建一个服务并运行驱动程序: ``` sc create nidhogg type= kernel binPath= C:\Path\To\Driver\Nidhogg.sys sc start nidhogg ``` ### 调试 要在您的测试环境中调试驱动程序,请使用提权的 cmd 运行此命令并重启电脑: ``` bcdedit /debug on ``` 重启后,您可以在 [DebugView](https://learn.microsoft.com/en-us/sysinternals/downloads/debugview) 等工具中查看调试消息。 ## 资源 - [Windows Kernel Programming Book](https://github.com/zodiacon/windowskernelprogrammingbook) - [Kernel Structure Documentation](https://www.vergiliusproject.com) - [Registry Keys Hiding](https://github.com/JKornev/hidden) - [Process Signatures](https://github.com/itm4n/PPLcontrol) - [NtCreateThreadEx Hotfix](https://github.com/DarthTon/Blackbone) - [Credential Dumping](https://github.com/gentilkiwi/mimikatz) - [Port Hiding](https://github.com/bytecode77/r77-rootkit) - [Logo](https://hotpot.ai/art-generator) ## 贡献 非常感谢为该项目做出贡献的人员: - [BlackOfWorld](https://github.com/BlackOfWorld) - [0nlyDev](https://github.com/0nlyDev)
标签:AMSI绕过, Bro, C++, DLL注入, ETW劫持, Monitoring, Network, NSM, Rootkit, Security, Windows内核驱动, Zeek, 云提供商集成, 元数据提取, 内核回调, 内核模式, 凭据导出, 协议分析, 威胁检测, 安全研究, 数据擦除, 日志记录, 权限提升, 流量审计, 红蓝对抗, 网络可见性, 网络安全监控, 进程保护, 进程隐藏, 逆向工具, 隐蔽技术, 驱动开发