EternalBlue: la vulnerabilidad que casi todo alumno de Ethical Hacking termina conociendo


 

Si existe un nombre que aparece una y otra vez cuando alguien empieza a estudiar Ethical Hacking, Pentesting, Kali Linux o Metasploit, ese nombre es:

EternalBlue.

No porque sea una vulnerabilidad nueva. Todo lo contrario.

EternalBlue pertenece ya a la historia de la ciberseguridad. Sin embargo, sigue siendo extraordinariamente útil desde un punto de vista educativo porque permite comprender, dentro de un laboratorio controlado, numerosos conceptos fundamentales:

  • Enumeración de servicios.
  • SMB.
  • Puertos de red.
  • Sistemas Windows.
  • Vulnerabilidades remotas.
  • CVE.
  • Parches de seguridad.
  • Ejecución remota de código.
  • Movimiento entre sistemas.
  • Metasploit.
  • Segmentación de redes.
  • Ransomware.
  • Gestión de vulnerabilidades.

Por eso es difícil estudiar Ethical Hacking durante cierto tiempo sin encontrarse tarde o temprano con MS17-010.

Primero aclaremos algo: EternalBlue no es exactamente “la vulnerabilidad”

Este punto suele generar confusión entre los alumnos.

MS17-010 es el boletín de seguridad que Microsoft publicó el 14 de marzo de 2017 para corregir varias vulnerabilidades relacionadas con SMBv1.

Una de ellas es CVE-2017-0144, una vulnerabilidad que permite ejecución remota de código mediante paquetes especialmente manipulados enviados al servicio SMBv1 de Windows. Microsoft clasificó MS17-010 como una actualización crítica.

EternalBlue, estrictamente hablando, es el nombre del exploit que aprovecha vulnerabilidades de esta familia.

En la práctica, sin embargo, cuando alguien dice:

“Vamos a practicar EternalBlue”

todos entendemos de qué estamos hablando.

¿Qué es SMB?

Para comprender EternalBlue primero necesitamos entender el servicio atacado.

SMB significa Server Message Block.

Es un protocolo utilizado principalmente en redes Windows para compartir diferentes recursos.

Por ejemplo:

archivos,

carpetas,

impresoras,

recursos de red,

comunicación entre determinados servicios.

Históricamente SMB ha tenido un papel fundamental dentro de las redes Windows.

El problema relacionado con EternalBlue afectaba concretamente a SMBv1, una versión antigua del protocolo.

Microsoft explicó que las vulnerabilidades corregidas mediante MS17-010 podían permitir ejecución remota de código cuando un servidor SMBv1 procesaba determinados mensajes especialmente diseñados.

Eso ya debería llamar inmediatamente la atención de cualquier estudiante de seguridad.

Porque tenemos:

servicio de red + vulnerabilidad remota + ejecución de código.

Una combinación particularmente peligrosa.

El famoso puerto 445

Cuando estudiamos redes probablemente uno de los primeros números que terminamos memorizando sea:

445/TCP

Este puerto está asociado normalmente con SMB sobre TCP.

Durante un pentest autorizado, descubrir el puerto 445 abierto no significa automáticamente:

“La máquina es vulnerable a EternalBlue”.

Eso sería una conclusión incorrecta.

Significa simplemente:

“Hay un servicio relacionado con SMB accesible y debería investigarlo”.

Entonces comienza el verdadero trabajo.

¿Qué sistema operativo existe detrás?

¿Qué versión?

¿Qué dialecto SMB soporta?

¿Está habilitado SMBv1?

¿Está actualizado?

¿Qué servicios están expuestos?

¿Qué permisos existen?

¿La actualización MS17-010 fue aplicada?

El ethical hacker trabaja con evidencias.

No con suposiciones.

¿Qué hacía tan peligrosa a CVE-2017-0144?

La National Vulnerability Database describe CVE-2017-0144 como una vulnerabilidad del servidor SMBv1 de Microsoft Windows que podía permitir a un atacante remoto ejecutar código arbitrario mediante paquetes específicamente manipulados.

Ahora pensemos qué significa eso.

Normalmente, para comprometer una computadora podríamos necesitar:

engañar al usuario,

robar una contraseña,

hacer que ejecute un archivo,

enviarle phishing,

conseguir acceso previamente.

Una vulnerabilidad remota en un servicio de red cambia completamente el escenario.

Si el servicio vulnerable es accesible, el propio procesamiento del tráfico recibido puede convertirse en el vector de ataque.

Por eso las vulnerabilidades de Remote Code Execution, conocidas como RCE, reciben tanta atención.

Microsoft corrigió el problema antes de WannaCry

Aquí aparece una de las lecciones más importantes de toda la historia.

Microsoft publicó MS17-010 el:

14 de marzo de 2017.

La actualización corregía las vulnerabilidades asociadas con SMBv1.

Después ocurrió algo que cambiaría la historia de la ciberseguridad.

El 14 de abril de 2017, aproximadamente un mes después de haberse publicado la actualización, se hizo público un conjunto de herramientas atribuidas a la NSA mediante una filtración de Shadow Brokers. Entre ellas se encontraba EternalBlue. Microsoft posteriormente recordó esta cronología en una publicación del Security Response Center.

Y entonces llegó mayo.

EternalBlue y WannaCry

El 12 de mayo de 2017 comenzó uno de los incidentes de ransomware más famosos de la historia:

WannaCry.

WannaCry incorporaba capacidad de propagación utilizando la vulnerabilidad corregida mediante MS17-010/EternalBlue.

CISA documentó específicamente que WannaCry se propagaba mediante el exploit EternalBlue contra SMBv1.

La consecuencia fue una demostración brutal de un principio muy simple:

Tener un parche disponible no significa estar protegido.

El parche existía.

Pero una enorme cantidad de computadoras todavía no lo había instalado.

Ese detalle convirtió una vulnerabilidad corregida en un desastre internacional.

La verdadera lección de EternalBlue no es cómo explotarlo

Cuando un alumno de Ethical Hacking encuentra EternalBlue por primera vez suele entusiasmarse con la parte ofensiva.

Encontrar la máquina.

Escanearla.

Detectar SMB.

Identificar MS17-010.

Lanzar un exploit en el laboratorio.

Obtener acceso.

Es comprensible.

Ver por primera vez cómo una vulnerabilidad permite pasar desde una computadora atacante a controlar una máquina vulnerable ayuda a materializar conceptos que antes parecían solamente teoría.

Pero esa no es la principal enseñanza de EternalBlue.

La verdadera lección es entender por qué el ataque fue posible.

Lección 1: enumerar antes de atacar

Todo empieza obteniendo información.

Cuando encontramos:

445/tcp open

todavía sabemos muy poco.

Necesitamos convertir ese dato en información útil.

El proceso mental debería ser:

Puerto → servicio → protocolo → versión → sistema → vulnerabilidad → riesgo.

Esta lógica puede aplicarse prácticamente a cualquier pentest.

No importa si estamos analizando SMB, SSH, FTP, HTTP, RDP o una base de datos.

La enumeración es una de las habilidades más importantes de un ethical hacker.

Lección 2: nunca confundir detección con explotación

Un scanner puede decirnos:

“Posible MS17-010”.

Eso no equivale necesariamente a:

“El sistema es explotable”.

Las herramientas pueden producir:

falsos positivos,

falsos negativos,

detecciones incompletas,

errores de fingerprinting.

El pentester debe validar los resultados.

Ahí aparece una diferencia enorme entre utilizar herramientas y comprender seguridad informática.

Lección 3: el patch management puede detener ataques devastadores

Existe cierta tendencia a imaginar la ciberseguridad como algo extraordinariamente sofisticado.

Zero-days.

APT.

Malware avanzado.

Exploit development.

Ingeniería inversa.

Pero muchos incidentes ocurren por algo muchísimo más sencillo:

no actualizar.

Microsoft había publicado la actualización de MS17-010 antes de la propagación masiva de WannaCry.

Eso convierte a EternalBlue en uno de los mejores ejemplos educativos sobre la importancia del Patch Management.

Lección 4: una vulnerabilidad puede transformarse en un gusano

Existe una diferencia fundamental entre comprometer una computadora y crear malware capaz de propagarse.

WannaCry utilizó EternalBlue para extenderse automáticamente a otros sistemas vulnerables.

Esto introduce el concepto de:

wormable vulnerability.

Una vulnerabilidad “wormable” permite crear escenarios donde un malware puede propagarse entre sistemas vulnerables con poca o ninguna intervención humana.

Microsoft describió EternalBlue posteriormente como un exploit con características de propagación tipo gusano asociado con SMBv1.

Y ahí las matemáticas empiezan a jugar en contra del defensor.

Una máquina compromete otra.

Dos pueden comprometer cuatro.

Cuatro pueden comprometer más.

Si muchas máquinas tienen la misma vulnerabilidad y existe conectividad entre ellas, el problema puede crecer rápidamente.

Lección 5: la segmentación de red importa

Supongamos que una empresa tiene 500 computadoras.

Si todas pueden comunicarse libremente entre ellas mediante SMB, comprometer una sola podría generar oportunidades para alcanzar muchas otras.

Ahora imaginemos una red segmentada.

Usuarios por un lado.

Servidores por otro.

Sistemas críticos separados.

Firewalls internos.

ACL.

Restricciones de SMB.

La vulnerabilidad sigue siendo peligrosa.

Pero el alcance potencial del incidente puede reducirse enormemente.

Esto demuestra una idea central de la seguridad:

Nunca debemos depender de una única defensa.

¿Por qué EternalBlue continúa apareciendo en cursos de Ethical Hacking?

Porque pedagógicamente es casi perfecto.

En un único laboratorio podemos estudiar:

Networking

El alumno necesita entender IP, puertos y comunicación entre máquinas.

Enumeración

Debe descubrir qué servicios están disponibles.

Fingerprinting

Necesita identificar el sistema objetivo.

SMB

Aprende uno de los protocolos fundamentales del ecosistema Windows.

Vulnerabilidades

Comprende qué es un CVE y qué significa MS17-010.

Explotación

Ve cómo un fallo puede convertirse en ejecución remota.

Post-explotación

Comprende qué significa realmente haber conseguido acceso.

Defensa

Después puede parchear el sistema y comprobar que el mismo ataque deja de funcionar.

Esa última parte es especialmente educativa.

Primero:

sistema vulnerable → ataque exitoso.

Después:

sistema actualizado → vulnerabilidad corregida.

El alumno puede observar directamente el efecto de una medida defensiva.

Metasploitable, Windows 7 y los laboratorios educativos

Una práctica frecuente en formación de Ethical Hacking consiste en construir una red virtual completamente aislada.

Por ejemplo:

una máquina atacante,

una máquina Windows deliberadamente vulnerable,

VirtualBox o VMware,

una red interna sin exposición a Internet.

La finalidad no debería ser simplemente conseguir una sesión remota.

Debería ser comprender todo el ciclo:

Descubrimiento → Enumeración → Análisis → Validación → Explotación controlada → Evidencia → Corrección → Nueva validación.

Eso reproduce mucho mejor el trabajo profesional de un pentester.

¿Por qué no deberíamos practicar EternalBlue contra máquinas ajenas?

Porque una vulnerabilidad real no es un videojuego.

El sistema objetivo puede:

contener información real,

pertenecer a otra persona,

formar parte de una empresa,

proporcionar un servicio crítico,

quedar inestable,

reiniciarse,

perder información.

Incluso algunas implementaciones de exploits contra vulnerabilidades de bajo nivel pueden provocar fallos o inestabilidad en el sistema objetivo.

Por eso un laboratorio debe ser:

propio, controlado, aislado y deliberadamente vulnerable.

Nunca una dirección IP encontrada al azar en Internet.

¿EternalBlue sirve todavía para aprender?

Sí.

Muchísimo.

Pero por una razón distinta de la que algunos imaginan.

No deberíamos estudiarlo porque queramos encontrar computadoras Windows antiguas conectadas a Internet.

Deberíamos estudiarlo porque representa un excelente caso histórico para comprender cómo se conectan diferentes áreas de la seguridad.

Protocolo.

Vulnerabilidad.

Exploit.

Parche.

Malware.

Propagación.

Ransomware.

Gestión de riesgos.

Todo en una misma historia.

La secuencia que todo alumno debería recordar

Podemos resumir EternalBlue así:

1. Existe SMBv1

Un protocolo antiguo continúa presente en numerosos sistemas.

2. Se descubre una vulnerabilidad crítica

Determinadas solicitudes especialmente construidas pueden provocar ejecución remota de código.

3. Microsoft publica MS17-010

La actualización aparece el 14 de marzo de 2017.

4. EternalBlue se hace público

El exploit aparece públicamente dentro de las herramientas filtradas por Shadow Brokers en abril de 2017.

5. Muchos sistemas continúan sin parchear

La vulnerabilidad sigue disponible en miles de equipos.

6. Aparece WannaCry

El ransomware utiliza EternalBlue para propagarse entre sistemas vulnerables.

7. El mundo aprende una lección carísima

Actualizar sistemas no es opcional.

¿Cómo defenderse de EternalBlue?

En sistemas legítimos, la respuesta histórica principal fue aplicar las actualizaciones correspondientes a MS17-010.

Microsoft mantiene documentación específica para comprobar si las correcciones de MS17-010 están instaladas y advierte que los equipos sin dicha actualización presentan mayor riesgo frente a malware que aprovecha vulnerabilidades de SMBv1.

Además de actualizar, existen principios defensivos generales:

  • Eliminar protocolos heredados cuando ya no sean necesarios.
  • Evitar exponer SMB directamente a redes no confiables.
  • Utilizar segmentación.
  • Filtrar tráfico entre segmentos.
  • Mantener inventario de activos.
  • Aplicar actualizaciones de seguridad.
  • Monitorizar tráfico SMB anómalo.
  • Implementar defensa en profundidad.
  • Retirar sistemas operativos obsoletos.

EternalBlue resume perfectamente qué es el Ethical Hacking

Muchas veces se define Ethical Hacking como:

“hackear con permiso”.

Es correcto, pero incompleto.

Un ethical hacker debería ser capaz de mirar EternalBlue y comprender mucho más que simplemente cómo ejecutar un exploit.

Debería preguntarse:

¿Por qué existe el servicio?

¿Por qué puede acceder a él mi máquina?

¿Por qué sigue habilitado SMBv1?

¿Por qué falta el parche?

¿Qué otros sistemas presentan el mismo problema?

¿Qué impacto tendría una explotación real?

¿Cómo impediríamos el movimiento lateral?

¿Cómo detectaríamos el ataque?

¿Cómo demostraríamos la vulnerabilidad sin provocar daños?

¿Cómo explicaríamos el riesgo al cliente?

¿Cómo verificaríamos después que fue corregido?

Eso es pentesting.

Las herramientas solamente aparecen en medio del proceso.

El exploit que enseñó a una generación de pentesters

Para muchísimos estudiantes, EternalBlue termina siendo una de las primeras vulnerabilidades donde pueden observar claramente la relación entre:

una falla de software y el control de una máquina remota.

Quizás por eso continúa apareciendo tantos años después en laboratorios, cursos y certificaciones.

Pero deberíamos recordarlo por algo todavía más importante.

WannaCry demostró que una vulnerabilidad conocida, con una actualización ya disponible, puede producir consecuencias enormes cuando las organizaciones no gestionan correctamente sus sistemas.

Microsoft había publicado la corrección.

El conocimiento existía.

La defensa existía.

Faltaba aplicarla.

Y quizás esa sea la mejor lección que EternalBlue puede enseñarnos:

En ciberseguridad, conocer una vulnerabilidad es importante.

Corregirla a tiempo es todavía más importante.


Ethical Hacking responsable

EternalBlue debe estudiarse únicamente dentro de laboratorios propios o entornos sobre los cuales exista autorización expresa.

Una máquina virtual Windows deliberadamente vulnerable y aislada proporciona todo lo necesario para comprender MS17-010 sin afectar sistemas de terceros.

Porque la diferencia entre estudiar una vulnerabilidad y atacar un sistema real no está en la herramienta utilizada.

Está en una palabra:

autorización.

#EthicalHacking #EternalBlue #MS17010 #CVE20170144 #CyberSecurity #Ciberseguridad #Pentesting #HackingEtico #KaliLinux #Metasploit #SMB #SMBv1 #WindowsSecurity #WannaCry #Ransomware #InfoSec #RedTeam #BlueTeam #NetworkSecurity #Vulnerability #CyberSecurityTraining #Pentester #OffensiveSecurity

Comentarios

Entradas populares de este blog

Burp Suite: cómo analizar aplicaciones web con ejemplos de consola

El futuro de los robots: ¿compañeros de la humanidad o nuevos dueños del mundo?

Contraseñas únicas y autenticación en dos pasos: dos hábitos que pueden salvar tus cuentas