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
DCS932L-Emulation-CVE-2024-37606-Attack — Simplifie l'émulation du firmware D-Link DCS-932L avec des composants pré-patchés et inclut un exploit Proof-of-Concept pour CVE-2024-37606. | Kitploit
Outils/GitHubGitHub/itwizardo/dcs932l-emulation-cve-2024-37606-attack
Sécurité des Systèmes EmbarquésSécurité IoTAnalyse des VulnérabilitésExploitationRétro-ingénierieSécurité MatérielleApprentissage et ÉducationAnalyse de MicrologicielExploitation de Binaires

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
GitHubitwizardo/dcs932l-emulation-cve-2024-37606-attack

DCS932L-Emulation-CVE-2024-37606-Attack

Simplifie l'émulation du firmware D-Link DCS-932L avec des composants pré-patchés et inclut un exploit Proof-of-Concept pour CVE-2024-37606.

Voir le dépôt
1il y a 1 anPas encore vérifié

Rendre l'émulation facile à nouveau

ChatGPT Image Apr 22, 2025, 12_56_50 PM

Bienvenue ! Ce dépôt fournit des outils et un environnement pour émuler le firmware du D-Link DCS-932L et démontrer la vulnérabilité CVE-2024-37606. Il inclut des binaires pré-patchés et les bibliothèques nécessaires, simplifiant la configuration de l'émulation afin que vous n'ayez pas à effectuer de patch manuel avec des outils comme Ghidra.

CVE-2024-37606

Ce projet inclut un exploit de preuve de concept (CVE-2024-37606-DCS932L.py) pour CVE-2024-37606. Cette vulnérabilité implique un débordement de tampon dans le service alphapd. Veuillez l'utiliser de manière responsable et à des fins éducatives uniquement. Cliquez sur la photo pour voir la vidéo Regarder la démo

Modifications pour l'émulation

Plusieurs modifications ont été apportées pour améliorer la fonctionnalité et la convivialité de l'environnement d'émulation du firmware :

  1. Script de démarrage : Ajout d'un script de démarrage (startup.sh) pour simplifier l'émulation.
  2. Ajustement de Libnvram.so : Suppression des lignes 338 à 342 du libnvram.so original pour assurer le bon fonctionnement de l'émulateur NVRAM. Le fichier modifié (firmadyne/libnvram.so) est inclus.
  3. Intégration Firmadyne : Ajout du dossier Firmadyne pour faciliter l'émulation du firmware.
  4. Patch Alphapd : Correction du binaire alphapd à l'aide de Ghidra pour résoudre une erreur empêchant la récupération de l'IP depuis sysinfo lors de l'émulation.
  5. Ajout de qemu-mipsel-static : Inclusion de qemu-mipsel-static pour l'émulation MIPS Little Endian.

Configuration et utilisation

Suivez ces étapes pour configurer l'environnement d'émulation et exécuter l'exploit.

1. Prérequis

  • Un environnement Linux (testé sur des systèmes basés sur Ubuntu/Debian).
  • git
  • qemu-user-static
  • python3 et pip

2. Cloner le dépôt

root@kitploit:~
git clone https://github.com/itwizardo/DCS932L-Emulation-CVE-2024-37606-Attack DCS932L-CVE
cd DCS932L-CVE

3. Installer les outils d'émulation utilisateur QEMU

  • Sur Linux (Debian/Ubuntu) :
    root@kitploit:~
    sudo apt update
    sudo apt install qemu-user-static
    
  • Sur macOS (avec Homebrew) :
    root@kitploit:~
    brew install qemu
    # L'installation de QEMU via Homebrew inclut les binaires statiques en mode utilisateur.
    
  • Sur Windows (avec Chocolatey ou installation manuelle) :
    • Avec Chocolatey (nécessite Chocolatey installé) :
      root@kitploit:~
      choco install qemu
      
    • Installation manuelle : Téléchargez l'installateur QEMU depuis le site officiel de QEMU et assurez-vous que le répertoire d'installation est ajouté au PATH de votre système.

4. Préparer le système de fichiers du firmware

Copiez le binaire statique QEMU dans le système de fichiers du firmware :

root@kitploit:~
sudo cp /usr/bin/qemu-mipsel-static ./usr/bin/

Définissez l'attribut immuable sur le répertoire web. Cela empêche la modification des fichiers critiques du serveur web nécessaires au bon fonctionnement de l'émulation et de l'exploit :

  • Sur Linux :
    root@kitploit:~
    sudo chattr +i etc_ro/web/
    
  • Sur Windows (PowerShell - Définit l'attribut Lecture seule) :
    root@kitploit:~
    Set-ItemProperty -Path ./etc_ro/web -Name IsReadOnly -Value $true
    # Remarque : Ceci définit le répertoire en Lecture seule, empêchant les modifications accidentelles.
    # Pour rendre également le contenu en lecture seule, ajoutez -Recurse à Get-ChildItem :
    # Get-ChildItem -Path ./etc_ro/web -Recurse | Set-ItemProperty -Name IsReadOnly -Value $true
    
  • Sur macOS :
    root@kitploit:~
    sudo chflags schg etc_ro/web/
    

5. Démarrer l'environnement d'émulation

Entrez dans l'environnement chroot en utilisant le binaire QEMU MIPS Little Endian :

root@kitploit:~
sudo chroot . /usr/bin/qemu-mipsel-static /bin/sh

Dans le shell chroot, exécutez le script de démarrage et lancez le serveur web :

root@kitploit:~
# Exécute les tâches de démarrage (configuration réseau, etc.)
./startup.sh

# Définit les variables d'environnement pour l'émulation nvram
export LD_PRELOAD=/firmadyne/libnvram.so
export HOME=.
export RANDFILE=$HOME/.rnd

# Démarre le serveur web vulnérable (écoute sur 0.0.0.0, peut prendre 1 à 2 minutes pour s'initialiser complètement)
alphapd 

Laissez ce terminal ouvert. Les services du périphérique émulé seront accessibles via la machine hôte en utilisant l'adresse IP configurée par startup.sh (souvent 192.168.0.1).

6. Exécuter l'exploit

Ouvrez une nouvelle fenêtre de terminal sur votre machine hôte (en dehors de l'environnement chroot).

Ouvrir dans un nouveau terminal :

root@kitploit:~
cd /path/to/DCS932L # Ajustez le chemin si nécessaire

(Facultatif) Installez les paquets Python nécessaires si le script en a besoin (par exemple, requests) :

root@kitploit:~
# pip3 install requests # Décommentez si nécessaire

Exécutez le script d'exploit. Il cible automatiquement l'environnement émulé local (192.168.0.1 configuré par startup.sh) :

root@kitploit:~
python3 CVE-2024-37606-DCS932L.py

Pour cibler une adresse IP différente, utilisez l'argument --ip :

root@kitploit:~
# Exemple : python3 CVE-2024-37606-DCS932L.py --ip <ip_cible>

Suivez la sortie du script pour voir l'exploit en action.

⚠️ Remarques

  • Ce firmware est MIPS Little Endian. Vous devez utiliser qemu-mipsel-static.
  • L'utilisation de qemu-mips-static (Big Endian) entraînera des erreurs Invalid ELF image.
  • Le service alphapd se lie à 0.0.0.0 dans l'environnement chroot et peut prendre 1 à 2 minutes pour devenir pleinement réactif après l'exécution.
  • Le script startup.sh configure probablement une interface réseau (par exemple, tap0) avec l'IP 192.168.0.1. Vérifiez cela si l'exploit échoue à se connecter.
  • Assurez-vous que les bibliothèques requises (comme /lib/ld-uClibc.so.0) sont présentes dans le répertoire /lib de l'environnement chroot.

Avertissement

Ce projet est uniquement destiné à des fins éducatives et de recherche. Il démontre une vulnérabilité connue (CVE-2024-37606). Les auteurs ne sont pas responsables de toute utilisation abusive de ces informations ou de ce code. Utilisez cet environnement et cet exploit de manière responsable et éthique.

Ceci a été développé dans le cadre d'un projet scolaire pour Novi Hogeschool.

Auteur

Georgio T. - itwizardo

N'hésitez pas à contribuer à ce projet et à améliorer les outils pour l'ingénierie inverse de firmware et l'analyse de sécurité !

Télécharger l’outil