Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2024-5243-pwn2own-toronto-2023 — Exploit di esecuzione remota di codice pre-autenticazione per il router TP-Link Omada ER605 tramite il daemon del client DDNS (cmxddnsd) | Kitploit
Strumenti/GitHubGitHub/redpack-kr/cve-2024-5243-pwn2own-toronto-2023
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneStrumento di Accesso RemotoBinary Exploitation
GitHubredpack-kr/cve-2024-5243-pwn2own-toronto-2023

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2024-5243-pwn2own-toronto-2023

Exploit di esecuzione remota di codice pre-autenticazione per il router TP-Link Omada ER605 tramite il daemon del client DDNS (cmxddnsd)

Vedi Repository
16 mesi faNon ancora revisionato

CVE-2024-5243-pwn2own-toronto-2023

RCE pre-autenticazione su TP-Link ER605 (CVE-2024-5242 / CVE-2024-5243 / CVE-2024-5244)

Catena di exploit Proof-of-Concept (PoC) che prende di mira il demone client DDNS cmxddnsd del TP-Link Omada ER605 quando il dispositivo è configurato per utilizzare il servizio DDNS Comexe.

⚠️ Legale / Etica: questo repository è esclusivamente per ricerca sulla sicurezza autorizzata e riproduzione controllata in laboratorio. Non utilizzarlo contro sistemi che non possiedi o per i quali non hai il permesso esplicito di testare.


Panoramica

Questo PoC dimostra un approccio a catena che combina:

  1. una primitiva di spoofing/impersonificazione contro il livello del protocollo DDNS,
  2. un leak di informazioni per bypassare ASLR, e
  3. un dirottamento del flusso di controllo che porta all'esecuzione di codice basata su ROP.

La catena corrisponde ai seguenti problemi pubblicati:

CVEAdvisory ZDITipo (come descritto da ZDI/NVD)Ruolo di alto livello in una catena
CVE-2024-5244ZDI-24-503Affidamento sull'oscurità come sicurezza (i messaggi DDNS possono essere accessibili/contraffatti)Consente di creare/contraffare messaggi DDNS dall'aspetto valido
CVE-2024-5243ZDI-24-502Buffer overflow nella gestione dei nomi DNSUtilizzato per influenzare/avvelenare lo stato relativo ai nomi DNS e abilitare un percorso di leak per il bypass di ASLR
CVE-2024-5242ZDI-24-501Buffer overflow basato su stack nella gestione dei codici di errore DDNSUtilizzato come primitiva di dirottamento del flusso di controllo per una RCE basata su ROP

Nota: questo README allinea la descrizione CVE ↔ problema alla terminologia ZDI/NVD. La coreografia esatta dell'exploit può variare in base alla build del firmware e ai dettagli di riproduzione locale; vedere exploit.py e le note di analisi in questo repository.


Versioni interessate

  • Target: router VPN TP-Link Omada ER605
  • Vulnerabile: < ER605(UN)_V2_2.2.4
  • Testato su: 2.2.2
  • Corretto in: ER605(UN)_V2_2.2.4 Build 20240119 (e versioni successive)

Modello di minaccia / Precondizioni (livello generale)

ZDI descrive l'impatto come adiacente alla rete quando il DDNS Comexe è abilitato/configurato. In pratica, una riproduzione richiede tipicamente la capacità di osservare e influenzare a sufficienza il percorso del traffico DDNS/DNS del router per:

  • reindirizzare/impersonare il lato server DDNS Comexe, e
  • consegnare risposte DDNS appositamente costruite al router.

Questo repository evita intenzionalmente una guida operativa passo-passo per ottenere tale posizionamento al di fuori di un laboratorio controllato.


Flusso dell'attacco (concettuale)

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)       │
        │<-----------------------------------------│

Separazione fondamentale:

  • I buffer overflow in fase di parsing vengono attivati durante l'analisi dei messaggi DDNS (in particolare tramite la logica di parsing adiacente a _chkPkt per codici di errore/gestione dei nomi DNS).
  • Il leak per il bypass di ASLR viene ottenuto successivamente tramite il percorso di invio delle query DNS dopo aver avvelenato lo stato relativo ai nomi DNS.

Contenuto del repository

  • exploit.py — Implementazione del PoC utilizzata per la riproduzione in laboratorio (richiede l'inserimento di costanti/offset specifici della build).
  • README.md — Questo documento.

Note di configurazione (specifiche per build)

Questo PoC richiede valori specifici della build (ad es. offset, posizioni dei gadget, interpretazione del leak) che dipendono dal firmware target e dalla libc. Questi valori sono intenzionalmente lasciati come segnaposto e devono essere derivati tramite analisi della build testata.

Esempi di segnaposto (vedi exploit.py):

  • derivazione della base della libc (offset del leak → base della libc)
  • offset di system()
  • una sequenza di gadget MIPS adatta e i relativi vincoli
  • un indirizzo per un riferimento stabile alla stringa di comando utilizzato dalla catena ROP

Note tecniche (livello generale)

Pattern di causa principale (concettuale)

Un anti-pattern ricorrente nella logica di parsing è la copia di dati di campo controllati dall'attaccante utilizzando una lunghezza derivata dal delimitatore senza vincolarla adeguatamente alla dimensione del buffer di destinazione (concettualmente):

root@kitploit:~
char *end = strchr(ptr, '\x01');   // delimitatore
int len = end - ptr;               // lunghezza influenzata dall'attaccante
memcpy_or_strncpy(dest, ptr, len); // manca il bounds check -> overflow

Gadget ROP (delay slot MIPS)

Il PoC utilizza una forma di gadget MIPS compatibile con i delay slot:

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

Controllando $s0 e $s1 tramite sovrascrittura dei registri salvati, ciò consente una sequenza di chiamata system(command) compatta.

Vincoli del payload (dipendenti dall'implementazione)

La costruzione pratica del payload è vincolata da:

  • delimitatori di campo del protocollo (ad es. \x01), e
  • comportamento di stringhe/parsing che può troncare o alterare i dati copiati.

Vedere exploit.py per i vincoli esatti utilizzati in questa riproduzione.


Dichiarazione di esclusione

Questo codice e questa documentazione sono forniti esclusivamente a scopo educativo e per ricerca sulla sicurezza autorizzata. Qualsiasi utilizzo senza permesso esplicito è proibito e potrebbe essere illegale.


Crediti

  • Scoperta originale della vulnerabilità e ricerca Pwn2Own Toronto 2023: Claroty Research Team82
  • Questo repository: lavoro indipendente di riproduzione e analisi

Riferimenti

  • 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/
  • Voci 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

Scarica lo strumento