TL;DR. Werkzeuge für laterale Bewegung — PsExec, wmic, at/schtasks, Remote-PowerShell — hinterlassen ShimCache-Einträge auf dem Ziel-Host (die abgelegte Service-Binärdatei) und oft auf der Quelle. Den AppCompatCache über viele Hosts zu vergleichen, legt den Weg des Angreifers offen.
ShimCache wird meist als Einzel-Host-Artefakt dargestellt. Seine wahre Stärke in der IR ist aber host-übergreifend: dasselbe Werkzeug, auf jeder berührten Maschine auf Kompatibilität untersucht, hinterlässt eine korrelierbare Spur. Dieser Beitrag handelt vom Lesen dieser Spur.
Wie laterale Bewegung im ShimCache aussieht
Remote-Execution-Techniken legen eine ausführbare Datei auf dem Ziel ab oder rufen sie auf. Jede hinterlässt einen charakteristischen Pfad:
| Technik | ShimCache-Hinweis auf dem Ziel |
|---|---|
| PsExec / SMB-Service-Exec | C:\Windows\PSEXESVC.exe oder eine zufällige 8-Zeichen-Service-Binärdatei in C:\Windows\ |
sc \\host create | Vom Angreifer benannte Service-Binärdatei, oft in C:\Windows\ oder \PerfLogs\ |
WMI (wmic process call create) | Payload-Pfad unter C:\Windows\Temp\ oder ein beschreibbares Verzeichnis |
Geplanter Task (schtasks /s) | Task-Aktions-Binärdatei, häufig C:\Users\Public\ |
| Remote-PowerShell | powershell.exe plus jede abgelegte .exe, die es bereitstellte |
Eine Service-Binärdatei mit zufälligem Namen in C:\Windows\ gehört zu den signalstärksten ShimCache-Befunden überhaupt — als Triage-Regel behandelt in Malware-Hunting mit dem ShimCache.
Die Quell-Host-Seite
Der Ursprungs-Host zeigt häufig ShimCache-Einträge für das Angriffswerkzeug selbst: PsExec.exe, interaktiv genutztes wmic.exe, einen maßgeschneiderten Mover oder Post-Exploitation-Frameworks. „Tool auf Host A" mit „Service-Binärdatei auf Host B" in einem plausiblen Fenster zu paaren, ist die zentrale Lateral-Movement-Schlussfolgerung.
Der host-übergreifende Diff-Workflow
- Sammeln Sie SYSTEM-Hives jedes Hosts im Scope (siehe eine SYSTEM-Hive beschaffen).
- Parsen Sie jede und exportieren Sie nach CSV.
- Normalisieren Sie Pfade und diffen Sie geteilte, ungewöhnliche Binärdateien — derselbe zufällige Service-Name oder derselbe Staging-Pfad auf mehreren Hosts ist der Bewegungspfad.
- Ordnen Sie Hosts nach der ShimCache-Einfügereihenfolge (nicht dem Zeitstempel — das ist die Datei-mtime, keine Ereigniszeit).
- Untermauern Sie jeden Sprung mit Security 4624/4648, 7045-Service-Install-Ereignissen und AmCache.
Das fügt sich natürlich in eine vollständige Programmausführungs-Zeitleiste. Mappen Sie die Techniken für den Report auf ATT&CK T1021 (Remote Services) und T1570 (Lateral Tool Transfer).
Vorbehalte
ShimCache flusht nur beim sauberen Shutdown; ein noch laufender Host hat den entscheidenden Eintrag vielleicht noch nicht geschrieben — prüfen Sie den Speicher (Extraktion aus einem Speicherabbild). Und der Zeitstempel sequenziert Sprünge nie allein; verlassen Sie sich auf Einfügereihenfolge plus Ereignisprotokolle. Angreifer, die den Wert löschen, hinterlassen ihren eigenen Hinweis — siehe ShimCache-Anti-Forensik.
Um Hives schnell zu vergleichen, parsen Sie jede mit dem Shimcache Parser, exportieren CSV und vergleichen — alles clientseitig.
Weiterführende Quellen
- MITRE ATT&CK: Remote Services (T1021) — Technik-Referenz für die Ziel-seitigen Hinweise.
- Mandiant: leveraging the ShimCache — ShimCache-Grundlagen.