Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
EDRPrison — 利用合法的 WFP 标注驱动程序来阻止 EDR 代理发送遥测数据 | Kitploit
工具/GitHubGitHub/senzee1984/edrprison
IDS/IPS规避后渗透利用网络安全红队对抗性攻击
GitHubsenzee1984/edrprison

EDRPrison

利用合法的 WFP 标注驱动程序来阻止 EDR 代理发送遥测数据

查看仓库
479462年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

EDRPrison

联合作者:@oops4git(https://github.com/oops4git)

EDRPrison 利用合法的 WFP 标注驱动程序 WinDivert 来有效静默 EDR 系统。该项目借鉴了 Shutter、FireBlock 和 EDRSilencer 等工具的思路,专注于基于网络的规避技术。与之前的工具不同,EDRPrison 安装并加载一个外部合法的 WFP 标注驱动程序,而不是仅依赖内置的 WFP。此外,它通过动态添加运行时过滤器来阻止 EDR 进程的出站流量,而无需直接与 EDR 进程或其可执行文件交互。

总之,EDRPrison 具有以下关键特性和能力:

  • 合法 WFP 标注驱动程序:利用合法的 WFP 标注驱动程序来增强能力,同时保持良性特征。
  • EDR 进程检测:根据预定义的进程名称搜索正在运行的 EDR 进程。
  • 数据包识别:识别源自 EDR 进程的数据包。
  • 动态添加过滤器:根据数据包的源进程动态添加 WFP 过滤器。
  • 非侵入式方法:避免与 EDR 进程及其可执行文件直接交互,确保隐蔽性并降低被检测的风险。

更多技术细节请参阅文章:https://winslow1984.com/books/malware/page/edrprison-borrow-a-legitimate-driver-to-mute-edr-agent

组件

成功运行 EDRPrison 需要提升的权限。EDRPrison 由以下三个组件组成:

  • EDRPrison:这是主程序及其依赖项。其首次执行时会安装 WinDivert 驱动程序。
  • WinDivert64.sys:这是已签名的 WFP 标注驱动程序。
  • WinDivert.dll:WinDivert 项目的组件之一。

优势与改进

EDRPrison 在其前身的基础上提供了多项增强和改进,使其成为更强大、更隐蔽的基于网络的 EDR 规避工具:

  1. 不同于向 EDR 进程可执行文件添加静态 WFP 过滤器,EDRPrison 根据数据包的源进程动态添加运行时 WFP 过滤器。
  2. 避免获取 EDR 进程或 EDR 可执行文件的句柄,从而降低被检测的风险并减少对 EDR 系统的干扰。
  3. 通过加载合法的 WFP 标注驱动程序,EDRPrison 扩展了其能力,同时保持良性特征。

已知问题

  1. 目前,EDRPrison 使用 C# 编写,需要在磁盘上存在多个文件,这影响了隐蔽性。我计划用 C++ 重新实现,使主程序能够完全在内存中执行,以增强其隐蔽能力。
  2. 程序执行与最初阻止某些 EDR 进程的网络连接之间存在延迟。这种延迟可能导致遥测数据在最初几秒内被发送到云服务器。我正在努力解决这个问题,以确保即时拦截和阻止。

测试示例

由于我手头资源有限,到目前为止我已在物理服务器上针对 Elastic Endpoint 和 Microsoft Defender for Endpoint (MDE) 测试了 EDRPrison。

Elastic Endpoint 和 MDE 的相关进程已硬编码在源代码中。测试期间,主程序和 WinDivert 均未被安全系统检测到。

我测试了一些常见的恶意软件样本,例如 Mimikatz。这些样本仍然可能被检测到,因为即使没有互联网连接,EDR 系统仍保留基本的检测能力,例如基于哈希的签名。执行恶意软件后,数据包数量增加,表明其中包含警报数据。

image

虽然某些检测会在本地发生,但不会出现在 EDR 面板上。在没有互联网连接的情况下,EDR 系统无法利用机器学习和云计算等高级功能来阻止更复杂的恶意软件攻击。

image

image

针对更多 EDR 进行测试

修改以下代码片段以硬编码更多 EDR 进程。

root@kitploit:~
        static void initData()
        {
            processDictionary.TryAdd("MsMpEng.exe", 1);
            processDictionary.TryAdd("MsSense.exe", 1);
            processDictionary.TryAdd("SenseIR.exe", 1);
            processDictionary.TryAdd("SenseNdr.exe", 1);
            processDictionary.TryAdd("SenseCncProxy.exe", 1);
            processDictionary.TryAdd("SenseSampleUploader.exe", 1);
            processDictionary.TryAdd("elastic-endpoint.exe", 1);
            processDictionary.TryAdd("elastic-agent.exe", 1);
        }

检测与缓解措施

以下方法可用于检测或缓解 EDRPrison 的使用。不过,具体取决于环境,其中一些检测可能会导致误报 (FP)。

驱动程序加载事件

如果系统中尚未安装 WinDivert 驱动程序,EDRPrison 将在首次执行时安装该标注驱动程序。操作系统和遥测数据都会记录此事件。

WinDivert 文件的存在

EDRPrison 和其他依赖 WinDivert 的程序需要磁盘上存在 WinDivert64.sys 和 WinDivert.dll。监控这些文件有助于检测此类程序。

WinDivert 使用检测工具

WinDivertTool 等工具可以检测当前正在使用 Windows 筛选平台 (WFP) 的进程。

image

针对 EDR 进程的数据包丢弃/阻止操作

Elastic 有一条检测 规则,可以识别针对安全软件进程的数据包丢弃或阻止操作,这可能表明 EDRPrison 的存在。

审查已注册的 WFP 提供程序、过滤器和标注

工具 WFPExplorer 可帮助管理员审查活动的 WFP 会话、已注册的标注和过滤器。

image

image

image

image

Adminless(无管理员权限)

未来可能增加的一项功能是为驱动程序安装提供额外保护,进一步增强针对未经授权使用 WinDivert 等驱动程序的安全性。

红队规避检测的策略

从红队的角度来看,可以根据环境的安全配置采用多种策略来规避上述检测。

寻找 WinDivert 的替代方案

如果 WinDivert 在环境中被视为恶意软件,可以使用其他已签名的开源驱动程序。这些替代方案应具有较少的恶意使用记录,并且仍然支持数据包拦截、重新注入以及其他操作技术。

复用已安装的或内置的 WFP 标注驱动程序

在未经批准不得使用外部驱动程序的环境中,对已安装的或内置的 WFP 标注驱动程序进行逆向工程虽然具有挑战性,但却是可行的。通过复用其标注函数,红队成员可以利用现有的驱动程序。许多安全软件解决方案都包含自己的 WFP 标注驱动程序,可以重新加以利用。

改变对拦截数据包的处理动作

红队成员可以不阻止或丢弃拦截到的数据包,而是将其重定向或代理。这种方法可以规避专注于数据包丢弃或阻止操作的检测规则,同时仍能实现对 EDR 进程的预期干扰。

致谢

以下资源在我的研究过程中给予了我很多启发和帮助。我向所有作者表示感谢:

https://github.com/netero1010/EDRSilencer

https://github.com/dsnezhkov/shutter

https://www.mdsec.co.uk/2023/09/nighthawk-0-2-6-three-wise-monkeys/

https://github.com/amjcyber/EDRNoiseMaker

https://www.securityartwork.es/2024/06/17/edr-silencer-2/

https://windowsir.blogspot.com/2024/01/edrsilencer.html

https://github.com/TechnikEmpire/HttpFilteringEngine

https://reqrypt.org/windivert.html

https://learn.microsoft.com/en-us/defender-cloud-apps/network-requirements

https://learn.microsoft.com/en-us/defender-endpoint/configure-network-connections-microsoft-defender-antivirus

https://github.com/microsoft/windows-driver-samples/tree/main/network/trans/WFPSampler

https://github.com/TechnikEmpire/CitadelCore

https://github.com/TechnikEmpire/HttpFilteringEngine

下载工具