TL;DR. Parsa la hive SYSTEM → filtra i percorsi in aree scrivibili dall'utente (AppData, Temp) e in percorsi di sistema inattesi → corrobora gli hit con hash AmCache e Prefetch → pivota sull'SHA-1 quando il file è sparito. Lo ShimCache mette nomi sulla tua lista di caccia; non chiude il caso da solo.
Lo ShimCache è uno dei punti di pivot ad alto segnale nel threat hunting Windows: registra gli eseguibili che Windows ha esaminato, compresi quelli da tempo cancellati. Questo post è un workflow concreto per trasformare un dump dello ShimCache in una short list di host e file degni di indagine.
Il workflow in cinque passi
- Raccogli la hive SYSTEM. Estraila offline da
C:\Windows\System32\config\SYSTEM(con i suoi.LOG1/.LOG2) o usa un collettore live come Velociraptor. Per il quando della scrittura, vedi Dove è memorizzato lo ShimCache. - Parsea in una lista piatta. Decodifica il blob binario in righe
(percorso, mtime, formato). Lo Shimcache Parser lo fa nel browser; i parser di riferimento offline. - Filtra percorsi sospetti. Qui inizia la caccia — cerchi pattern, non singole righe.
- Corrobora l'esecuzione. Un hit ShimCache prova esistenza, non esecuzione. Combina ogni riga interessante con Prefetch, AmCache o log eventi (riferimento).
- Pivota sull'hash. Quando il file su disco è sparito, l'SHA-1 di AmCache è l'aggancio per VirusTotal / TI (perché entrambi gli artefatti).
Pattern da filtrare
Questi sono i pattern di percorso che i cacciatori valutano di più in pratica:
- Directory scrivibili dall'utente:
\AppData\Local\Temp\,\AppData\Roaming\,\Users\Public\,\ProgramData\— posti dove utenti e servizi possono rilasciare binari senza permessi admin. - Sistema scrivibile dove non dovrebbe:
C:\Windows\Temp\,C:\PerfLogs\,C:\Recycler\$Recycle.Bin\— qualsiasi cosa sottoC:\Windows\che non sia un percorso Windows noto. - Doppie estensioni / mimic di binari di sistema:
svchost.exefuori da\System32\,lsass.exein posti inusuali,*.pdf.exe,*.docx.exe. - Condivisioni di rete e media rimovibili:
\\?\UNC\, lettere di unità diverse daC:,\Device\HarddiskVolumeShadowCopy*. - Strumenti one-shot:
psexec.exe,winrm.cmd,wmiexec.exe, artefatticobaltstrike— gli strumenti amministrativi legittimi sono spesso abusati.
Non essere troppo astuto con le regex al primo passaggio. Ordina per mtime e scorri visivamente le voci recenti — così trovi cose che i filtri euristici perdono.
Regole di triage
Quando una riga sembra interessante, alcuni controlli rapidi separano segnale da rumore:
- C'è un Prefetch corrispondente? Quasi prova di esecuzione.
- AmCache ha un SHA-1? Cercalo. Un hash pulito firmato dal vendor fa de-prioritizzare in fretta.
- L'mtime è sospettosamente vicino a un evento noto? Un binario modificato nei minuti vicini a un allarme merita uno sguardo più attento.
- La directory padre è il profilo dell'utente, ma l'utente non dovrebbe essere admin? Plausibile, ma sorveglia indicatori di elevazione (Sysmon 4688 con token elevati).
Cosa questo workflow non dice
Lo ShimCache da solo non ti dice chi ha lanciato il binario, con quali argomenti, né quando. Per questo serviranno Sysmon, log Security o una timeline completa di esecuzione. Il compito dello ShimCache è mettere nomi sulla tua lista di caccia — non chiudere l'indagine da solo.
Approfondimenti
- AppCompatCacheParser di Eric Zimmerman — parser offline di riferimento.
Windows.Registry.AppCompatCachedi Velociraptor — raccolta su scala.- ShimCache & AmCache forensic analysis (Mehrnoush) — walkthrough basato su casi.