Wie Dump die Windows SAM-Datei, während das System läuft?

Ich habe Testmaschinen mit Metasploit ausgenutzt und konnte die Hashes aus der SAM-Datei abrufen; Ich habe versucht, Befehle als SYSTEM auszuführen, um sie abzurufen, kann dies jedoch nicht. Was ist eine portablere Methode, um die Hashes aus der SAM-Datei zu extrahieren?

Author: vmarquet, 2011-12-03

5 answers

Es gibt eine einfachere Lösung, die keine Schattenvolumes verwalten oder externe Tools verwenden muss. Sie können SAM und SYSTEM einfach mit dem Befehl reg von Microsoft kopieren (getestet unter Windows 7 und Windows Server 2008):

reg save hklm\sam c:\sam
reg save hklm\system c:\system

(der letzte Parameter ist der Speicherort, an den Sie die Datei kopieren möchten)


Sie können dann die Hashes auf einem Linux-System mit dem Paket samdump2 (verfügbar unter Debian) extrahieren: apt-get install samdump2):

$ samdump2 system sam
Administrator:500:aad3b435b51404eeaad3b435b51404ee:c0e2874fb130015aec4070975e2c6071:::
*disabled* Guest:501:aad3b435b51404eeaad3b435b51404ee:d0c0896b73e0d1316aeccf93159d7ec0:::
 14
Author: vmarquet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-06-13 12:06:40

Es ist kein Berechtigungsproblem-Windows sperrt die SAM-Datei exklusiv (was meines Wissens das Standardverhalten für geladene Registry-Bienenstöcke ist), sodass es für keinen anderen Prozess möglich ist, sie zu öffnen.

Neuere Windows-Versionen verfügen jedoch über eine Funktion namens "Volume Shadow Copy", mit der schreibgeschützte Snapshots des gesamten Volumes erstellt werden können, hauptsächlich für Backups. Die Dateisperren sind da, um die Datenkonsistenz zu gewährleisten, so dass sie nicht erforderlich sind, wenn ein Snapshot des gesamten dateisystem wird gemacht. Dies bedeutet, dass es möglich ist, einen Snapshot von C: zu erstellen, ihn zu mounten, Ihre SAM - Datei zu kopieren und den Snapshot dann zu verwerfen.

Wie genau dies zu tun ist, hängt von Ihrer Windows-Version ab: XP benötigt ein externes Programm, Vista und 7 haben vssadmin create shadow und Server 2008 hat den Befehl diskshadow. Die Seite Sicheres Dumping von Hashes von Live-Domänencontrollern hat mehr Details zu diesem Prozess, sowie Anweisungen und Skripte.

Alternativ, es gibt Tools wie samdump, die den LSASS-Prozess aus verschiedenen Richtungen missbrauchen, um alle Passwort-Hashes direkt aus dem Speicher zu extrahieren. Sie sind möglicherweise viel schneller als VSS-Snapshots, haben jedoch ein höheres Risiko, das System zum Absturz zu bringen.

Schließlich bringt Google dieses Snippet heraus, dessen Nützlichkeit ich nicht bewerten kann, metasploit nie selbst verwendet zu haben:

meterpreter> use priv
meterpreter> hashdump
 12
Author: user1686,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-12-03 19:07:02

Bearbeiten: Ich beschloss, nach vielen Jahren der Aufgabe zu bearbeiten.


Die Windows SAM-Datei ist vom Kopieren/Lesen gesperrt. /etc/shadow auf Linux-Systemen. Um dies zu umgehen, extrahieren Tools stattdessen Hashes aus dem Speicher.

Es gibt Möglichkeiten, dies zu umgehen, dass werde ich unter:

Mimikatz

Führen Sie mimikatz mit sekurlsa::logonpasswords aus.

Fgdump

Ähnliche Funktionalität wie mimikatz. Führen Sie es aus, und Hashes werden auf lokal abgelegt Datei.

Hashdump

Eingebaut in Meterpreter; extrahiert Hashes aus dem Speicher.

Registrierung

Es ist auch möglich, aus der Registrierung zu extrahieren (wenn Sie SYSTEM Zugriff haben):

  1. reg save hklm\sam %tmp%/sam.reg und reg save hklm\system %tmp%/system.reg
  2. Kopiere die Dateien und führe dann aus: samdump2 system sam

}

SAM-Datei kann auch in einem Backup-Speicherort gespeichert werden: C:\Windows\Repair\SAM

Ich sollte auch erwähnen, dass die Werkzeuge mindestens Administrator Privilegien erfordern; und die meisten werden nicht ruft alle Hashes ab, es sei denn, der Zugriff auf SYSTEM ist erreicht.

 6
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-10-11 00:56:47

Möchte eine zusätzliche Methode angeben, die hier nicht beschrieben wird, da viel Zeit in Red Teaming / Penetrationstests auf die offensichtlichsten Arten nicht zugegriffen werden kann (verweigert, von Blue Team überwacht usw.).), und es ist schön zu wissen allen zur Verfügung stehenden Techniken.

Eine der Problemumgehungen für den Zugriff auf Dateien, für die das System zuständig ist (kann nicht wie gewohnt kopiert/entfernt werden), ist vssshadow.exe oben angegeben.

Zweite esentutil.exe.

Exakter Befehl zum Übernehmen einer Kopie der Datei mit Griff:

esentutl.exe /y /vss c:\windows\ntds\ntds.dit /d c:\folder\ntds.dit

Dies gilt für SAM, SYSTEM, SICHERHEIT, NTDS.DIT etc.

P. S. Es gibt esentutl.py im Paket von impacket: https://github.com/SecureAuthCorp/impacket/blob/master/examples/esentutl.py

P. S. S. esentutl PoC Bild

 2
Author: dtrizna,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-08-01 10:39:25

Obscuresec Methode überwindet Ihre Schwierigkeiten lokal auf jedem Windows Powershell 1.0-fähigen Computer. Lässt einige Ziele aus, die ich kenne, aber hey, netter Job ! (danke Chris).

Hinweis: Administratorrechte werden immer benötigt, um eine solche Operation auszuführen

Sie könnten

Http://gallery.technet.microsoft.com/scriptcenter/Get-PasswordFile-4bee091d

, Oder aus einer anderen Quelle (neuere könnte ich hinzufügen)

Https://github.com/obscuresec/PowerShell/blob/master/Get-PasswordFile

Empfohlen Lesen:

Für in den vergangenen Jahren hatte sich die Zahl der Arbeitslosen in Deutschland mehr als verdreifacht.]}

 1
Author: Marco Vaz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-09-15 23:18:53