EDR监测遭遇滑铁卢?无驱动技术让你轻松突破EDR!
字数 1228 2025-08-20 18:18:40

无驱动技术突破EDR监测:基于WFP的流量监测绕过技术详解

技术背景与原理

EDR(终端检测与响应)系统通过多种技术手段监控终端行为,其中网络流量监测是核心功能之一。传统绕过方法依赖驱动级操作,但随着漏洞驱动被广泛拉黑,这种方法效果大幅降低。

Windows过滤平台(WFP)是微软自Windows Vista/Server 2008引入的网络流量处理框架,取代了早期的TDI和NDIS技术。WFP提供了完整的API集,允许开发防火墙、入侵检测等网络安全产品。

WFP核心组件解析

  1. 过滤引擎(Filter Engine)

    • WFP的核心组件,存在于内核和用户模式
    • 功能:流量过滤、实现callout过滤器、流量控制、策略综合判断
  2. 基础过滤引擎(Base Filtering Engine)

    • 服务组件,负责过滤器管理和调度
    • 功能:接收配置、系统状态统计、权限管理、模块连接
  3. 过滤器(Filter)

    • 具体过滤规则,包含判定条件和触发行为
  4. 提供者(Provider)

    • 管理一个或多个Filter的实体
  5. Shim组件

    • 内核模式流量采集器,支持多协议层流量采集
  6. 回调函数(Callouts)

    • 捕获目标流量时执行特定操作
  7. API

    • 开发WFP应用的函数接口集

技术实现原理

通过WFP API删除EDR进程设置的Filter规则,可以阻断EDR的流量监测能力:

  1. EDR通常使用用户模式WFP实现流量监测
  2. 管理员权限即可完全控制用户层WFP
  3. 删除Filter后EDR无法捕获网络行为
  4. EDR Agent通常不会监控自身Filter状态,删除后不会自动恢复

详细操作步骤

1. 初始化WFP引擎

HANDLE hEngine = NULL;
if (FwpmEngineOpen0(NULL, RPC_C_AUTHN_DEFAULT, NULL, NULL, &hEngine) != 0) {
    // 错误处理
}

2. 枚举所有Filter

FWPM_FILTER0** ppFilters = NULL;
UINT32 numFilter = 0;
DWORD res = FwpmFilterCreateEnumHandle0(hEngine, NULL, &enumHandle);
res = FwpmFilterEnum0(hEngine, enumHandle, INFINITE, &ppFilters, &numFilter);

3. 删除目标Filter

void DeleteFilter(HANDLE hEngine, std::wstring target, FWPM_FILTER0** ppFilters, UINT32 numFilter) {
    for (UINT32 i = 0; i < numFilter; i++) {
        if (wcsstr(ppFilters[i]->displayData.name, target.c_str())) {
            FwpmFilterDeleteById0(hEngine, ppFilters[i]->filterId);
        }
    }
}

4. 针对性删除EDR相关Filter

// 示例:删除Bitdefender相关Filter
DeleteFilter(hEngine, L"Bitdefender", ppFilters, numFilter);
DeleteFilter(hEngine, L"BD", ppFilters, numFilter);

效果验证

删除前:

  • EDR能捕获注入行为
  • 网络请求被拦截,C2无法上线
  • 管理台收到告警

删除后:

  • 成功请求bin文件并上线
  • 管理台无告警
  • ER视角中客户端无对外流量

技术特点

  1. 无需驱动:完全在用户空间操作
  2. 权限要求低:仅需管理员权限
  3. 持久性:EDR通常不会自动恢复被删除的Filter
  4. 隐蔽性:不影响EDR其他功能,减少被发现概率

防御对策

  1. Filter状态监控:定期检查关键Filter是否存在
  2. API调用监控:监测WFP关键API的调用
  3. 内核级补充:结合ETW实现内核层流量监测
  4. 权限控制:限制对WFP关键操作的权限

适用范围与限制

  1. 适用:仅使用用户模式WFP实现流量监测的EDR
  2. 不适用:使用ETW内核监测流量的EDR
  3. 效果:仅影响流量监测模块,不影响其他防护功能

参考资源

  1. Microsoft WFP官方文档
  2. EDRSilencer项目

总结

这种基于WFP的无驱动EDR绕过技术提供了一种相对简单但有效的流量监测规避方法,特别适合在驱动级操作受限的环境中使用。防御方应加强WFP相关操作的监控和防护,形成多层次的防御体系。

无驱动技术突破EDR监测:基于WFP的流量监测绕过技术详解 技术背景与原理 EDR(终端检测与响应)系统通过多种技术手段监控终端行为,其中网络流量监测是核心功能之一。传统绕过方法依赖驱动级操作,但随着漏洞驱动被广泛拉黑,这种方法效果大幅降低。 Windows过滤平台(WFP)是微软自Windows Vista/Server 2008引入的网络流量处理框架,取代了早期的TDI和NDIS技术。WFP提供了完整的API集,允许开发防火墙、入侵检测等网络安全产品。 WFP核心组件解析 过滤引擎(Filter Engine) : WFP的核心组件,存在于内核和用户模式 功能:流量过滤、实现callout过滤器、流量控制、策略综合判断 基础过滤引擎(Base Filtering Engine) : 服务组件,负责过滤器管理和调度 功能:接收配置、系统状态统计、权限管理、模块连接 过滤器(Filter) : 具体过滤规则,包含判定条件和触发行为 提供者(Provider) : 管理一个或多个Filter的实体 Shim组件 : 内核模式流量采集器,支持多协议层流量采集 回调函数(Callouts) : 捕获目标流量时执行特定操作 API : 开发WFP应用的函数接口集 技术实现原理 通过WFP API删除EDR进程设置的Filter规则,可以阻断EDR的流量监测能力: EDR通常使用用户模式WFP实现流量监测 管理员权限即可完全控制用户层WFP 删除Filter后EDR无法捕获网络行为 EDR Agent通常不会监控自身Filter状态,删除后不会自动恢复 详细操作步骤 1. 初始化WFP引擎 2. 枚举所有Filter 3. 删除目标Filter 4. 针对性删除EDR相关Filter 效果验证 删除前: EDR能捕获注入行为 网络请求被拦截,C2无法上线 管理台收到告警 删除后: 成功请求bin文件并上线 管理台无告警 ER视角中客户端无对外流量 技术特点 无需驱动 :完全在用户空间操作 权限要求低 :仅需管理员权限 持久性 :EDR通常不会自动恢复被删除的Filter 隐蔽性 :不影响EDR其他功能,减少被发现概率 防御对策 Filter状态监控 :定期检查关键Filter是否存在 API调用监控 :监测WFP关键API的调用 内核级补充 :结合ETW实现内核层流量监测 权限控制 :限制对WFP关键操作的权限 适用范围与限制 适用 :仅使用用户模式WFP实现流量监测的EDR 不适用 :使用ETW内核监测流量的EDR 效果 :仅影响流量监测模块,不影响其他防护功能 参考资源 Microsoft WFP官方文档 EDRSilencer项目 总结 这种基于WFP的无驱动EDR绕过技术提供了一种相对简单但有效的流量监测规避方法,特别适合在驱动级操作受限的环境中使用。防御方应加强WFP相关操作的监控和防护,形成多层次的防御体系。