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
CVE-2019-1663-Binary-Analysis — Analyse binaire et exploitation de CVE-2019-1663, un débordement de tampon dans la gestion Web du routeur Cisco, y compris la cause racine, les étapes d'exploitation et la découverte de gadgets ROP. | Kitploit
Outils/GitHubGitHub/wolffcorentin/cve-2019-1663-binary-analysis
Sécurité des Systèmes EmbarquésAnalyse des VulnérabilitésExploitationRétro-ingénierieAnalyse de BinairesArticles et RechercheApprentissage et ÉducationExploitation 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
GitHub
wolffcorentin/cve-2019-1663-binary-analysis

CVE-2019-1663-Binary-Analysis

Analyse binaire et exploitation de CVE-2019-1663, un débordement de tampon dans la gestion Web du routeur Cisco, y compris la cause racine, les étapes d'exploitation et la découverte de gadgets ROP.

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

Analyse binaire de CVE-2019-1663

Auteur : Corentin Wolff


Origine de la vulnérabilité

Source de la vulnérabilité

La vulnérabilité provient de la fonction 0x0002BF64, qui utilise incorrectement la fonction strcpy, ce qui la rend sujette aux attaques par débordement de tampon. Pour plus de clarté, cette fonction a été renommée Login. Voici un extrait illustrant le problème :

root@kitploit:~
undefined4 Login(char *param_1, char *param_2, char *param_3, int param_4) { ... }

Dans cet extrait, la fonction strcpy est utilisée de manière inappropriée, provoquant une vulnérabilité de débordement de tampon :

root@kitploit:~
if (param_4 == 0) {  
    iVar2 = strncmp(acStack_fa, "enc=", 4);  
    if (iVar2 != 0) {  
        strcpy(acStack_15e, acStack_fa);  
        strcpy(acStack_1c2, param_2);  
        goto LAB_0002c264;  
    }  
}

Identification du nom d'utilisateur

Cette partie du code vérifie le nom d'utilisateur :

root@kitploit:~
if (iVar2 != 0) {  
    syslog(6, "Web management login failed, user=%s\n", param_1);  
}

Le paramètre param_1 est identifié comme le champ du nom d'utilisateur.

Vérification du mot de passe

De même, param_2 correspond au mot de passe, tandis que param_3 est identifié comme httpd_user.

Indicateurs de connexion

La variable login_flag représente les états de connexion : 0 → Erreur de connexion 1 → Connexion administrateur réussie 2 → Connexion administrateur refusée en raison d'une session existante 3 → Connexion administrateur forçant la déconnexion

Type de vulnérabilité

Débordement de tampon et strcpy

La vulnérabilité est un débordement de tampon causé par une mauvaise utilisation de la fonction strcpy.

Comment strcpy échoue

La fonction strcpy ne vérifie pas la taille de la chaîne source par rapport à la capacité du tampon de destination. Cela permet d'écraser les régions mémoire adjacentes.

Contexte d'exploitation

CVE-2019-1663 exploite l'absence de validation de la taille des entrées sur certains modèles de routeurs Cisco.

Étapes de l'exploitation

root@kitploit:~
a. No Length Check: Unsanitized user input is passed to strcpy.
b. Memory Overflow: Excess data overwrites critical memory regions.
c. Arbitrary Code Execution: Attackers inject and execute malicious code.
d. Exploitation Requirements: Access to the router's web configuration server.
e. Impact: Privileged access, enabling network espionage, traffic redirection, malware installation, or backdoors.

Exploitation à distance de la vulnérabilité

  1. Conditions d'exploitation à distance L'exploitation nécessite l'accès au serveur de configuration web du routeur. Si le serveur n'est pas exposé au WAN, l'exploitation se limite à un accès au LAN.
  2. Procédure d'attaque Une fois l'accès obtenu, l'attaquant intercepte et modifie une requête, en ajoutant une charge utile malveillante telle que :
root@kitploit:~
&enc=1&user=cisco&pwd=AAAA...AAAAZZZZ&sel_lang=EN  

Cela déclenche une erreur de segmentation. En déterminant la taille optimale du tampon, les attaquants peuvent injecter et exécuter du code malveillant.

Exploit | Gadgets : Ropper

root@kitploit:~
ibc.so.0/ELF/ARM)> disasm_address 0x00034410
Instructions
============
0x00034410: pop {r0, pc}

(libc.so.0/ELF/ARM)> disasm_address 0x00041304
Instructions
============
0x00041304: mov r2, r0

(libc.so.0/ELF/ARM)> search %mov r2, r0%
[INFO] Searching for gadgets: %mov r2, r0%
[INFO] File: libc.so.0
0x00041304: mov r2, r0; mov r0, sp; blx r2;

Bibliographie

  1. MITRE CWE-120 : Copie de tampon sans vérification de la taille de l'entrée
    https://cwe.mitre.org/data/definitions/120.html

  2. MITRE CWE-787 : Écriture hors limites
    https://cwe.mitre.org/data/definitions/787.html

  3. Aperçu OWASP sur le débordement de tampon
    https://owasp.org/www-community/vulnerabilities/Buffer_Overflow

  4. « Buffer Overflow » sur Microsoft Learn
    https://learn.microsoft.com/en-us/cpp/security/security-best-practices-for-c-cpp

  5. Normes de codage sécurisé CERT - STR31-C
    https://wiki.sei.cmu.edu/confluence/display/c/STR31-C.+Guarantee+that+storage+for+strings+has+sufficient+space+for+character+data+and+the+null+terminator

  6. Exploitation de CVE-2019-1663 - Write Up par Quentin Kaiser
    https://quentinkaiser.be/exploitdev/2019/08/30/exploit-cve-2019-1663

Télécharger l’outil