Anti-Forensische Techniken
Reading time: 7 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Zeitstempel
Ein Angreifer könnte daran interessiert sein, die Zeitstempel von Dateien zu ändern, um nicht entdeckt zu werden.
Es ist möglich, die Zeitstempel im MFT in den Attributen $STANDARD_INFORMATION
__ und __ $FILE_NAME
zu finden.
Beide Attribute haben 4 Zeitstempel: Änderung, Zugriff, Erstellung und MFT-Registrierungsänderung (MACE oder MACB).
Windows Explorer und andere Tools zeigen die Informationen aus $STANDARD_INFORMATION
an.
TimeStomp - Anti-forensisches Tool
Dieses Tool modifiziert die Zeitstempelinformationen innerhalb von $STANDARD_INFORMATION
, aber nicht die Informationen innerhalb von $FILE_NAME
. Daher ist es möglich, verdächtige Aktivitäten zu identifizieren.
Usnjrnl
Das USN Journal (Update Sequence Number Journal) ist eine Funktion des NTFS (Windows NT-Dateisystem), die Änderungen am Volume verfolgt. Das UsnJrnl2Csv Tool ermöglicht die Untersuchung dieser Änderungen.
Das vorherige Bild ist die Ausgabe, die von dem Tool angezeigt wird, wo zu beobachten ist, dass einige Änderungen vorgenommen wurden.
$LogFile
Alle Metadatenänderungen an einem Dateisystem werden in einem Prozess protokolliert, der als Write-Ahead Logging bekannt ist. Die protokollierten Metadaten werden in einer Datei namens **$LogFile**
gespeichert, die sich im Stammverzeichnis eines NTFS-Dateisystems befindet. Tools wie LogFileParser können verwendet werden, um diese Datei zu analysieren und Änderungen zu identifizieren.
Wiederum ist in der Ausgabe des Tools zu sehen, dass einige Änderungen vorgenommen wurden.
Mit demselben Tool ist es möglich zu identifizieren, zu welcher Zeit die Zeitstempel geändert wurden:
- CTIME: Erstellungszeit der Datei
- ATIME: Änderungszeit der Datei
- MTIME: MFT-Registrierungsänderung der Datei
- RTIME: Zugriffszeit der Datei
Vergleich von $STANDARD_INFORMATION
und $FILE_NAME
Eine weitere Möglichkeit, verdächtig modifizierte Dateien zu identifizieren, wäre der Vergleich der Zeit in beiden Attributen auf Unstimmigkeiten zu überprüfen.
Nanosekunden
NTFS-Zeitstempel haben eine Präzision von 100 Nanosekunden. Daher ist es sehr verdächtig, Dateien mit Zeitstempeln wie 2010-10-10 10:10:**00.000:0000 zu finden.
SetMace - Anti-forensisches Tool
Dieses Tool kann beide Attribute $STANDARD_INFORMATION
und $FILE_NAME
ändern. Allerdings ist es seit Windows Vista notwendig, dass ein aktives Betriebssystem diese Informationen ändert.
Datenversteckung
NFTS verwendet einen Cluster und die minimale Informationsgröße. Das bedeutet, dass, wenn eine Datei einen Cluster und einen halben Cluster belegt, die verbleibende Hälfte niemals verwendet wird, bis die Datei gelöscht wird. Daher ist es möglich, Daten in diesem Slack-Space zu verstecken.
Es gibt Tools wie Slacker, die es ermöglichen, Daten in diesem "versteckten" Raum zu verbergen. Eine Analyse des $logfile
und $usnjrnl
kann jedoch zeigen, dass einige Daten hinzugefügt wurden:
Dann ist es möglich, den Slack-Space mit Tools wie FTK Imager wiederherzustellen. Beachten Sie, dass diese Art von Tool den Inhalt obfuskiert oder sogar verschlüsselt speichern kann.
UsbKill
Dies ist ein Tool, das den Computer ausschaltet, wenn eine Änderung an den USB-Ports erkannt wird.
Eine Möglichkeit, dies zu entdecken, wäre, die laufenden Prozesse zu inspizieren und jedes laufende Python-Skript zu überprüfen.
Live-Linux-Distributionen
Diese Distributionen werden im RAM ausgeführt. Die einzige Möglichkeit, sie zu erkennen, besteht darin, wenn das NTFS-Dateisystem mit Schreibberechtigungen gemountet ist. Wenn es nur mit Lesezugriff gemountet ist, wird es nicht möglich sein, die Eindringung zu erkennen.
Sichere Löschung
https://github.com/Claudio-C/awesome-data-sanitization
Windows-Konfiguration
Es ist möglich, mehrere Windows-Protokollierungsmethoden zu deaktivieren, um die forensische Untersuchung erheblich zu erschweren.
Zeitstempel deaktivieren - UserAssist
Dies ist ein Registrierungsschlüssel, der Daten und Uhrzeiten speichert, wann jede ausführbare Datei vom Benutzer ausgeführt wurde.
Das Deaktivieren von UserAssist erfordert zwei Schritte:
- Setzen Sie zwei Registrierungsschlüssel,
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgs
undHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled
, beide auf null, um anzuzeigen, dass wir UserAssist deaktivieren möchten. - Löschen Sie Ihre Registrierungssubbäume, die wie
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\<hash>
aussehen.
Zeitstempel deaktivieren - Prefetch
Dies speichert Informationen über die ausgeführten Anwendungen mit dem Ziel, die Leistung des Windows-Systems zu verbessern. Dies kann jedoch auch für forensische Praktiken nützlich sein.
- Führen Sie
regedit
aus - Wählen Sie den Dateipfad
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters
- Klicken Sie mit der rechten Maustaste auf
EnablePrefetcher
undEnableSuperfetch
- Wählen Sie Ändern bei jedem dieser, um den Wert von 1 (oder 3) auf 0 zu ändern
- Neustart
Zeitstempel deaktivieren - Letzte Zugriffszeit
Immer wenn ein Ordner von einem NTFS-Volume auf einem Windows NT-Server geöffnet wird, nimmt das System sich die Zeit, um ein Zeitstempelfeld für jeden aufgelisteten Ordner zu aktualisieren, das als letzte Zugriffszeit bezeichnet wird. Bei einem stark genutzten NTFS-Volume kann dies die Leistung beeinträchtigen.
- Öffnen Sie den Registrierungs-Editor (Regedit.exe).
- Navigieren Sie zu
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
. - Suchen Sie nach
NtfsDisableLastAccessUpdate
. Wenn es nicht existiert, fügen Sie dieses DWORD hinzu und setzen Sie seinen Wert auf 1, um den Prozess zu deaktivieren. - Schließen Sie den Registrierungs-Editor und starten Sie den Server neu.
USB-Historie löschen
Alle USB-Geräteeinträge werden in der Windows-Registrierung unter dem USBSTOR-Registrierungsschlüssel gespeichert, der Unterschlüssel enthält, die erstellt werden, wenn Sie ein USB-Gerät an Ihren PC oder Laptop anschließen. Sie finden diesen Schlüssel hier HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR
. Durch das Löschen dieses Schlüssels löschen Sie die USB-Historie.
Sie können auch das Tool USBDeview verwenden, um sicherzustellen, dass Sie sie gelöscht haben (und um sie zu löschen).
Eine weitere Datei, die Informationen über die USBs speichert, ist die Datei setupapi.dev.log
im Verzeichnis C:\Windows\INF
. Diese sollte ebenfalls gelöscht werden.
Schattenkopien deaktivieren
Liste der Schattenkopien mit vssadmin list shadowstorage
Löschen Sie sie, indem Sie vssadmin delete shadow
ausführen.
Sie können sie auch über die GUI löschen, indem Sie die Schritte in https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html befolgen.
Um Schattenkopien zu deaktivieren, Schritte von hier:
- Öffnen Sie das Dienstprogramm Dienste, indem Sie "Dienste" in das Textsuchfeld eingeben, nachdem Sie auf die Windows-Starttaste geklickt haben.
- Suchen Sie in der Liste nach "Volume Shadow Copy", wählen Sie es aus und greifen Sie dann mit einem Rechtsklick auf die Eigenschaften zu.
- Wählen Sie Deaktiviert aus dem Dropdown-Menü "Starttyp" und bestätigen Sie die Änderung, indem Sie auf Übernehmen und OK klicken.
Es ist auch möglich, die Konfiguration zu ändern, welche Dateien in der Schattenkopie kopiert werden sollen, in der Registrierung HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot
.
Gelöschte Dateien überschreiben
- Sie können ein Windows-Tool verwenden:
cipher /w:C
. Dies weist Cipher an, alle Daten aus dem verfügbaren ungenutzten Speicherplatz auf dem C-Laufwerk zu entfernen. - Sie können auch Tools wie Eraser verwenden.
Windows-Ereignisprotokolle löschen
- Windows + R --> eventvwr.msc --> Erweitern Sie "Windows-Protokolle" --> Klicken Sie mit der rechten Maustaste auf jede Kategorie und wählen Sie "Protokoll löschen"
for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"
Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }
Windows-Ereignisprotokolle deaktivieren
reg add 'HKLM\SYSTEM\CurrentControlSet\Services\eventlog' /v Start /t REG_DWORD /d 4 /f
- Deaktivieren Sie im Abschnitt Dienste den Dienst "Windows-Ereignisprotokoll"
WEvtUtil.exec clear-log
oderWEvtUtil.exe cl
Deaktivieren von $UsnJrnl
fsutil usn deletejournal /d c:
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.