Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
Blackash-CVE-2017-0144 — CVE-2017-0144 | Kitploit
Herramientas/GitHubGitHub/firetemple/blackash-cve-2017-0144
Análisis de VulnerabilidadesExplotaciónAnálisis ForenseAnálisis de MalwarePruebas de PenetraciónInteligencia de AmenazasDetección de IntrusionesAprendizaje y EducaciónRecursos Curados
GitHubfiretemple/blackash-cve-2017-0144

Blackash-CVE-2017-0144

CVE-2017-0144

159hace 10 mesesAún no revisado
Ver Repositorio

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

🌐 CVE-2017-0144 — EternalBlue: Vulnerabilidad de ejecución remota de código en Microsoft Windows SMBv1

EternalBlue

"Un exploit. Decenas de familias de malware. Miles de millones en daños."


🔍 Resumen en una línea

CVE-2017-0144 es una vulnerabilidad crítica de ejecución remota de código en la implementación del servidor SMBv1 en Microsoft Windows. El exploit conocido como EternalBlue aprovechó esta falla y se utilizó en ataques de alto impacto (especialmente WannaCry).


🔥 Top 10 de malware que usan EternalBlue (detallado)

#MalwareTipoPrimera detecciónActorDañosNotas
1WannaCryRansomware12 de mayo de 2017Lazarus Group (Corea del Norte)$4–8BInterruptor de apagado (killswitch): iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com
2NotPetyaWiper (disfrazado de ransomware)27 de junio de 2017Sandworm (Rusia)$10B+Usó Mimikatz + EternalBlue + PSEXEC
3Bad RabbitRansomware24 de octubre de 2017Indrik SpiderRegionalFalsa actualización de Flash mediante descarga automática (drive-by)
4UiwixRansomwaremayo de 2017DesconocidoBajoSin interruptor de apagado (killswitch), más sigiloso que WannaCry
5EternalRocksGusanomayo de 2017DesconocidoMedio7 herramientas de la NSA (incl. DoublePulsar)
6AdylkuzzCriptomineromayo de 2017DesconocidoAlto (silencioso)Minaba Monero antes que WannaCry
7RetefeTroyano bancario2017–2018DesconocidoBancos de la UEUsaba EternalBlue para movimiento lateral
8TrickBotMalware modular2017–2021Wizard SpiderGlobalDistribuía Ryuk mediante EternalBlue
9EmotetLoader2017–2021TA542GlobalUsado como vía de entrada para Cobalt Strike
10Clop / DridexRansomware2019–2025TA505Sanidad, GobiernosSigue activo en 2025

🧨 Evolución del exploit EternalBlue

eternelblue1
HerramientaLanzamientoCaracterísticas
EternalBlue (Original)Abr 2017 (Shadow Brokers)RCE en SMBv1
DoublePulsarAbr 2017Implante de puerta trasera (ring0)
EternalRomanceAbr 2017Variante de SMBv3
EternalChampionAbr 2017Ruta SMB alternativa
Módulo de MetasploitMay 2017exploit/windows/smb/ms17_010_eternalblue
FuzzBunchAbr 2017Marco de explotación de la NSA
Impacket + PSEXEC2017–2025Explotación de SMB en Python
eternelblue2

🔍 Cómo se explotó CVE-2017-0144 (EternalBlue)

Análisis técnico paso a paso de la RCE en SMBv1

"Un paquete malformado. Acceso total a SYSTEM. Sin inicio de sesión. Sin clic."


🎯 Flujo del exploit (TL;DR)

[Attacker] 
   │
   ├──▶ Sends crafted SMBv1 **Trans2** request
   │       → Triggers **heap overflow** in `srv!SrvOS2FeaListSizeToNt`
   │
   ├──▶ Overwrites function pointers → **kernel shellcode**
   │
   └──▶ Executes **DoublePulsar** backdoor → **Ring-0 payload**
           (e.g., WannaCry `mssecsvc.exe`)

🛠️ Requisitos previos para la explotación

RequisitoDetalles
ObjetivoWindows con SMBv1 habilitado (por defecto antes de Windows 10)
Puerto abierto445/TCP (o 139/TCP mediante NetBIOS)
Sin autenticaciónSin autenticar: no se necesita nombre de usuario ni contraseña
Arquitecturax86 o x64 (ambas compatibles)
Estado del parcheSin parchear (anterior a MS17-010)

🚀 Fases del exploit (7 pasos)

Fase 1: Negociación del protocolo SMB

SMB_COM_NEGOTIATE → Client sends dialect list
Server responds: SMBv1 supported → Proceed

¿Por qué? Confirma que SMBv1 está activo.


Fase 2: Conexión de árbol a IPC$

eternelblue3
\\TARGET\IPC$ → Anonymous share for SMB pipes

Propósito: establece una sesión para enviar solicitudes de transacción.


Fase 3: Configuración de sesión Trans2 (principal)

  • Usa SMB_COM_TRANSACTION2 (0x32)
  • Subcomando: SESSION_SETUP
  • Configura una estructura FEALIST con tamaño malformado
FEALIST {
    SizeOfListInBytes = 0xFFFF (or large value)
    ...
}

Desencadenante del fallo: SrvOS2FeaListSizeToNt() confía en este tamaño sin verificar los límites.


Fase 4: Solicitud Trans2 secundaria (desbordamiento)

  • Envía múltiples paquetes secundarios
  • Cada uno contiene FEALIST sobredimensionado + FEA (atributos extendidos de archivo)
eternelblue4
FEA {
    AttributeNameLength = 0x00
    AttributeName = "A" * 0x1000  → Overflow buffer
}

Heap Spray: asigna grandes bloques para controlar la disposición de la memoria.


Fase 5: Desbordamiento de búfer en el kernel

srv!SrvOS2FeaListSizeToNt(
    PFEALIST FeaList,      // attacker-controlled
    PULONG pNtFeaListSize  // output pointer
)
{
    // No validation of FeaList->SizeOfListInBytes
    memcpy(dest, src, FeaList->SizeOfListInBytes);  // BOOM
}

Resultado:

  • Desbordamiento de pila (heap) → Sobrescribe objetos adyacentes del kernel
  • Objetivo: SRVNET_BUFFER o POOL_HEADER
  • Sobrescribe punteros de función (p. ej., rutina Free)

Fase 6: Ejecución de shellcode en el kernel

  • El atacante controla RIP/EIP mediante un puntero de función sobrescrito
  • Salta al shellcode en el grupo no paginado (non-paged pool)

Qué hace el shellcode:

  1. Transición Ring-0 → Ring-3 (mediante KeUserModeCallback)
  2. Asigna memoria en modo usuario
  3. Descarga/prepara el payload (p. ej., mssecsvc.exe)
  4. Instala la puerta trasera DoublePulsar

Fase 7: Implante de la puerta trasera DoublePulsar

eternelblue6
  • Inyecta un controlador de kernel (clave XOR 0x00120034)
  • Escucha paquetes SMB mágicos:
    • Ping: 0x0002C001
    • Exec: 0x0002C002 + payload

Ejemplo de WannaCry:

EternalBlue → DoublePulsar → mssecsvc.exe → tasksche.exe → Encrypts files

🧨 Estructura del paquete del exploit (simplificada)

SMB Header
└── Command: 0x32 (TRANSACTION2)
    └── Setup: 0x000E (SESSION_SETUP)
        └── Parameter: TotalDataCount = 0x1000
            └── Data: 
                [FEALIST]
                  SizeOfListInBytes = 0x1100
                  [FEA #1] NameLen=0, Name="A"*0x1000
                  [FEA #2] ...
                [GROOM x100] → Spray heap
                [OVERFLOW] → Overwrite pool
                [SHELLCODE] → x64 ring0

🛠️ Herramientas de explotación reales

Descargar herramienta