Huy Kha | Senior Architekt für Identität und Sicherheit

Die Kompromittierung von Anmeldeinformationen ist eine der häufigsten Methoden, mit denen sich Angreifer Zugang zu Active Directory (AD) verschaffen. Es gibt unzählige Methoden, mit denen Angreifer Anmeldedaten stehlen und ausnutzen können. Viele davon sind heimlich und ermöglichen es Angreifern, sich Zugang zu verschaffen und sich unbemerkt durch Ihr Identitätssystem zu bewegen, wobei sie ihre Privilegien ausweiten und Schaden anrichten. Pass the Hash ist eine Methode zur Kompromittierung von Anmeldeinformationen, die sehr effizient ist, um sich in AD zu bewegen.

Was ist ein Pass the Hash-Angriff?

Pass the Hash ist eine Technik, bei der Angreifer einen gestohlenen Passwort-Hash verwenden, um sich als Benutzer zu authentifizieren, ohne das eigentliche Passwort zu kennen. Anstatt den NT-Hash zu knacken, geben sie ihn an ein anderes System weiter, das den Passwort-Hash zur Authentifizierung akzeptiert. Auf diese Weise können sich die Angreifer seitlich durch ein Netzwerk bewegen und als kompromittierter Benutzer auf Systeme zugreifen.

Wie funktioniert Pass the Hash?

Der Bildschirmausdruck in Abbildung 1 zeigt die Verwendung des pth Befehl in Leuchtfeuer von Cobalt Strike. Dieses Tool nutzt Mimikatz, um einen Token mit einem bestimmten NT-Hash, einer Domäne und einem Benutzernamen zu erstellen und sich als dieser auszugeben.

Abbildung 1. Die pth in Cobalt Strike's Beacon verwendet Mimikatz, um einen Token mit einem bestimmten NT-Hash für Pass the Hash-Angriffe zu imitieren.

Um einen Pass the Hash-Angriff durchzuführen, muss ein Angreifer zunächst Passwort-Hashes von lokalen oder Domänenkonten stehlen. Cobalt Strike verfügt über spezielle Befehle für diesen Zweck: hashdump wird verwendet, um Hashes von lokalen Konten abzurufen (Abbildung 2).

Abbildung 2. Der Angreifer kann Cobalt Strike verwenden, um hashdumpzum Abrufen von Hashes für lokale Konten.

Die logonpasswords Befehl (Abbildung 3) wird verwendet, um Passwort-Hashes von Domänenkonten zu extrahieren, die sogar Passwörter im Klartext enthalten können.

Abbildung 3. Der Angreifer kann Cobalt Strike verwenden, um logonpasswordszum Abrufen von Hashes für Domänenkonten.

In diesem Beispiel konzentrieren wir uns auf die Verwendung von Pass the Hash mit RID-500, dem integrierten Administratorkonto, das in der lokalen SAM-Datenbank gespeichert ist(Abbildung 4). Viele Unternehmen verwenden ein Golden Image, um mehrere Workstations einzurichten, was oft bedeutet, dass dasselbe lokale Administratorkennwort auf allen Systemen wiederverwendet wird. Durch das Sysprepping werden diese Konfigurationen zwar standardisiert, aber es entsteht auch eine Schwachstelle: Wenn Angreifer den Hash für ein System erhalten, können sie ihn verwenden, um sich seitlich im Netzwerk zu bewegen und mit denselben Anmeldedaten auf andere Rechner zuzugreifen.

Abbildung 4. Das integrierte RID-500 Administratorkonto bietet die Möglichkeit, ein Passwort zu erstellen, das nie abläuft.

Sobald der Angreifer die Passwort-Hashes abgerufen hat, besteht der nächste Schritt darin, einen Pass the Hash-Angriff durchzuführen. In diesem Beispiel verwendet der Angreifer Mimikatz, um den Pass the Hash (pth) mit dem gestohlenen Hash eines RID-500 Administrator-Kontos (Abbildung 5). Auf diese Weise kann sich der Angreifer als Administrator authentifizieren, ohne das eigentliche Passwort zu benötigen.

Abbildung 5. Der Angreifer verwendet Mimikatz' Pass the Hash (pth) mit dem integrierten Administrator (RID-500) Konto-Hash, um einen versteckten PowerShell-Prozess auszuführen.

Die steal_token wird verwendet, um sich als das Sicherheits-Token eines anderen Prozesses auszugeben (Abbildung 6), wodurch der Angreifer die gleichen Rechte wie dieser Prozess erhält. In diesem Fall verwendet der Angreifer steal_token 648 um das Token von einem Prozess, der als NT AUTHORITY\SYSTEM läuft, zu entführen und so volle Rechte auf Systemebene zu erlangen.

Abbildung 6. Der Angreifer verwendet die steal_token um das Token der Prozess-ID (PID) 648 zu verkörpern und als NT AUTHORITY\SYSTEM Zugriff auf die Systemebene zu erhalten.

Aus der Sicht eines Angreifers ist die Ausführung des shell dir \TARGET\C$ Befehl (Abbildung 7) ist eine Möglichkeit zu testen, ob sie lokale Administratorrechte auf dem Zielsystem haben. Die Rückgabe einer Verzeichnisliste aus der administrativen Freigabe (C$) bestätigt, dass der Angreifer über die notwendigen Privilegien verfügt, um auf das Dateisystem des Ziels zuzugreifen.

Abbildung 7. Der Angreifer verwendet die shell dir \WIN8WORKSTATION\C$ um den Inhalt der administrativen C$-Freigabe zu überprüfen und zu bestätigen, dass sie über lokale Administratorrechte auf dem Zielcomputer verfügen.

Nachdem sich der Angreifer Zugang zu einem Rechner verschafft hat, ist es an der Zeit, sich seitlich durch das Netzwerk zu bewegen. Eine Möglichkeit ist die Verwendung von Techniken wie wmic, sc, oder schtasks um andere Systeme aus der Ferne zu steuern. Durch die Ausführung von Befehlen wie wmic (Abbildung 8), kann der Angreifer bösartige Prozesse auf den Zielcomputern ausführen, z. B. ihre Nutzlast kopieren und starten.

Abbildung 8. Der Angreifer lädt die Datei beacon.exe auf das Zielsystem hoch und kopiert sie in das Verzeichnis C:\windows\temp. Dann verwendet er wmic um die Nutzlast aus der Ferne auszuführen.

Die Benutzerkontensteuerung (UAC) schränkt ein, welche lokalen Benutzer Fernverwaltungsaufgaben ausführen können. Standardmäßig ist der Registrierungsschlüssel LocalAccountTokenFilterPolicy auf 0 gesetzt, was bedeutet, dass nur der integrierte RID-500 Administrator Fernverwaltungsaufgaben durchführen kann. Wenn Sie den Registrierungsschlüssel auf 1 setzen, können auch andere lokale Administratorkonten diese Aufgabe übernehmen. Wenn FilterAdministratorToken auf 0 gesetzt ist, kann der integrierte Administrator aus der Ferne zugreifen. Wenn er auf 1 gesetzt ist, ist diese Möglichkeit blockiert.


Kurz gesagt, standardmäßig können nur bestimmte Konten Pass the Hash vollständig ausnutzen:

  • Lokale Konten: Der integrierte Administrator kann die Vorteile von Pass the Hash für Remote-Administrationsaufgaben voll ausschöpfen.
  • Domänenkonten: Alle Domänenkonten mit lokalen Administratorrechten auf einem Rechner können ebenfalls Pass the Hash verwenden, um die Kontrolle über dieses System zu erlangen.

Andere lokale Konten sind eingeschränkt, sofern nicht bestimmte UAC-Einstellungen geändert werden.1

Wie man sich gegen Pass the Hash verteidigt

Verteidiger sollten spezielle Maßnahmen ergreifen, um das Risiko von Pass the Hash-Angriffen zu minimieren.

  • Schränken Sie zunächst die lokalen Administratorrechte für normale Benutzer ein. Mitarbeiter in Abteilungen wie Personalwesen, Finanzen, Marketing und Rechtsabteilung sollten keine lokalen Administratorrechte haben.
  • Stellen Sie zweitens sicher, dass das Kennwort für das integrierte RID-500 Administratorkonto auf jeder Workstation und jedem Mitgliedsserver eindeutig und zufällig ist. Ein kostenloses Tool wie Microsofts Local Administrator Password Solution (LAPS) kann diesen Prozess automatisieren. Alternativ können Sie eine kostenpflichtige Privileged Account Management (PAM)-Lösung verwenden, die verhindert, dass Angreifer dieselben lokalen Administrator-Anmeldedaten auf mehreren Systemen für einen Pass the Hash-Angriff verwenden.
  • Drittens sollten Sie wissen, wie Sie Domänenkonten sicher verwalten und wann Anmeldedaten im Speicher abgelegt werden. Die Anfälligkeit von Anmeldedaten für Diebstahl hängt weitgehend von der verwendeten Anmeldemethode ab. So werden beispielsweise bei interaktiven Anmeldungen wie Remote Desktop (RDP) oder RUNAS Anmeldeinformationen im Speicher gespeichert und können angreifbar sein. Microsoft bietet detaillierte Anleitungen für die gängigsten Verwaltungstools und Verbindungsmethoden.
  • Wenn Sie sich der Risiken bewusst sind, die mit den verschiedenen Verbindungsmethoden für Administratoren verbunden sind, und wenn Sie wissen, wie Anmeldeinformationen auf anderen Rechnern offengelegt werden können, sollten Sie eine administrative Struktur einrichten. Es ist nicht einfach, aber eine Tiering-Struktur, zumindest für Ihre Tier 0- oder kritischen Konten, kann einen erheblichen Unterschied bei der Sicherung Ihrer Umgebung ausmachen.

    Wie man einen Pass the Hash-Angriff erkennt

    Es ist wichtig, dass Sie ein gutes Endpoint Detection and Response (EDR)-System auf Ihren Workstations und Servern haben. Diese Lösungen liefern Warnmeldungen, die dazu beitragen, alle Versuche zu erkennen, Anmeldeinformationen von einem Rechner abzuschöpfen(Abbildung 9).

    Abbildung 9. Eine EDR-Warnung zeigt an, dass ein bösartiges Tool zum Diebstahl von Anmeldeinformationen entdeckt wurde.

    Bedrohungsjäger oder SOC-Analysten können die Telemetrie nutzen, die von EDR-Lösungen wie Microsoft Defender for Endpoint (MDE) bereitgestellt wird. Mit Funktionen wie Advanced Hunting können Verteidiger Kontoanmeldungen abfragen, um festzustellen, wo hochprivilegierte Konten ihre Anmeldeinformationen preisgeben(Abbildung 10).

    Abbildung 10. Eine Advanced Hunting-Abfrage in Microsoft Defender for Endpoint zeigt anfällige hochprivilegierte Konten.

    Profile von Bedrohungsakteuren

    Die MITRE ATT&CK Wissensdatenbank identifiziert die folgenden Bedrohungsgruppen (zusammen mit weiteren verbundenen Gruppen), die Pass the Hash-Angriffe in freier Wildbahn eingesetzt haben:

    • APT41 (Gruppe G0096)2
    • Zauberhafte Spinne (Gruppe G0102)3
    • FIN13 (Gruppe G1016)4
    • APT29 FIN13 (Gruppe G0016)5

    Pass the Hash Tools

    Die folgenden Tools, die auf github.com verfügbar sind, können zur Durchführung eines Pass the Hash-Angriffs verwendet werden:

    • Mimikatz
    • SharpKatz
    • wce
    • Invoke-TheHash
    • Sharp-SMBExec

    Überblick über die Bedrohung

    ATT&CK-Taktik: Seitliche Bewegung

    Am 3. Oktober 2024 meldete Cisco Talos, dass ein Bedrohungsakteur, der eine neue MedusaLocker-Variante mit dem Namen BabyLockerKZ verbreitet, das Checker-Tool verwendet, um Anmeldeinformationen für laterale Bewegungen zu verwalten. Das Tool kombiniert Remote Desktop Plus, PsExec, Mimikatz und Invoke-TheHash-Skripte. Unter Verwendung der Pass the Hash-Technik mit Invoke-TheHash authentifizierte sich der Angreifer aus der Ferne mit NTLM-Hashes, ohne Passwörter zu knacken, und nutzte WMI- und SMB-Aufgaben aus, um sich seitlich zu bewegen und seine Privilegien innerhalb des kompromittierten Netzwerks zu erweitern.6

    Im Juni 2024 berichtete BlackPoint, dass APT29 Sharp-SMBExec, eine C#-Konvertierung des PowerShell-Skripts Invoke-SMBExec, für Pass the Hash-Angriffe verwendete. Dadurch konnte APT29 gestohlene NTLM-Hashes verwenden, um sich innerhalb von Netzwerken zu bewegen, ohne das eigentliche Passwort zu benötigen.7

    Im Februar 2022 berichtete Mandiant, dass APT41 regelmäßig den Windows Credential Editor verwendet, um Passwort-Hashes aus dem Speicher zu löschen. Mit diesen gestohlenen Hashes kann sich APT41 bei anderen Benutzerkonten anmelden, ohne das eigentliche Kennwort zu kennen, was ihm die Möglichkeit gibt, sich seitlich im Netzwerk zu bewegen.8

    Am 7. Dezember 2021 meldete Mandiant, dass FIN13 das PowerShell-Cmdlet Invoke-SMBExec als Teil seiner Pass the Hash-Angriffe verwendete. Mit dieser Technik waren die Angreifer in der Lage, sich in kompromittierten Umgebungen zu bewegen, ohne das eigentliche Passwort zu benötigen, da sie sich nur auf gestohlene NTLM-Hashes verlassen konnten.9

    Am 24. Juni 2020 berichtete SecureWorks, dass APT31 (auch bekannt als BRONZE VINEWOOD) das PowerShell-Cmdlet Invoke-SMBExec verwendete, um Pass the Hash-Angriffe durchzuführen. Durch die Verwendung gestohlener NTLM-Passwort-Hashes war APT31 in der Lage, sich lateral durch kompromittierte Netzwerke zu bewegen und Organisationen in der Verteidigungs- und Regierungslieferkette ins Visier zu nehmen.10

    Semperis Schnappschuss

    Pass the Hash ist eine leistungsstarke Technik, bei der Angreifer gestohlene NT-Passwort-Hashes verwenden, um sich an entfernten Systemen zu authentifizieren, ohne das ursprüngliche Passwort zu benötigen. Mit dieser Technik können sie sich seitlich im Netzwerk bewegen, auf Konten mit hohen Privilegien zugreifen und die Kontrolle über Systeme behalten. Verteidiger sollten die lokalen Administratorrechte einschränken, mindestens eine administrative Ebene für Konten der Stufe 0 oder gleichwertige Konten einrichten und EDR- und Incident Threat Detection and Response (ITDR)-Lösungen einsetzen, um solche identitätsbasierten Angriffe zu erkennen.

    Erfahren Sie mehr über Pass the Hash Angriffe

      Endnoten

      1. https://www.thehacker.recipes/ad/movement/ntlm/pth
      2. https://attack.mitre.org/groups/G0096/
      3. https://attack.mitre.org/groups/G0102/
      4. https://attack.mitre.org/groups/G1016/
      5. https://attack.mitre.org/groups/G0016/
      6. https://blog.talosintelligence.com/threat-actor-believed-to-be-spreading-new-medusalocker-variant-since-2022/
      7. https://blackpointcyber.com/wp-content/uploads/2024/06/Threat-Profile-APT29_Blackpoint-Adversary-Pursuit-Group-APG_2024.pdf
      8. https://cloud.google.com/blog/topics/threat-intelligence/apt41-dual-espionage-and-cyber-crime-operation
      9. https://cloud.google.com/blog/topics/threat-intelligence/fin13-cybercriminal-mexico/
      10. https://www.secureworks.com/research/bronze-vinewood-targets-supply-chains