> 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/the-hacker-labs/principiante/microchoft.md).

# Microchoft

## Información de la máquina

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

En esta máquina trabajaremos sobre un sistema **Windows 7** vulnerable.

El objetivo principal será identificar una vulnerabilidad crítica en el servicio SMB, conocida como **EternalBlue**.&#x20;

***

## Reconocimiento

La fase de **reconocimiento** es el primer paso a la hora de resolver una máquina. Su objetivo es recopilar la mayor cantidad de información posible sobre el sistema objetivo, permitiendo entender su estructura, tecnología y posibles vectores de ataque.&#x20;

Para detectar la IP de la máquina victima, haremos un escaneo a nivel local con arp-scan:

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

Teniendo ya la IP, hacemos un ping a la máquina víctima para ver si está encendida y ante que nos enfrentamos.

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

Si recibimos respuesta, significa que la máquina está en línea. Además, observamos que el **TTL** (Time To Live) es 128, lo que indica que es un sistema Windows (normalmente, los sistemas Linux tienen un TTL de 64).&#x20;

<figure><img src="/files/yjNiyxwYoD1FVzv7E9o2" 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 **`puertos` .**

El escaneo revela que hay varios pouertos abiertos, pero solo le haremos caso a los puertos 135,139,445. Ahora realizamos un escaneo más detallado:

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

**1. `-p135,139,445...` → Escaneo de puertos específicos**

Con `-p135,139,445`, le indicamos que **solo** escanee los puertos 13&#x35;**, 139, 445**.

**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 ver que estamos antes un Windows 7, por lo que se puede efectuar un EternalBlue.

{% hint style="success" %}
EternalBlue es un exploit del software de Microsoft desarrollado por la NSA (Agencia de Seguridad Nacional) para recopilar información al permitir el acceso remoto a los datos de dispositivos de Microsoft.
{% endhint %}

***

## Enumeración y búsqueda de vulnerabilidades

Antes de explotar cualquier servicio, es importante confirmar si es realmente vulnerable. Para esto, utilizamos **Nmap** con un script NSE (Nmap Scripting Engine) especializado que permite detectar vulnerabilidades conocidas en servicios específicos.

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

En este caso, el resultado confirma que **el servicio es vulnerable**, por lo que podemos proceder con su explotación.

***

## Explotación de las vulnerabilidades

Una vez identificada la vulnerabilidad, procedemos a explotar el sistema utilizando **Metasploit Framework**, una potente herramienta de explotación que simplifica y automatiza muchas tareas.

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

Buscamos el módulo de explotación

<figure><img src="/files/8nktjLYfRqYy0skGZIFZ" alt=""><figcaption></figcaption></figure>

Metasploit listará los módulos disponibles relacionados. Seleccionamos el más adecuado en este caso el 0,

<figure><img src="/files/1OfRmugDqfQNjmfAtaB5" alt=""><figcaption></figcaption></figure>

Vemos las opciones configurables del exploit

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

Establecer el objetivo (IP de la víctima)

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

Lanzar el exploit

<figure><img src="/files/0Ovmad0rn35HS7KIFPfa" alt=""><figcaption></figcaption></figure>

Si la explotación es exitosa, Metasploit nos dará una sesión abierta.

Por último, obtenemos una shell interactiva

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

***

## Post Explotación y escalada de privilegios

Una vez dentro de la máquina, verificamos que tenemos acceso como el usuario **Admin**, lo que indica que ya tenemos privilegios altos dentro del sistema.

<figure><img src="/files/7WjRvGUhPv7iR9laXg8j" alt=""><figcaption></figcaption></figure>

Este nivel de acceso nos permite explorar todo el sistema, acceder a archivos sensibles y, en este caso, capturar la **flag final** ubicada en el escritorio del usuario:

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

***

## Conclusión

A lo largo de esta máquina, hemos aprendido a identificar un entorno Windows vulnerable, a escanear de manera efectiva los servicios disponibles, y a detectar fallos de seguridad críticos como EternalBlue.

Mediante el uso de **scripts NSE de Nmap** confirmamos la vulnerabilidad, y con **Metasploit** logramos una explotación exitosa que nos dio acceso remoto con privilegios administrativos. Esta sesión nos permitió explorar el sistema, verificar la escalada de privilegios y finalmente obtener la **flag final** ubicada en el escritorio del usuario Admin.
