Umgehung der Authentifizierung: Ein umfassender Leitfaden zu Pass-the-Hash-Angriffen
Dies ist ein kurzer Blick hinter den Vorhang, wie ein Hacker Ihr Konto ausnutzen könnte, um mit einem Pass-the-Hash-Angriff privilegierten Zugang zu Ihrer Umgebung zu erhalten.
Anders als in den Filmen tippt ein Hacker in der Regel nicht ein paar Sekunden lang auf der Tastatur herum, um ein Kennwort zu knacken. Stattdessen brauchen sie normalerweise nicht einmal Ihr Kennwort zu kennen oder zu entschlüsseln, um Ihr Konto auszunutzen. Es geht nur darum, wie sich der Angreifer in einer Umgebung lateral, also seitwärts, bewegen kann, zum Beispiel:
- Mary ist Empfangsdame bei Vandelay Industries, einem Importunternehmen. Sie verwendet dasselbe Passwort für ihre persönlichen und beruflichen Konten. Leider war Mary Opfer einer Phishing-Kampagne und gab unwissentlich ihr Passwort an einen externen Angreifer weiter.
- Der Angreifer konnte sich dann in ihre persönliche E-Mail einloggen und einige wichtige Informationen über Mary finden; insbesondere stellte er fest, dass sie einige Rezepte an ihre Arbeits-E-Mail gesendet hatte, um sie auszudrucken.
- Der Angreifer kann nun eine Methode anwenden, um Mary dazu zu bringen, eine Malware auf ihrem Arbeitscomputer zu installieren. Als der Angreifer das nächste Mal beobachtet, dass sie Rezepte an ihren Arbeitsplatz schickt, fügt er eine weitere E-Mail mit einem Word-Anhang und einer Payload hinzu. Mary öffnet diese und infiziert den Computer mit Remote-Zugriffstools.
- Als Nächstes macht sich der Angreifer an die Arbeit, um herauszufinden, worauf er in der Umgebung Zugriff hat und wohin er sich lateral bewegen kann. Er beschließt, auf Marys Arbeitsrechner ein Druckproblem zu verursachen, das ihren Druckspooler blockiert. Dadurch kann sie nun nicht mehr drucken, also ruft sie den Helpdesk an und bittet um Unterstützung. Der Helpdesk-Techniker verbindet sich mit seinem privilegierten Konto mit ihrem Computer und repariert die Spooler-Dienste. Der Angreifer verursacht weiterhin diese Art von Problemen, bis Mary einen temporären lokalen Administrationszugang erhält, damit sie weiterarbeiten kann und nicht immer den Helpdesk anrufen muss.
- Mit diesen neuen Rechten kann der Angreifer nun sein Tool zum Extrahieren von Kennwort-Hashes ausführen, um alle Hashes aus dem System zu sammeln. Zum Glück für den Angreifer hat sich der Helpdesk-Techniker mit seinem Support-Konto bei diesem System angemeldet. Mit dem NTLM-Hash dieses Kontos ist der Angreifer in der Lage, sich direkt mit einem der Jump-Server des Administrators zu verbinden.
- Auf dem Administrator Jump-Server wiederholt der Angreifer den Vorgang und verschafft sich ein weiteres Konto mit Domain Admin-Rechten. Anschließend nutzt er einen Domain Controller aus und schleust Backup-Administratorkonten und -Dienste in die Umgebung ein.
Obwohl dieses Szenario einige Möglichkeiten zur Schadensbegrenzung bietet, ist es nicht unwahrscheinlich, dass diese Art von Seitwärtsbewegung und Social Engineering am Arbeitsplatz auftritt.
Disclaimer: Die technischen Schritte, die in diesem Artikel beschrieben werden, sind nur für Schulungszwecke gedacht. Wir unterstützen in keiner Weise die Verwendung dieser Beispiele zur Durchführung von Pass-the-Hash-Angriffen für illegale oder unlautere Zwecke.
Was ist Pass-The-Hash (PtH)
Pass the Hash (PtH) ist eine Methode, mit der „gehashte“ Anmeldedaten von Benutzern abgefangen und Authentifizierungsprotokolle ausgenutzt werden, um sich lateralen Zugang zu anderen Systemen zu verschaffen.
Der Begriff Pass the Hash leitet sich von der Tatsache ab, dass das gehashte Kennwort nicht in Klartext entschlüsselt werden muss, damit die Authentifizierungssysteme die Sitzung des Benutzers akzeptieren. Stattdessen kann der Kennwort-Hash wiederverwendet werden, um neue Sitzungen als Benutzer zu generieren, da der Hash statisch bleibt, bis das Kennwort geändert wird.
Wie funktioniert ein Pass-The-Hash-Angriff?
Der Einstiegspunkt für einen Angreifer kann unterschiedlich sein, manchmal durch Malware oder Köderangriffe, aber am häufigsten wird er durch eine Art von Social Engineering erreicht.
In den meisten Fällen wurde das Ziel Opfer einer Phishing– oder Spear-Phishing-Attacke, so dass der Angreifer Anmeldedaten oder Zugang zum System erlangen kann.
Sobald der Angreifer auf dem System ist, durchsucht er das System nach allen Hashes der Konten, die auf diesem Rechner angemeldet waren. Diese Hashes können im LSASS-Prozessspeicher, in Windows-Speicher-Dumps, in Auslagerungsdateien, im Credential Manager und in SAM-Registry-Hives gespeichert sein.
Um diese gehashten Kennwörter zu extrahieren, kann ein Angreifer Tools wie Mimikatz verwenden, um das extrahierte gehashte Kennwort an den Authentifikator zurückzugeben und sich erfolgreich zu authentifizieren.
Beispiele für Pass-the-Hash-Angriffe
Der beste Weg, um proaktive Methoden und Abhilfestrategien für Pass-the-Hash-Angriffe zu verstehen, ist, ein Beispiel zu zeigen, wie diese Tools eingesetzt werden können. Zu Schulungszwecken haben wir die Schritte in einem Pass-the-Hash-Tutorial für die gängigere Methode der Hash-Extraktion aus dem LSASS skizziert.
Den Hash extrahieren
Als erstes müssen wir einen NTLM-Hash extrahieren. Dieser kann dann an Authentifizierungssysteme weitergegeben werden, um uns den Zugriff auf privilegierte Systeme zu ermöglichen. Das Tool, das wir für diese Beispiele verwenden, ist Mimikatz.exe, und wir führen die folgenden Befehle aus, um die Hashes zu extrahieren und den Pass-the-Hash-Angriff zu simulieren.
- Führen Sie Mimikatz.exe als Administrator aus und gewähren Sie dem aktuellen Konto Berechtigungen zum Debuggen von Prozessen. privilege::debug
- Dann möchten wir alle aktiven Benutzersitzungen und ihre Hashes auflisten. sekurlsa::logonPasswords fullli>
Wie wir sehen können, hat ein Benutzer namens „notadadmin“ eine RDP-Sitzung auf diesem Computer. Wir können seinen NTLM-Hash abgreifen und ihn für den nächsten Schritt speichern.
HINWEIS: Wenn ein Benutzer ein Kennwort im Credential Manager gespeichert hat, kann dies beim Überprüfen der Ausgaben ebenfalls extrahiert werden.
Den Hash ausnutzen
Als nächstes können wir unseren neu erlangten Hash verwenden, um einige Services innerhalb der Domäne auszunutzen und den Pass-the-Hash-Angriff durchzuführen. Wir wissen, dass dieser Benutzer „notadadmin“ heißt, also ist es möglich, dass er ein Domänenadministrator ist. Lassen Sie uns versuchen, eine neue CMD.exe-Sitzung mit unserem neuen Konto zu erstellen.
- Während wir uns immer noch in unserer Mimikatz-Sitzung befinden, führen Sie den folgenden Befehl aus, um eine CMD-Sitzung als Benutzer zu erstellen. sekurlsa::pth /user:<username> /domain:<domain name> /ntlm:<NTLM Hash>
Dies öffnet jetzt ein neues CMD-Fenster als dieser Benutzer. Lassen Sie uns jetzt eine Remote-Sitzung auf dem Domänencontroller in dieser Umgebung aufrufen. Wir können das Tool PsExec.exe verwenden, um eine Remote-CMD-Sitzung auf der IP des Domänencontrollers zu initiieren. Zur Überprüfung unseres Zugriffs listen wir das NTDS-Verzeichnis auf.
Wir können auch bestätigen, dass wir das richtige Konto verwenden, indem wir den „whoami“-Befehl verwenden. Wir können einen Schritt weiter gehen und uns auf dem Domänencontroller über RDP anmelden, um mehr Freiheit zu haben. Wir können einem neuen Registry-Eintrag auf dem Domänencontroller hinzufügen, um RDP-eingeschränkten Administratorzugriff zu ermöglichen, mit dem folgenden Befehl in PowerShell. New-ItemProperty -Path „HKLM:\System\CurrentControlSet\Control\Lsa“ -Name „DisableRestrictedAdmin“ -Value „0“ -PropertyType DWORD
Nachdem der RDP-eingeschränkte Zugriff erfolgreich gewährt wurde, können wir den folgenden Befehl in Mimikatz ausführen, um eine RDP-Sitzung mit dem NTLM-Hash zu initiieren. sekurlsa::pth /user:<username> /domain:<domain name> /ntlm:<NTLM Hash> /run:”mstsc,exe /restrictedadmin”
Das RDP-Fenster wird wie gewohnt angezeigt, mit einem bereits ausgefüllten Benutzerkonto. Wir können ignorieren, was dort steht, da wir unseren gewünschten Benutzer-NTLM-Hash im Hintergrund übergeben haben. Klicken Sie auf „Connect“, und die RDP-Sitzung wird initiiert. Wir können unsere Konten auflisten, um zu überprüfen, wer wir sind und zu welchen Gruppen wir gehören.
Pass the Hash-Angriffen vorbeugen
Obwohl wir gezeigt haben, wie einfach es sein kann, einen Pass-the-Hash-Angriff durchzuführen, kann es in der Realität etwas kniffliger sein. In den meisten Szenarien werden AV und EDR das Herunterladen von Mimikatz blockieren und die Ausführung des Prozesses einschränken.
Die Erkennung von Pass-the-Hash kann jedoch schwierig sein, da die Grundlage des Angriffs darin besteht, bestehende Authentifizierungsmechanismen zu nutzen. Der beste Weg, einen Pass-the-Hash-Angriff zu verhindern und einzudämmen, besteht darin, die folgenden Empfehlungen zu nutzen:
Aktivieren Sie Windows Defender Credential Guard
Windows 10 und höher enthalten von Haus aus das Tool Windows Defender Credential Guard. Wenn dies aktiviert ist, wird der Local Security Authority Subsystem Service (LSASS) in einer virtualisierten Sandbox-Umgebung ausgeführt. Diese Lösung isoliert sich vom übrigen Betriebssystem und erlaubt nur einer kleinen Teilmenge von Binärdateien mit gültigen Microsoft-Signaturen den Zugriff auf den Service.
Beschränken Sie den Zugriff für privilegierte Konten
Administrationskonten oder privilegierte Konten sollten niemals auf einem normalen Arbeitsplatz verwendet werden. Dies gilt auch für lokale Administrationskonten oder Benutzer mit lokalen Administratorrechten.
Die beste Methode, um die Angriffsfläche zu reduzieren, wenn ein Konto kompromittiert wird, besteht darin, einen Dienst wie Windows Local Administrator Password Solution (LAPS) zu verwenden, um lokale Administratorpasswörter zu verwalten, zu ändern und zu sichern.
Diese Lösung wurde speziell entwickelt, um die Gefahren von Pass-the-Hash-Angriffen und der Ausnutzung von lokalen Administratorkonten zu reduzieren.
In vielen Netzwerken haben alle Client-PCs dasselbe lokale Administrator-Konto und Passwort (weil sie aus demselben Image bereitgestellt wurden), was laterale Bewegungen sehr einfach macht. LAPS stellt sicher, dass jeder Client-PC ein eigenes lokales Administrator-Kennwort hat.
Zero-Trust-Netzwerkarchitektur
Diese wichtige Architekturentscheidung sollte in allen modernen Unternehmensumgebungen getroffen werden. Die Methode ist, ’nichts und niemandem zu vertrauen‘. Die richtige Netzwerksegmentierung und -Sicherheit stellt sicher, dass Endbenutzer-Computerumgebungen keinen direkten Zugang zu sensibler Infrastruktur haben und dass nur das Nötigste für die Client-Authentifizierung erforderlich ist.
Schärfen Sie das Bewusstsein Ihrer Mitarbeiter für IT-Sicherheit und zum Schutz sensibler Daten, indem Sie den Security Awareness Service von Hornetsecurity für ein umfassendes E-Training inklusive einer Phishing-Simulation zum Schutz vor Cyber-Bedrohungen nutzen.
Um auf dem neuesten Stand zu bleiben, besuchen Sie auch unseren Hornetsecurity-Blog.
Fazit
Zusammenfassend lässt sich sagen, dass das Verständnis für die Feinheiten von Pass-the-Hash-Angriffen entscheidend für die Stärkung der Cybersicherheitsmaßnahmen ist. Dieser umfassende Leitfaden beleuchtet die Methoden, Risiken und Präventivstrategien, die mit solchen Angriffen verbunden sind.
Durch Information und Umsetzung bewährter Sicherheitspraktiken können Sie Ihre Abwehr gegen potenzielle Angriffe stärken, sensible Daten schützen und die Integrität ihrer Systeme aufrechterhalten.
FAQ
The most used tool for a pass-the-hash attack is called Mimikatz. Other tools of note are Metasploit and Invoke-TheHash.
With a holistic approach to privileged access management, Zero Trust Network Architecture, and OS hardening, specifically Windows Defender Credential Guard.
The risk of a pass-the-hash attack is hard to quantify as the methods themselves are hard to detect. The best approach to take with any security mitigation is to apply the methodology that you have already been attacked and take appropriate actions to protect your environment.
A pass-the-hash attack is the action of extracting password hash tokens from a system and using these to reauthenticate services. In most scenarios, NTLM is primarily targeted as this is widely used within most organizations to access information.
Hackers can exploit the Local Security Authority Subsystem Service (LSASS), dumping memory to a file, extracting from the page file, Security Account Management (SAM) registry hive, or even the Credential Manager saved passwords. Some of the main tools attackers use to execute a pass-the-hash attack are Mimikatz, Invoke-TheHash, and Metasploit.