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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2024-5243-pwn2own-toronto-2023 — Pre-authentication Remote Code Execution 漏洞利用 针对 TP-Link Omada ER605 路由器 通过 DDNS 客户端守护进程 (cmxddnsd) | Kitploit
工具/GitHubGitHub/redpack-kr/cve-2024-5243-pwn2own-toronto-2023
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育远程访问工具二进制利用
GitHubredpack-kr/cve-2024-5243-pwn2own-toronto-2023

CVE-2024-5243-pwn2own-toronto-2023

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →

Pre-authentication Remote Code Execution 漏洞利用 针对 TP-Link Omada ER605 路由器 通过 DDNS 客户端守护进程 (cmxddnsd)

查看仓库
137个月前尚未审核
分享

CVE-2024-5243-pwn2own-toronto-2023

TP-Link ER605 Pre-Auth RCE (CVE-2024-5242 / CVE-2024-5243 / CVE-2024-5244)

针对 TP-Link Omada ER605 DDNS 客户端守护进程 (cmxddnsd) 的概念验证 (PoC) 漏洞利用链,当设备配置使用 Comexe DDNS 服务时触发。

⚠️ 法律/道德:本仓库仅用于授权安全研究和受控实验室复现。请勿用于您不拥有或未获明确测试许可的系统。


概述

本 PoC 展示了一种组合利用方式,结合了:

  1. 针对 DDNS 协议层的欺骗/冒充原语,
  2. 绕过 ASLR 的信息泄露,
  3. 导致基于 ROP 的代码执行的控制流劫持。

该利用链对应以下已发布的问题:

CVEZDI 公告类型(按 ZDI/NVD 描述)在利用链中的高层作用
CVE-2024-5244ZDI-24-503依赖安全模糊性(DDNS 消息可被访问/伪造)允许构造/伪造看似有效的 DDNS 消息
CVE-2024-5243ZDI-24-502处理 DNS 名称时的缓冲区溢出用于影响/污染与 DNS 名称相关的状态,并启用 ASLR 绕过泄露路径
CVE-2024-5242ZDI-24-501处理 DDNS 错误码时的栈缓冲区溢出用作基于 ROP 的 RCE 的控制流劫持原语

注:本 README 将 CVE ↔ 问题描述 对齐到 ZDI/NVD 措辞。确切的利用编排可能因固件版本和本地复现细节而异;请参见本仓库中的 exploit.py 和分析笔记。


受影响版本

  • 目标:TP-Link Omada ER605 VPN 路由器
  • 受影响:< ER605(UN)_V2_2.2.4
  • 测试版本:2.2.2
  • 修复版本:ER605(UN)_V2_2.2.4 Build 20240119(及更高版本)

威胁模型/前置条件(高层)

ZDI 将影响描述为当启用/配置 Comexe DDNS 时的网络邻近。实际复现通常需要能够充分观察和影响路由器的 DDNS/DNS 流量路径,以实现:

  • 重定向/冒充 Comexe DDNS 服务器端,
  • 向路由器发送精心构造的 DDNS 响应。

本仓库有意不提供在受控实验室之外实现该定位的逐步操作指南。


攻击流程(概念)

root@kitploit:~
┌─────────────────┐                    ┌─────────────────────────┐
│   TP-Link ER605  │                    │        攻击者          │
│   (cmxddnsd)     │                    │  (授权实验室设置)       │
└───────┬─────────┘                    └───────────┬─────────────┘
        │                                          │
        │ (1) DDNS 消息欺骗/冒充                    │  CVE-2024-5244
        │<-----------------------------------------│
        │                                          │
        │ (2) 解析时溢出影响 DNS 名称相关状态;      │  CVE-2024-5243
        │     后续在 DNS 查询发送路径中发生泄露       │
        │     (例如 sndDnsQuery) 以绕过 ASLR        │
        │<-----------------------------------------│
        │                                          │
        │ (3) 错误码溢出用于控制流劫持 → ROP →       │  CVE-2024-5242
        │     system(command)                       │
        │<-----------------------------------------│

关键分离:

  • 解析溢出在 DDNS 消息解析期间触发(主要通过 _chkPkt 相关的解析逻辑处理错误码/DNS 名称)。
  • ASLR 绕过泄露在污染 DNS 名称相关状态后,通过 DNS 查询发送路径 实现。

仓库内容

  • exploit.py — 用于实验室复现的 PoC 实现(需填充特定固件的常量/偏移量)。
  • README.md — 本文档。

配置说明(固件特定)

本 PoC 需要固件特定的值(例如偏移量、gadget 地址、泄露解释),这些值取决于目标固件和 libc。这些值故意留为占位符,必须通过对测试固件的分析得出。

示例占位符(见 exploit.py):

  • libc 基址推导(泄露偏移 → libc 基址)
  • system() 偏移
  • 合适的 MIPS gadget 序列及约束
  • ROP 链中用于稳定命令字符串引用的地址

技术笔记(高层)

根本原因模式(概念)

解析逻辑中反复出现的反模式是:使用基于分隔符的长度复制攻击者控制的字段数据,而未适当限制在目标缓冲区大小内(概念上):

root@kitploit:~
char *end = strchr(ptr, '\x01');   // 分隔符
int len = end - ptr;               // 攻击者影响的长度
memcpy_or_strncpy(dest, ptr, len); // 缺少边界检查 -> 溢出

ROP Gadget(MIPS 延迟槽)

PoC 使用一种适合 MIPS 延迟槽的 gadget 形状:

root@kitploit:~
move    $t9, $s0
jalr    $t9
move    $a0, $s1      ; 延迟槽

通过寄存器保存覆盖控制 $s0 和 $s1,可实现紧凑的 system(command) 调用序列。

Payload 约束(依赖实现)

实际 payload 构造受以下因素约束:

  • 协议字段分隔符(例如 \x01),
  • 字符串/解析行为可能截断或修改复制的数据。

具体约束见 exploit.py。


免责声明

本代码和文档仅供教育目的和授权安全研究使用。未经明确许可的任何使用均被禁止,并可能违法。


致谢

  • 原始漏洞发现及 Pwn2Own Toronto 2023 研究:Claroty Research Team82
  • 本仓库:独立复现与分析工作

参考

  • ZDI-24-501 (CVE-2024-5242): https://www.zerodayinitiative.com/advisories/ZDI-24-501/
  • ZDI-24-502 (CVE-2024-5243): https://www.zerodayinitiative.com/advisories/ZDI-24-502/
  • ZDI-24-503 (CVE-2024-5244): https://www.zerodayinitiative.com/advisories/ZDI-24-503/
  • NVD 条目:
    • CVE-2024-5242: https://nvd.nist.gov/vuln/detail/CVE-2024-5242
    • CVE-2024-5243: https://nvd.nist.gov/vuln/detail/CVE-2024-5243
    • CVE-2024-5244: https://nvd.nist.gov/vuln/detail/CVE-2024-5244

下载工具