一个工具使用 Windows 过滤平台 (WFP) 来阻止终端检测和响应 (EDR) 代理将安全事件报告到服务器。
受 MdSec NightHawk 的闭源工具 FireBlock FireBlock 的启发,我决定创建自己的版本,并以此工具为目标,利用 Windows 过滤平台 (WFP) API 阻止正在运行的 EDR 进程的出站流量。
此工具具有以下功能: - 搜索已知运行的 EDR 进程,并添加 WFP 过滤器以阻止其出站流量 - 为特定进程添加 WFP 过滤器 - 删除由本工具创建的所有 WFP 过滤器 - 根据过滤器 ID 删除特定的 WFP 过滤器 - 支持在 C2 中运行内存 PE 执行模块 (例如,BruteRatel 的 memexec) - 一些 EDR 控件 (例如,小型过滤器) 会在进程尝试获取其 EDR 进程的文件句柄 (例如,通过 CreateFileW) 时拒绝访问。但是,用于获取目标 EDR 进程的 WFP 应用程序 ID 的 FwpmGetAppIdFromFileName0 API 内部调用了 CreateFileW。为了避免此情况,我们实现了自定义的 FwpmGetAppIdFromFileName0 API,用于构建应用程序 ID,而不调用 CreateFileW,从而避免在为 EDR 进程添加 WFP 过滤器时出现意外失败
该工具目前支持以下 EDR: - Microsoft Defender for Endpoint 和 Microsoft Defender Antivirus - Elastic EDR - Trellix EDR - Qualys EDR - SentinelOne - Cylance - Cybereason - Carbon Black EDR - Carbon Black Cloud - Tanium - Palo Alto Networks Traps/Cortex XDR - FortiEDR - Cisco Secure Endpoint (原名 Cisco AMP) - ESET Inspect - Harfanglab EDR - TrendMicro Apex One **由于我无法访问所有这些 EDR 进行测试,如果列出的进程 (edrProcess 在 EDRSilencer.c 中) 不足以阻止所有警报、检测或事件转发流量,请不要犹豫地更正我。
暂无开放 Issues,或尚未同步最近议题。