y637F9QQ2x/NOFILTER-NFEXEC

GitHub: y637F9QQ2x/NOFILTER-NFEXEC

基于 Havoc C2 的 BOF 工具,通过滥用 Windows Filtering Platform 在内核空间实现 SYSTEM 提权,并以无补丁方式绕过 AMSI/ETW 执行命令或 PowerShell。

Stars: 66 | Forks: 5

# NOFILTER-NFEXEC ## 用法 ``` # 步骤 1: 提权到 SYSTEM nofilter # auto-detect SYSTEM process nofilter -p # specify target PID token getuid # verify: NT AUTHORITY\SYSTEM (Admin) # 步骤 2: 以 SYSTEM 身份运行命令 nfexec whoami # auto → exec mode nfexec whoami /priv # auto → exec mode nfexec ipconfig /all # auto → exec mode nfexec Get-Process lsass # auto → PS mode nfexec dir C:\Windows # auto → PS mode nfexec -exec C:\tools\tool.exe # force exec mode nfexec -ps [Environment]::UserName # force PS mode # 还原 token revert # drop back to original context ``` nfexec 会自动检测约 100 个原生命令(whoami、ipconfig、net、sc、reg 等)并将它们路由至 exec 模式。其他所有内容将进入 PS 模式。使用 `-ps` 或 `-exec` 可覆盖此行为。 ## 演示 ![NOFILTER-NFEXEC_DEMO](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/e5f71a1f0c185223.gif) ## OPSEC ### NOFILTER | 属性 | 详情 | |---|---| | Token 复制 | 通过 tcpip.sys IOCTL 在内核空间进行(不触发用户态 Hook) | | 系统调用 | 所有 Nt* 均通过 Havoc NtApi[] 间接系统调用执行 | | 静态特征 | 经 XOR 编码的字符串(WfpAle、lsass、services、BFE、File、Token) | | 符号表 | 通过 objcopy 清理了 20 个符号 | | 错误信息 | 仅包含不透明代码([!] E01–E11, [+] S1–S9) | | 内存擦除 | 解码后的字符串在使用后于栈上清零 | | KERNEL32 导入 | 零 | ### NFEXEC | 属性 | 详情 | |---|---| | AMSI | HWBP DR0 + VEH: result=CLEAN, RAX=S_OK(无补丁) | | ETW | HWBP DR1 + VEH: RAX=0(无补丁) | | 内存修改 | 无 | | 间接系统调用 | PEB 遍历 + Halo's Gate SSN + ntdll 中的 syscall;ret gadget | | 返回地址欺骗 | 栈帧指向 ntdll 的 ret gadget,而非 BOF 内存 | | 函数解析 | FNV-1a 哈希——二进制文件中没有函数名字符串 | | ADVAPI32 导入 | 零(CreateProcessWithTokenW 通过 PEB 遍历解析) | | KERNEL32 导入 | 仅 5 个(管道 I/O + 字符串转换,不可替代) | | 静态特征 | 经 XOR 编码的函数名,.rdata 中无 IOC 字符串 | | 符号表 | 通过 objcopy 清理了 34 个符号 | | 错误信息 | 仅包含不透明代码([!] E00–E19) | | 内存擦除 | ScScrub 将 ntdll 基址/gadget/SSN 清零;STARTUPINFO + cmdline 被清零 | | CLM 绕过 | 自定义 Runspace = FullLanguage | | AppDomain | 每次执行使用随机名称 | ## 安装 ``` cp -r NOFILTER-NFEXEC/ /usr/share/havoc/data/extensions/NOFILTER-NFEXEC/ # 在 Havoc Script Manager 中加载 nofilter.py 和 nfexec.py ``` ## 构建 ``` make ``` ## 工作原理 ### NOFILTER ![nofilter-flow](https://github.com/y637F9QQ2x/NOFILTER-NFEXEC/blob/main/img/nofilter-flow.svg) ### NFEXEC ![nfexec-flow](https://github.com/y637F9QQ2x/NOFILTER-NFEXEC/blob/main/img/nfexec-flow.svg) ## OPSEC 详情 ### NOFILTER ![nofilter-opsec](https://github.com/y637F9QQ2x/NOFILTER-NFEXEC/blob/main/img/nofilter-opsec.svg) ### NFEXEC ![nfexec-opsec](https://github.com/y637F9QQ2x/NOFILTER-NFEXEC/blob/main/img/nfexec-opsec.svg) ## 致谢 NOFILTER 权限提升技术由 **Deep Instinct** 的安全研究员 **Ron Ben-Yizhak**([@RonB_Y](https://twitter.com/RonB_Y))在 DEF CON 31(2023 年 8 月)上发现并发表。如果没有他对 Windows Filtering Platform 内部的杰出研究,就不会有本实现的诞生。 - **DEF CON 31 演讲**:[#NoFilter: Abusing Windows Filtering Platform for Privilege Escalation](https://media.defcon.org/DEF%20CON%2031/DEF%20CON%2031%20presentations/Ron%20Ben-Yizhak%20-%20NoFilter%20Abusing%20Windows%20Filtering%20Platform%20for%20privilege%20escalation.pdf) - **Deep Instinct 博客**:[NoFilter — 滥用 Windows Filtering Platform 进行权限提升](https://www.deepinstinct.com/blog/nofilter-abusing-windows-filtering-platform-for-privilege-escalation) - **原始工具**:[deepinstinct/NoFilter](https://github.com/deepinstinct/NoFilter) 已通知 Microsoft MSRC,该行为被归类为设计预期。 ## 第三方 PowershellRunner.h 包含来自 [HavocFramework/Modules](https://github.com/HavocFramework/Modules)(PowerPick)的 .NET 程序集,采用 GPLv3 许可。详情请参见 LICENSE。 ## 许可证 MIT(有关第三方组件,请参见 LICENSE) ## 免责声明 仅限用于**授权的渗透测试和红队行动**。未经授权对您不拥有或未获得明确测试许可的系统使用本工具是违法的。
标签:AI合规, AMSI绕过, BOF, C2框架, Chrome扩展, DNS枚举, ETW绕过, Havoc, OPSEC, SSN, SYSTEM权限, WFP, 令牌窃取, 内存混淆, 内核空间, 协议分析, 命令执行, 多人体追踪, 威胁检测, 安全学习资源, 客户端加密, 恶意软件研发, 提权, 数据展示, 无补丁绕过, 权限提升, 欺骗防御, 硬件断点, 私有化部署, 符号表清洗, 红队, 网络安全, 网络安全工具, 返回地址欺骗, 邮件钓鱼, 间接系统调用, 防御规避, 隐私保护