
Exploit educativo per CVE-2019-1663 che mira a un buffer overflow basato su stack nei router Cisco RV. Include uno script di exploit Python, un listener di reverse shell e una metodologia di analisi del firmware per sistemi embedded basati su ARM.
Questo repository documenta lo sfruttamento di CVE-2019-1663, una vulnerabilità critica di esecuzione remota di codice (RCE) che interessa i router Wireless-N VPN Cisco RV110W, RV130W e RV215W.
A causa di una validazione insufficiente degli input nell'interfaccia di gestione web, un attaccante non autenticato può eseguire comandi arbitrari con privilegi elevati sul dispositivo.
Questo progetto è stato condotto come parte di un programma di apprendimento sulla cybersecurity per potenziare le competenze offensive pratiche su sistemi embedded.
Comprendere la causa principale della vulnerabilità.
Sviluppare un exploit funzionante che ottenga affidabilmente l'esecuzione di codice.
Eseguire debug e analisi di sistemi embedded ARM.
Evidenziare i rischi reali della progettazione di firmware non sicuri.
Tipo di vulnerabilità: Stack-based buffer overflow.
Trigger: Richieste HTTP POST appositamente formulate all'interfaccia web del router.
Dimensione dell'overflow: Esecuzione di codice ottenuta dopo 446 byte (scoperta tramite fuzzing).
Architettura: ARM → sfruttamento eseguito utilizzando gadget ROP.
Impatto: Compromissione completa del sistema senza autenticazione.
Il debug e lo sviluppo dell'exploit sono stati eseguiti in un ambiente emulato utilizzando emux, fornendo accesso completo al firmware e ai processi del router:
Avvio del firmware in un ambiente virtualizzato.
Collegamento del processo httpd vulnerabile a gdb per il debug in tempo reale.
Invio di payload controllati e osservazione della corruzione della memoria in tempo reale.
Identificazione di offset e gadget ROP tramite estrazione e analisi del firmware.
Questo approccio ha permesso test sicuri, flessibili e ripetibili, senza necessità di hardware fisico.
Percorso : Scopo
exploit-cve-2019-1663.py : Script Python per attivare l'overflow e ottenere l'esecuzione di comandi
rev_shell.py : Listener della reverse shell per gestire i flussi di input/output
📌 La documentazione e i miglioramenti sono in corso — suggerimenti benvenuti!
Se vuoi discutere di ricerca sulla sicurezza o miglioramenti a questo progetto, sentiti libero di contattarmi o aprire un issue. Happy hacking! 😄