
Exploit pédagogique pour CVE-2019-1663 ciblant un débordement de tampon basé sur la pile dans les routeurs Cisco RV. Comprend un script d'exploitation Python, un écouteur de shell inversé et une méthodologie d'analyse de firmware pour les systèmes embarqués basés sur ARM.
Ce dépôt documente l'exploitation de CVE-2019-1663, une vulnérabilité critique d'exécution de code à distance (RCE) affectant les routeurs VPN Wireless-N Cisco RV110W, RV130W et RV215W.
En raison d'une validation insuffisante des entrées dans l'interface de gestion web, un attaquant non authentifié peut exécuter des commandes arbitraires avec des privilèges élevés sur l'appareil.
Ce projet a été mené dans le cadre d'un programme d'apprentissage en cybersécurité afin de renforcer les compétences pratiques en sécurité offensive sur les systèmes embarqués.
Comprendre la cause racine sous-jacente de la vulnérabilité.
Développer un exploit fonctionnel permettant d'obtenir de manière fiable une exécution de code.
Effectuer le débogage et l'analyse de systèmes ARM embarqués.
Mettre en évidence les risques réels d'une conception de firmware non sécurisée.
Type de vulnérabilité : Dépassement de tampon basé sur la pile.
Déclenchement : Requêtes HTTP POST spécialement conçues envoyées à l'interface web du routeur.
Taille du débordement : Exécution de code obtenue après 446 octets (découverte par fuzzing).
Architecture : ARM → exploitation réalisée à l'aide de gadgets ROP.
Impact : Compromission totale du système sans authentification.
Le débogage et le développement de l'exploit ont été réalisés dans un environnement émulé utilisant emux, offrant un accès complet au firmware et aux processus du routeur :
Lancement du firmware dans un environnement virtualisé.
Attachement du processus httpd vulnérable à gdb pour un débogage en direct.
Envoi de payloads contrôlés et observation de la corruption mémoire en temps réel.
Identification des offsets et des gadgets ROP via l'extraction et l'analyse du firmware.
Cette approche a permis des tests sûrs, flexibles et reproductibles — sans nécessiter de matériel physique.
Chemin : : Objectif
exploit-cve-2019-1663.py : : Scripts Python pour déclencher le débordement et obtenir l'exécution de commandes
rev_shell.py : : Écouteur de shell inversé gérant les flux d'entrée/sortie
📌 Documentation et améliorations en cours — les suggestions sont les bienvenues !
Si vous souhaitez discuter de recherche en sécurité ou d'améliorations de ce projet, n'hésitez pas à me contacter ou à ouvrir une issue. Bon hacking ! 😄