Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-5243-pwn2own-toronto-2023 — Exploit d'exécution de code à distance sans authentification pour le routeur TP-Link Omada ER605 via le démon client DDNS (cmxddnsd) | Kitploit
Outils/GitHubGitHub/redpack-kr/cve-2024-5243-pwn2own-toronto-2023
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationOutil d'Accès à DistanceExploitation de Binaires
GitHubredpack-kr/cve-2024-5243-pwn2own-toronto-2023

CVE-2024-5243-pwn2own-toronto-2023

Exploit d'exécution de code à distance sans authentification pour le routeur TP-Link Omada ER605 via le démon client DDNS (cmxddnsd)

Voir le dépôt
13il y a 7 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2024-5243-pwn2own-toronto-2023

TP-Link ER605 RCE sans authentification (CVE-2024-5242 / CVE-2024-5243 / CVE-2024-5244)

Chaîne d'exploitation de Preuve de concept (PoC) ciblant le démon client DDNS cmxddnsd du TP-Link Omada ER605 lorsque l'appareil est configuré pour utiliser le service DDNS Comexe.

⚠️ Légal / Éthique : Ce dépôt est destiné à la recherche en sécurité autorisée et la reproduction en laboratoire contrôlé uniquement. Ne pas utiliser contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation explicite de test.


Aperçu

Ce PoC démontre une approche de chaînage qui combine :

  1. une primitive d'usurpation/impersonation contre la couche du protocole DDNS,
  2. une fuite d'informations pour contourner l'ASLR, et
  3. un détournement de flux de contrôle menant à une exécution de code basée sur ROP.

La chaîne correspond aux problèmes publiés suivants :

CVEAvis ZDIType (tel que décrit par ZDI/NVD)Rôle de haut niveau dans une chaîne
CVE-2024-5244ZDI-24-503Confiance en la sécurité par l'obscurité (les messages DDNS peuvent être accédés/usurpés)Permet de créer/usurper des messages DDNS valides en apparence
CVE-2024-5243ZDI-24-502Dépassement de tampon dans la gestion des noms DNSUtilisé pour influencer/empoisonner l'état lié au nom DNS et permettre une voie de fuite pour contourner l'ASLR
CVE-2024-5242ZDI-24-501Dépassement de tampon basé sur la pile dans la gestion des codes d'erreur DDNSUtilisé comme primitive de détournement de flux de contrôle pour une RCE basée sur ROP

Note : Ce README aligne la correspondance CVE ↔ description du problème sur le libellé ZDI/NVD. La chorégraphie exacte de l'exploit peut varier selon la version du firmware et les détails de reproduction locale ; voir exploit.py et les notes d'analyse dans ce dépôt.


Versions affectées

  • Cible : Routeur VPN TP-Link Omada ER605
  • Vulnérable : < ER605(UN)_V2_2.2.4
  • Testé sur : 2.2.2
  • Corrigé dans : ER605(UN)_V2_2.2.4 Build 20240119 (et ultérieur)

Modèle de menace / Préconditions (Haut niveau)

ZDI décrit l'impact comme adjacent au réseau lorsque le DDNS Comexe est activé/configuré. En pratique, une reproduction nécessite généralement la capacité d'observer et d'influencer suffisamment le chemin du trafic DDNS/DNS du routeur pour :

  • rediriger/usurper le côté serveur DDNS Comexe, et
  • délivrer des réponses DDNS conçues au routeur.

Ce dépôt évite intentionnellement de fournir des conseils opérationnels étape par étape pour atteindre ce positionnement en dehors d'un laboratoire contrôlé.


Flux d'attaque (Conceptuel)

root@kitploit:~
┌─────────────────┐                    ┌─────────────────────────┐
│   TP-Link ER605  │                    │        Attacker         │
│   (cmxddnsd)     │                    │ (authorized lab setup)  │
└───────┬─────────┘                    └───────────┬─────────────┘
        │                                          │
        │ (1) DDNS message spoofing/impersonation  │  CVE-2024-5244
        │<-----------------------------------------│
        │                                          │
        │ (2) Parsing-time overflow affects DNS-   │  CVE-2024-5243
        │     name-related state; later leak occurs│
        │     in DNS query sending path (e.g.,     │
        │     sndDnsQuery) to bypass ASLR          │
        │<-----------------------------------------│
        │                                          │
        │ (3) Error-code overflow for control-flow │  CVE-2024-5242
        │     hijack → ROP → system(command)       │
        │<-----------------------------------------│

Séparation clé :

  • Les dépassements lors de l'analyse sont déclenchés pendant l'analyse des messages DDNS (notamment via la logique d'analyse adjacente à _chkPkt pour les codes d'erreur / la gestion des noms DNS).
  • La fuite de contournement d'ASLR est réalisée plus tard via le chemin d'envoi de la requête DNS après avoir empoisonné l'état lié au nom DNS.

Contenu du dépôt

  • exploit.py — Implémentation du PoC utilisée pour la reproduction en laboratoire (nécessite de renseigner les constantes/offsets spécifiques à la version).
  • README.md — Ce document.

Notes de configuration (Spécifiques à la version)

Ce PoC nécessite des valeurs spécifiques à la version (par exemple, offsets, emplacements de gadgets, interprétation de fuite) qui dépendent du firmware cible et de la libc. Ces valeurs sont intentionnellement laissées comme placeholders et doivent être dérivées via l'analyse de la version testée.

Exemples de placeholders (voir exploit.py) :

  • dérivation de la base de la libc (offset de fuite → base de la libc)
  • offset de system()
  • une séquence de gadgets MIPS appropriée et ses contraintes
  • une adresse pour une référence stable de chaîne de commande utilisée par la chaîne ROP

Notes techniques (Haut niveau)

Modèle de cause racine (Conceptuel)

Un anti-modèle récurrent dans la logique d'analyse est la copie de données de champ contrôlées par l'attaquant en utilisant une longueur dérivée du délimiteur sans la limiter correctement à la taille du tampon de destination (conceptuellement) :

root@kitploit:~
char *end = strchr(ptr, '\x01');   // delimiter
int len = end - ptr;               // attacker-influenced length
memcpy_or_strncpy(dest, ptr, len); // missing bounds check -> overflow

Gadget ROP (slot de délai MIPS)

Le PoC utilise une forme de gadget compatible avec le slot de délai MIPS :

root@kitploit:~
move    $t9, $s0
jalr    $t9
move    $a0, $s1      ; delay slot

En contrôlant $s0 et $s1 via une réécriture des registres sauvegardés, cela permet une séquence d'appel system(command) compacte.

Contraintes de la charge utile (Dépendantes de l'implémentation)

La construction pratique de la charge utile est contrainte par :

  • les délimiteurs de champ de protocole (par exemple, \x01), et
  • le comportement de chaîne/analyse qui peut tronquer ou altérer les données copiées.

Voir exploit.py pour les contraintes exactes utilisées dans cette reproduction.


Avertissement

Ce code et cette documentation sont fournis à des fins éducatives et de recherche en sécurité autorisée uniquement. Toute utilisation sans autorisation explicite est interdite et peut être illégale.


Crédits

  • Découverte originale de la vulnérabilité et recherche Pwn2Own Toronto 2023 : Claroty Research Team82
  • Ce dépôt : travail indépendant de reproduction et d'analyse

Références

  • 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/
  • Entrées 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

Télécharger l’outil