Verdächtige Executables sicher sichern
Verdächtige EXE-, DLL- und SYS-Dateien von einem Windows-Host oder Image finden und kopieren, ohne sie auszuführen: PowerShell, Velociraptor, Images.
Kurz gesagt. Gehen Sie von Ausführungsspuren aus, um zu wissen, welche Binaries relevant sind, kopieren Sie sie samt Pfad (Kopieren führt sie nie aus), verhindern Sie, dass der Virenschutz sie löscht, und analysieren Sie nur Kopien. Der PE Parser nimmt das Ergebnis unverändert an – einzelne Dateien, einen Ordner oder ein ZIP.
Schritt 1: Von Ausführungsspuren ausgehen
Ein Datenträger enthält Zehntausende Executables. Die Artefakte zeigen, welche davon zählen: Prefetch und Amcache nennen Programme, die gelaufen sind, ShimCache und BAM liefern Pfade und Zeiten, und Dienste, geplante Aufgaben und Run-Keys nennen, was persistiert. Ordner mit Schreibrechten für Benutzer – C:\ProgramData, %AppData%, %Temp%, Downloads, C:\Users\Public – sind die typischen Ablageorte für abgelegte Tools. Im fiktiven Fall FIN-WKS-07, auf dem unsere Beispiele beruhen, führt das zu C:\ProgramData\Intel\m64.exe und zum Ordner tools im Downloads-Verzeichnis von svc_backup.
Schritt 2: Kopieren, ohne auszuführen
Das Lesen einer Datei führt sie nicht aus. Auf einem Live-System kopiert der folgende Befehl aus einer Windows PowerShell als Administrator die Executables, die in den letzten 14 Tagen unter den üblichen Wurzelverzeichnissen geschrieben wurden, und erhält dabei ihre Pfade:
$dst = 'C:\triage\pe'
$roots = 'C:\ProgramData', 'C:\Users', 'C:\Windows\Temp'
Get-ChildItem -Path $roots -Recurse -Force -File -Include *.exe, *.dll, *.sys, *.scr, *.cpl, *.ocx -ErrorAction SilentlyContinue |
Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-14) -and $_.Length -lt 200MB } |
ForEach-Object {
$to = Join-Path $dst $_.FullName.Substring(3)
New-Item -ItemType Directory -Force -Path (Split-Path $to) | Out-Null
Copy-Item -LiteralPath $_.FullName -Destination $to -Force
}
Passen Sie Wurzelverzeichnisse und Tage an. Letzte Schreibzeiten lassen sich fälschen, kopieren Sie daher zusätzlich die genauen Pfade aus Schritt 1.
Velociraptor sammelt mit der Gruppe _Live von Windows.Triage.Targets die Binaries hinter laufenden Prozessen, Diensten, geplanten Aufgaben, Prefetch-Einträgen und Verknüpfungszielen (Velociraptor triage artifacts). Standardmäßig überspringt es signierte Executables (CollectionPolicy=ExcludeSigned):
velociraptor.exe artifacts collect Windows.Triage.Targets --args HighLevelTargets=[\"_Live\"] --output C:\triage\pe.zip
Um stattdessen nach Pfadmuster zu sammeln, lädt Windows.Search.FileFinder mit SearchFilesGlob und Upload_File=Y jeden Treffer hoch.
KAPE-Targets sammeln Artefakte (Registry, Logs, Prefetch), keine beliebigen Binaries; nutzen Sie KAPE für die Spuren aus Schritt 1 und eine der obigen Methoden für die Dateien.
Aus einem Datenträger-Image, das schreibgeschützt als E: eingebunden ist, kopiert robocopy nach Endung und Alter und erhält dabei die Verzeichnisstruktur:
robocopy E:\ProgramData C:\triage\pe\ProgramData *.exe *.dll *.sys *.scr /S /XJ /B /R:0 /W:0 /NP /NDL /MAXAGE:30
Prüfen Sie auch die Volumeschattenkopien des Images: Ein nach dem Angriff gelöschtes Binary kann dort noch vorhanden sein.
Schritt 3: Die Kopien schützen
- Virenschutz kann die Samples beim Kopieren löschen oder in Quarantäne verschieben. Nehmen Sie das Ziel aus oder arbeiten Sie mit einem Image.
- Hashen Sie alles vor der Analyse und dokumentieren Sie die Quellpfade.
- Packen Sie mit dem in Windows 10 ab 1803 integrierten
tar.exe:tar -a -c -f C:\triage\pe.zip -C C:\triage pe. Passwortgeschützte ZIPs sind beim Austausch von Samples die Norm, der Browser kann sie aber nicht öffnen: vor dem Hineinziehen entpacken.
Schritt 4: Statisch analysieren
Ziehen Sie den Ordner oder das ZIP in den PE Parser. Dateien werden an ihrem MZ-Header erkannt, umbenannte Payloads werden also gefunden; andere Dateien werden gezählt und ignoriert. Die Batch-Tabelle gruppiert Builds nach Imphash, und jede Datei erhält Hashes, Signaturprüfungen und Indikatoren. Was die einzelnen Ansichten bedeuten, erklärt der Leitfaden zum PE-Format.
FAQ
Ist es sicher, eine laufende Malware-Executable zu kopieren?
Beim Kopieren wird die Datei gelesen, nicht ausgeführt. Öffnen oder doppelklicken Sie die Kopie nie, bewahren Sie sie auf einem Analysesystem auf und rechnen Sie damit, dass der Virenschutz sie in Quarantäne verschiebt, sofern das Ziel nicht ausgenommen ist.
Sammelt KAPE Executables?
KAPE-Targets sind dafür gedacht, forensische Artefakte wie Registry-Hives, Logs und Prefetch zu sammeln, nicht beliebige Binaries. Nutzen Sie eine skriptgesteuerte Kopie, Velociraptor, oder richten Sie KAPE auf einen bestimmten, bereits identifizierten Ordner.