> For the complete documentation index, see [llms.txt](https://4lec4st.gitbook.io/4lec4st/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://4lec4st.gitbook.io/4lec4st/writes-ups/tryhackme/easy/blue.md).

# Blue

## Información de la máquina

<figure><img src="/files/OOGEi5PpC4eQRtKhM3A7" alt=""><figcaption></figcaption></figure>

Blue es una máquina fácil de TryHackMe en le que tendremos que explotar la vulnerabilidad EternalBlue.

***

## Reconocimiento

Empezaremos haciendo un primer reconocimiento para ver los puertos abiertos en el sistema.

<figure><img src="/files/gukYUr6MJrFuZ2mLUYyK" alt=""><figcaption></figcaption></figure>

**1. `-p-` → Escaneo de todos los puertos (1-65535)**

Por defecto, `nmap` solo escanea los **1000 puertos más comunes**.\
Con `-p-`, forzamos a que escanee **los 65,535 puertos** de la máquina objetivo, lo que puede ser útil para encontrar servicios que corren en puertos poco convencionales.

**2. `--open` → Filtrar solo los puertos abiertos**

Cuando escaneamos un sistema, muchos puertos pueden estar cerrados o filtrados por un firewall.\
Este parámetro hace que `nmap` **solo muestre los puertos abiertos**, reduciendo el ruido y facilitando el análisis.

**3. `-sS` → Stealth Scan (Escaneo Sigiloso con SYN)**

Es conocido como **"TCP SYN Scan"**, y funciona de la siguiente manera:

* `nmap` envía un paquete **SYN** (solicitud de conexión).
* &#x20;Si el puerto está abierto, el servidor responde con **SYN-ACK**.
* En lugar de completar la conexión con un **ACK**, `nmap` responde con un **RST (Reset)**, interrumpiendo la comunicación.

**4. `--min-rate 5000` → Velocidad mínima de paquetes (5000 por segundo)**

Por defecto, `nmap` ajusta dinámicamente la velocidad de los paquetes según la respuesta de la red.\
Con `--min-rate 5000`, obligamos a `nmap` a **no enviar menos de 5000 paquetes por segundo**, acelerando el escaneo.

**5. `-n` → Deshabilitar resolución DNS**

Normalmente, `nmap` intenta resolver el nombre de dominio de las IPs escaneadas (DNS lookup).\
Con `-n`, evitamos esta resolución de nombres, lo que **acelera el escaneo** y evita que los servidores DNS registren nuestra actividad.

**6. `-Pn` → Omitir detección de host (Host Discovery Off)**

Por defecto, `nmap` envía paquetes ICMP (ping) para ver si un host está activo antes de escanearlo.\
Si un firewall bloquea los pings, `nmap` puede marcarlo como "host down" y no escanearlo.

**7. `-oG`** **→ Exportar el contenido en formato grepeable**

Todo el resultado del escaneo lo exportaremos en un archivo llamado **`allPorts`  .**

<figure><img src="/files/CvHHetRMd9U9sYKTBULf" alt=""><figcaption></figcaption></figure>

**1. `-p<puertos obtenidos>` → Escaneo de puertos específicos**

Con `-p<puertos obtenidos>`, le indicamos que **solo** escanee los puertos que le indicamos.

**2. `-sCV` → Escaneo de versiones y scripts básicos**

Este parámetro en realidad es **dos combinaciones en una**:

* **`-sC`** → Activa los **NSE scripts por defecto** en `nmap` (similar a usar `--script=default`).\
  Ejecuta scripts básicos para enumerar información del servicio detectado, como banners, versiones, etc.
* **`-sV`** → Realiza **fingerprinting de versiones**, intentando identificar la versión exacta del software en cada puerto abierto.

**3. `-oN` → Guardar el resultado en formato Normal**

Por defecto, `nmap` muestra los resultados en pantalla, pero con **`-oN targeted`**, guardamos el resultado en un archivo en **formato legible para humanos**.

Podemos identificar desde el inicio que el sistema operativo de la máquina es Windows 7. Esto es relevante porque sabemos que Windows 7 es vulnerable si no tiene aplicado el parche de seguridad MS17-010, asociado a EternalBlue.

## Exploit EternalBlue

Con nmap podemos lanzar el script para asegurarnos que estamos ante la vulnerdabilidad bastante conocida llamada "EternalBlue". Podemos ver que es vulnerable

<figure><img src="/files/KDX35qIx3lkLKc4yQpoN" alt=""><figcaption></figcaption></figure>

Abrimos metasploit y buscamos el exploit. Seleccionamos el 0.

<figure><img src="/files/wRtRXCyvyxiFn1HuxWWi" alt=""><figcaption></figcaption></figure>

Configuramos parámetros esenciales como la IP de la víctima, la IP local para recibir la conexión, y el payload que queremos ejecutar. Al lanzar el exploit con esos datos, si el ataque es exitoso, obtenemos acceso remoto mediante una sesión interactiva de meterpreter, que facilita el control sobre la máquina.

{% hint style="warning" %}
Si seguimos la máquina, la opción payload cambia, y tendríamos que usar un módulo para llegar a tener la consola como meterpreter.
{% endhint %}

<figure><img src="/files/nBNmN9nvhVa0iU3mvpAX" alt=""><figcaption></figcaption></figure>

## Hash Cracking

Dentro de meterpreter, migramos al proceso `lsass.exe` porque es el responsable de manejar las credenciales en memoria. Esto nos permite acceder a los hashes de contraseñas almacenadas en el sistema.

<figure><img src="/files/KsLzX2vgehcusfdZySIu" alt=""><figcaption></figcaption></figure>

Al estar dentro de `lsass.exe`, ejecutamos el comando `hashdump` que extrae los hashes NTLM de los usuarios locales, necesarios para crackear las contraseñas.

<figure><img src="/files/lQbCkoM9mGi0Qfp9z2A1" alt=""><figcaption></figcaption></figure>

Copiamos los hashes a un archivo y los sometemos a un ataque de diccionario usando John The Ripper. El proceso descifra el hash del usuario Jon, revelando su contraseña en texto claro.

<figure><img src="/files/to1mD5bD5lse2bJ7h51i" alt=""><figcaption></figcaption></figure>

## Flags

Navegamos al directorio raíz (`C:\`) donde se coloca la primera flag como parte del reto.

<figure><img src="/files/N51Dp58lGSObth1wO8hv" alt=""><figcaption></figcaption></figure>

Accedemos a la ruta `C:\Windows\System32\config`.Aquí se oculta generalmente la segunda flag.

<figure><img src="/files/eNPYckKv8WYsF6OP9umD" alt=""><figcaption></figcaption></figure>

Al listar el contenido o inspeccionar los archivos en esa ruta, encontramos la segunda flag.

<figure><img src="/files/55Ne2zDC2khh6AAEywRl" alt=""><figcaption></figcaption></figure>

Finalmente, buscamos dentro de la carpeta de documentos del usuario Jon, donde se encuentra la tercera y última flag como parte del reto de la máquina.

<figure><img src="/files/akxcc3BKcetsvduHTrSJ" alt=""><figcaption></figcaption></figure>

***

## Conclusión

En la máquina Blue, nos enseñan cómo comprometer un sistema Windows 7 aprovechando la vulnerabilidad MS17-010, explotada mediante EternalBlue. Este exploit permite ejecutar código remotamente en el sistema víctima a través del servicio SMB sin necesidad de credenciales previas. Una vez obtenemos acceso, extraemos los hashes de las contraseñas almacenadas en la máquina y los crackeamos con herramientas como John The Ripper, lo que nos permite descubrir las contraseñas reales de los usuarios.
