Cómo comprobar la vulnerabilidad EternalBlue en Windows 10 con Nmap

En el cambiante panorama de la ciberseguridad, mantenerse un paso por delante de los actores maliciosos es fundamental, y comprender las complejidades de las redes es una parte integral de ello. Una herramienta que puede ayudar en esta tarea es Nmap, o Network Mapper, una solución incondicional en el ámbito de la ciberseguridad.

Nmap es una herramienta de código abierto diseñada para analizar redes y realizar auditorías de seguridad, revelando información valiosa sobre la infraestructura de red. Es esencial tanto para profesionales de la ciberseguridad que buscan vulnerabilidades como para administradores de sistemas que mantienen la salud de la red.

Funcionalidades clave de Nmap

Las capacidades y versatilidad de Nmap lo han convertido en un elemento básico en el arsenal de profesionales de la ciberseguridad, administradores de sistemas y hackers éticos. Su conjunto de funciones va más allá del escaneo básico de redes, incluyendo:

  • Descubrimiento del host: Nmap identifica los hosts activos en una red, sentando las bases para una exploración más profunda.
  • Exploración de puertos: Descubre puertos y servicios abiertos, permitiendo a los administradores conocer la superficie de ataque de una red.
  • Detección de versiones: Puede identificar versiones de servicios, ayudando a localizar posibles vulnerabilidades asociadas a versiones específicas.
  • Interacción programable: El Nmap Scripting Engine (NSE) permite a los usuarios crear análisis a medida y automatizar tareas complejas.
  • Huella digital del sistema operativo: Las capacidades de detección de SO de Nmap permiten identificar los sistemas operativos que se ejecutan en los hosts, lo que ayuda en el inventario de la red y las evaluaciones de seguridad.

Infografía: Funcionalidades principales de Nmap

Escaneo de redes y auditoría de seguridad con Nmap

El escaneo de redes explora sistemáticamente una red informática para identificar sus componentes, evaluar su topología y descubrir posibles fallos de seguridad. Al conocer la configuración de una red, los administradores pueden tomar decisiones de seguridad informadas y reforzar el perímetro digital.

Nmap es la herramienta líder para el análisis de redes y la auditoría de seguridad gracias a su variada gama de técnicas de escaneo y su capacidad de personalización:

  • Inventario de redes: Puede elaborar una lista de todos los activos de software y servicios, creando un "mapa" de la red con detalles como direcciones IP, puertos, versiones de software o servicios, sistemas operativos y direcciones MAC.
  • Detección de vulnerabilidades: Puede analizar una red en busca de vulnerabilidades comparando los sistemas operativos y las versiones de los servicios con vulnerabilidades conocidas mediante el NSE.
  • Supervisión de redes: Se logra automatizando las tareas de escaneo con el NSE.

Primeros pasos con Nmap

Instalación de Nmap

El primer paso para usar Nmap es instalarlo en tu equipo. A continuación, se detallan las instrucciones para los tres principales sistemas operativos. Se recomienda consultar la página de descargas de Nmap para obtener la última versión del software.

Instalar Nmap en Linux

La instalación de Nmap en Linux depende de la distribución:

  • Para distribuciones basadas en RPM (Red Hat, Mandrake, SUSE, Fedora): yum install nmap
  • Para Debian Linux y sus derivados (Ubuntu): apt-get install nmap

En la mayoría de las distribuciones de Linux, ZenMap, la interfaz gráfica oficial de Nmap, debe instalarse por separado.

Instalar Nmap en Windows

  1. Dirígete a la página de descargas de Nmap y descarga la última versión estable para Windows.
  2. Haz doble clic en el archivo de instalación.
  3. Haz clic en cuando Windows solicite permiso y acepta la licencia.
  4. En el menú de componentes, asegúrate de que todo lo necesario esté marcado (incluido ZenMap si lo deseas) y haz clic en Siguiente.
  5. Haz clic en Instalar en la pantalla final.
  6. Aparecerá la pantalla de configuración de Npcap. Acepta la licencia y haz clic en Instalar. Npcap es la versión para Windows de la librería libpcap, necesaria para que Nmap funcione.
  7. Sigue los pasos del proceso de instalación, dejando la configuración predeterminada.

Una vez finalizada la instalación, tendrás un enlace a Zenmap en tu escritorio y una carpeta en el menú de inicio.

Instalar Nmap en Mac

Existen dos opciones para instalar Nmap en Mac:

  1. Si ya tienes Homebrew instalado: brew install nmap
  2. Descarga el último instalador de la versión estable (.dmg) desde la sección "Mac OS X Binaries" de la página de descargas de Nmap. Este archivo también incluye ZenMap. Haz doble clic en el archivo .dmg para iniciar el instalador y sigue las instrucciones.

Comandos y sintaxis básicos de Nmap

Una vez instalado Nmap, puedes empezar a aprender algunos comandos básicos para el escaneo de redes:

  • Ayuda: Para obtener ayuda, simplemente ejecuta nmap en un terminal.
  • Detección sencilla de hosts: Para descubrir dispositivos activos en la red: nmap <target> (donde <target> puede ser una dirección IP, un nombre de host o un rango de direcciones IP, por ejemplo, nmap 192.168.10.0/24).
  • Escaneo de ping: Identifica hosts activos sin enviar paquetes al host: nmap -sn <target>.
  • Escaneo básico de puertos: Para sondear puertos y servicios abiertos: nmap -p <port-range> <target> (reemplaza <port-range> con un número de puerto o un rango, por ejemplo, 80, 443 o 1-1024).
  • Detección de versiones: Para conocer las versiones de los servicios en puertos abiertos: nmap -sV -p <port-range> <target>. El indicador -sV activa la detección de versiones.
  • Huella digital del sistema operativo: Para determinar el sistema operativo de un host: nmap -O <target>. El indicador -O habilita la detección de SO.

10 Comandos Básicos de NMAP - Kali Linux

Uso de Nmap para escanear la red

Para poner en práctica los comandos, necesitarás un rango de IP para escanear. Puedes usar tu propia red (por ejemplo, si tu IP es 10.0.0.23, el rango sería 10.0.0.0/24) o scanme.nmap.org como objetivo, que fue creado para ayudar a aprender a usar Nmap.

Usar un escaneo de ping para identificar hosts activos

Un escaneo de ping es la base del descubrimiento de hosts. Para escanear un rango de direcciones IP, ejecuta:

nmap -sn 10.0.0.0/24

Esto mostrará los hosts activos en la red.

Exploración de diferentes técnicas de escaneado de puertos

Un escaneo de ping solo proporciona las direcciones IP de los hosts. Para obtener más información, se necesitan otras técnicas de escaneo.

Exploración de conexión TCP

Es la técnica de escaneo más directa. Nmap establece un protocolo de enlace TCP completo de tres vías con cada puerto de destino para determinar su estado (abierto, cerrado o filtrado). Ejemplo:

nmap -sT 10.0.0.1

Esto listará los puertos en el host.

Escaneo SYN

También conocido como escaneo semiabierto o sigiloso. Envía paquetes SYN a los puertos objetivo sin completar el protocolo de enlace, evaluando las respuestas para determinar la apertura del puerto sin conectarse completamente. Es más rápido y menos propenso a ser detectado. Algunos comandos de Nmap, como este, requieren privilegios de root en Unix/Mac o una cuenta de administrador en Windows. Ejemplo:

sudo nmap -sS 10.0.0.1

Escaneo UDP

Se dirige a los puertos UDP del host. Dado que UDP es un protocolo sin conexión, determinar el estado del puerto requiere interpretar la respuesta o su ausencia. Nmap detecta la limitación de velocidad y reduce la velocidad para evitar desbordamientos, lo que puede hacer que el escaneo sea prolongado. Por ello, se usa la opción -F para escanear solo los 100 puertos principales. Este escaneo también requiere privilegios de root o una cuenta de administrador. Ejemplo:

sudo nmap -sU 10.0.0.1 -F

Escaneo del sistema operativo

Saber qué sistemas operativos se ejecutan en los hosts es importante para comprender la arquitectura de una red. También requiere privilegios de root o una cuenta de administrador. Ejemplo:

sudo nmap -O 10.0.0.0/24

Se pueden usar rangos de direcciones IP para este escaneo.

Uso de Nmap para auditorías de seguridad

Los comandos aprendidos te ayudarán a iniciar una auditoría de seguridad al listar todos los puertos abiertos, servicios y sistemas operativos en uso en tu red, indicando posibles puntos de entrada para agentes maliciosos. Para auditorías de seguridad más profundas, puedes utilizar el Nmap Scripting Engine (NSE).

NSE incluye un conjunto de scripts (más de 600) que te ayudarán a encontrar vulnerabilidades en tus sistemas, la mayoría preinstalados con Nmap. Utiliza el lenguaje de programación Lua y permite escribir scripts propios para personalizar los escaneos.

Para un ejemplo, se utilizará el script vulners, que usa la base de datos de vulnerabilidades Vulners. Este script depende de tener información sobre las versiones de software, por lo que debes usar el indicador -sV. Ejemplo de escaneo usando este script para un rango de IP:

nmap -sV --script=vulners 10.0.0.0/24

El resultado mostrará las vulnerabilidades detectadas, si las hubiera.

Nmap para diferentes sistemas operativos

Aunque los comandos de Nmap son consistentes entre sistemas operativos, existen consideraciones específicas:

Linux

  • Instalar Nmap: Usa apt-get en Debian/Ubuntu o yum en RHEL/CentOS. También puedes descargar paquetes RPM manualmente.
  • Ejecutar Nmap: Abre el terminal e introduce el comando.
  • Actualizar Nmap: sudo apt-get update && sudo apt-get upgrade nmap para Debian/Ubuntu; sudo yum update nmap para RHEL/CentOS.
  • Desinstalar Nmap: sudo apt-get remove nmap para Debian/Ubuntu; sudo yum remove nmap para RHEL/CentOS.

Windows

  • Instalar Nmap: Descarga el ejecutable de instalación desde la página de Nmap.
  • Ejecutar Nmap: Abre el Símbolo del sistema o PowerShell e introduce el comando.
  • Actualizar Nmap: Nmap se actualizará automáticamente a la última versión.
  • Desinstalar Nmap: Haz doble clic en el script de desinstalación en la carpeta de instalación.
  • Rendimiento: Puede no ser tan eficiente como en sistemas Unix, y solo soporta interfaces Ethernet para escaneos de paquetes en bruto, pero es suficiente para la mayoría de los casos de uso.

Mac

  • Instalar Nmap: Descarga el archivo .dmg o usa Homebrew con brew install nmap.
  • Ejecutar Nmap: Abre la aplicación Terminal e introduce el comando.
  • Actualizar Nmap: Si se instaló con Homebrew, usa brew upgrade nmap. Si se instaló desde el sitio oficial, compara tu versión (nmap) con la estable actual para decidir si necesitas una nueva instalación.
  • Desinstalar Nmap: Si se instaló con Homebrew, usa brew uninstall nmap. Si se instaló desde el sitio oficial, usa sudo rm -rf /usr/local/bin/nmap /usr/local/share/man/man1/nmap.1.

EternalBlue y su impacto

EternalBlue es el nombre de una serie de vulnerabilidades del software de Microsoft y del exploit creado por la NSA. La NSA, después de casi un año buscando un fallo en el software de Microsoft, desarrolló EternalBlue para explotar una vulnerabilidad de seguridad de Windows.

Sin embargo, la NSA sufrió un ataque informático, y el grupo Shadow Brokers filtró EternalBlue y otras herramientas cibernéticas sensibles. El 14 de marzo de 2017, Microsoft publicó el boletín de seguridad MS17-010, un parche diseñado para solucionar fallos en SMBv1 para todos los sistemas operativos Windows compatibles (incluidos Windows Vista, 7, 8.1, 10, Server 2008, 2012 y 2016). Tras la filtración, Microsoft lanzó un segundo parche de emergencia para sistemas operativos sin soporte, demostrando la gravedad de EternalBlue.

Diagrama: Cronología del exploit EternalBlue y su parche

¿Cómo funciona EternalBlue?

El exploit EternalBlue aprovecha vulnerabilidades de SMBv1 en versiones antiguas de sistemas operativos Microsoft. SMBv1, desarrollado en 1983, es un protocolo de comunicación de red para el acceso compartido a archivos, impresoras y puertos. El exploit utiliza la forma en que Microsoft Windows gestiona (o gestiona mal) paquetes especialmente elaborados por atacantes maliciosos.

El parche de Microsoft cierra completamente esta vulnerabilidad, impidiendo el despliegue de ransomware, malware, cryptojacking o cualquier otro intento de infiltración digital tipo gusano usando EternalBlue.

La persistencia de EternalBlue

Este problema clave le da a EternalBlue una vida tan larga: muchas personas e incluso empresas no actualizan su software regularmente, dejando sus sistemas operativos sin parchear y, por tanto, vulnerables. La vulnerabilidad tiene una criticidad de 8.8 en base al CVSSv3.1, se la encuentra bajo los identificadores CVE-2017-0144 o MS17-010 y permite una ejecución remota de código.

EternalBlue se ha utilizado para propagar los ransomware WannaCry y Petya, pero puede usarse para cualquier tipo de ciberataque, incluyendo cryptojacking y malware tipo gusano. Aunque WannaCry y NotPetya causaron la mayor parte de su daño a principios de 2017, otros ataques que explotan EternalBlue siguen vigentes.

WannaCry

Un ataque mundial de ransomware que comenzó el 12 de mayo de 2017 y tuvo un impacto global. Aunque no hubo objetivos específicos, entidades importantes como FedEx, la Universidad de Montreal, LATAM Airlines, Deutsche Bahn y el Servicio Nacional de Salud del Reino Unido (NHS) sufrieron ataques.

Petya y NotPetya

Petya se lanzó a principios de 2016. Gracias a EternalBlue y al éxito de WannaCry, el ransomware Petya tuvo una segunda oportunidad de destrucción con NotPetya (Petya V2), cuyo objetivo era inutilizar completamente un sistema, sin cura incluso si se pagaba el rescate.

La amenaza actual y futura

Casi un millón de equipos continúan usando el protocolo vulnerable SMBv1 y permanecen en línea, garantizando la persistencia de EternalBlue. La amenaza más profunda radica en los exploits sin utilizar también liberados durante el ataque a la NSA por Shadow Brokers. La amenaza más peligrosa que se vislumbra es EternalRocks, que, a diferencia de WannaCry (que usó dos exploits), se dice que usa siete exploits, incluyendo EternalBlue, EternalRomance, EternalSynergy, EternalChampion, ArchiTouch y SMBTouch.

Protegerse de EternalBlue

La buena noticia es que existen herramientas sólidas para protegerse. Se recomienda a todos los usuarios de Windows que apliquen el parche de seguridad de Microsoft disponible en MS17-010. Simplemente actualiza tu software a la última versión de Windows. No hacerlo significa intentar combatir problemas del presente con herramientas del pasado.

Para ver si un PC es vulnerable a un ciberataque de EternalBlue, se puede usar EternalBlue Vulnerability Checker de ESET, que es fácil de usar y está disponible para descarga. Para usuarios en red que no son responsables directos de las actualizaciones, es útil saber qué máquinas tienen el puerto 445/TCP accesible y son vulnerables.

Comprobación de vulnerabilidad con Nmap en Windows

En el contexto de TryHackMe, la sala Blue (de dificultad fácil) explora cómo hackear una máquina Windows aprovechando problemas comunes de desconfiguración, como EternalBlue.

Enumeración

Se realiza una enumeración de los servicios asociados a los puertos abiertos. Se observa que hay varios puertos habilitados, entre ellos el 135 (RPC), 139/445 (SMB), 3389 (RDP). El informe destaca que es posible que el sistema operativo de la máquina objetivo sea Windows 7 Professional.

Explotación de EternalBlue con Metasploit

Para explotar la vulnerabilidad de EternalBlue, se puede usar el framework Metasploit. En este caso, se emplea el exploit exploit/windows/smb/ms17_010_eternalblue. Se utiliza específicamente el payload windows/x64/shell/reverse_tcp para obtener una shell convencional.

El resultado de una ejecución del módulo auxiliar puede indicar que el objetivo es vulnerable y proporciona la arquitectura del sistema operativo, útil para especificar el payload.

Es normal que el exploit falle en los primeros intentos.

Post-explotación: De shell a Meterpreter y migración

Si se obtiene una shell convencional, se puede transformar en una sesión Meterpreter utilizando el módulo post/multi/manage/shell_to_meterpreter. La única opción requerida es el ID de sesión. Después de configurarlo y ejecutar el módulo, se obtiene una nueva sesión Meterpreter. Para evadir detecciones, se migra al proceso winlogon.exe, un proceso habitual en sistemas operativos Windows.

Recolección de credenciales con Mimikatz

Con acceso al sistema como nt authority\system, se pueden obtener los hashes de las contraseñas de los usuarios con la herramienta Mimikatz. Para usarla en la máquina víctima, se ubica mimikatz.exe en la máquina atacante (Kali), se crea un recurso compartido (por ejemplo, "a") que lo contenga, y se accede desde la víctima.

tags: #revisar #si #windows #10 #es #vulnerable