Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2019-1663-Binary-Analysis | Kitploit
Herramientas/GitHubGitHub/wolffcorentin/cve-2019-1663-binary-analysis
Seguridad de Sistemas EmbebidosAnálisis de VulnerabilidadesExplotaciónIngeniería InversaAnálisis de BinariosPapers e InvestigaciónAprendizaje y EducaciónExplotación de Binarios

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHub
wolffcorentin/cve-2019-1663-binary-analysis

CVE-2019-1663-Binary-Analysis

Ver Repositorio
hace 1 añoAún no revisado

Análisis Binario de CVE-2019-1663

Autor: Corentin Wolff


Origen de la Vulnerabilidad

Fuente de la Vulnerabilidad

La vulnerabilidad se origina en la función 0x0002BF64, que hace un uso indebido de la función strcpy, lo que la hace propensa a ataques de desbordamiento de búfer. Para mayor claridad, esta función ha sido renombrada como Login. A continuación se muestra un fragmento que ilustra el problema:

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

En este fragmento, la función strcpy se utiliza de forma inadecuada, provocando una vulnerabilidad de desbordamiento de búfer:

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;  
    }  
}

Identificación del Nombre de Usuario

Esta parte del código comprueba el nombre de usuario:

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

El parámetro param_1 se identifica como el campo de nombre de usuario.

Verificación de la Contraseña

De manera similar, param_2 corresponde a la contraseña, mientras que param_3 se identifica como httpd_user.

Indicadores de Inicio de Sesión

La variable login_flag representa los estados de conexión:

root@kitploit:~
0 → Error de inicio de sesión
1 → Inicio de sesión de administrador exitoso
2 → Inicio de sesión de administrador denegado debido a una sesión existente
3 → Inicio de sesión de administrador que fuerza el cierre de sesión

Tipo de Vulnerabilidad

Desbordamiento de Búfer y strcpy

La vulnerabilidad es un Desbordamiento de Búfer causado por el uso inadecuado de la función strcpy.

Cómo Falla strcpy

La función strcpy no comprueba el tamaño de la cadena de origen frente a la capacidad del búfer de destino. Esto permite que regiones de memoria adyacentes sean sobrescritas.

Contexto de Explotación

CVE-2019-1663 explota la falta de validación del tamaño de entrada en ciertos modelos de routers de Cisco.

Pasos de la Explotación

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.

Explotación Remota de la Vulnerabilidad

  1. Condiciones para la Explotación Remota La explotación requiere acceso al servidor de configuración web del router. Si el servidor no está expuesto a la WAN, la explotación se limita al acceso a la LAN.
  2. Procedimiento de Ataque Una vez obtenido el acceso, el atacante intercepta y modifica una solicitud, añadiendo una carga útil maliciosa como:
    root@kitploit:~
    &enc=1&user=cisco&pwd=AAAA...AAAAZZZZ&sel_lang=EN  
    

Esto provoca una falla de segmentación. Al determinar el tamaño óptimo del búfer, los atacantes pueden inyectar y ejecutar código malicioso.

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;

Bibliografía

  1. MITRE CWE-120: Buffer Copy without Checking Size of Input
    https://cwe.mitre.org/data/definitions/120.html

  2. MITRE CWE-787: Out-of-bounds Write
    https://cwe.mitre.org/data/definitions/787.html

  3. Descripción General del Desbordamiento de Búfer según OWASP
    https://owasp.org/www-community/vulnerabilities/Buffer_Overflow

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

  5. Estándares de Codificación Segura de 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. Explotando CVE-2019-1663 - Write-up por Quentin Kaiser
    https://quentinkaiser.be/exploitdev/2019/08/30/exploit-cve-2019-1663

Descargar herramienta