TL;DR. Parsa l'hive SYSTEM. Filtra per percorsi in posizioni scrivibili dall'utente (\AppData\, \Temp\) e percorsi di sistema inaspettati. Conferma i hit con hash di AmCache e Prefetch. Pivota sull'SHA-1 quando il file è sparito. Lo ShimCache mette nomi nella tua lista di caccia. Non chiude i casi da solo.
Il motivo per cui lo ShimCache si guadagna il posto in un workflow di hunting è che sopravvive. Un attaccante rilascia uno strumento, lo esegue, lo cancella, e il percorso resta nella cache. Questo lo rende un pivot ad alto segnale quando AmCache e Prefetch sono stati ripuliti o non erano mai attivi. Ecco come lo uso davvero.
Il workflow in cinque passi
- Raccogli l'hive SYSTEM. Tira
C:\Windows\System32\config\SYSTEMe i suoi fratelli.LOG1e.LOG2, oppure usa Velociraptor per la raccolta live. La guida all'acquisizione copre i metodi sicuri. Ricorda che la cache vive in memoria fino allo shutdown pulito, quindi controlla il timing di memorizzazione prima di assumere che l'hive su disco sia aggiornato. - Parsa a una lista piatta. Decodifica il blob binario in righe
(path, mtime, format). Lo Shimcache Parser lo fa nel tuo browser; l'AppCompatCacheParserdi Eric Zimmerman o il Mandiant Shim Cache Parser lo fanno offline. - Filtra per percorsi sospetti. Qui è dove la caccia succede davvero.
- Conferma l'esecuzione. Una riga ShimCache da sola dimostra esistenza, non esecuzione. Accoppia ogni riga interessante con Prefetch, AmCache, o EVTX / Sysmon. La matrice completa è nella referenza degli artefatti di esecuzione programmi.
- Pivota sull'hash. Quando il file su disco è sparito, l'SHA-1 di AmCache è il tuo appiglio per i lookup su VirusTotal e threat intel. Il confronto ShimCache vs AmCache copre perché tirale sempre entrambi.
Pattern che vale la pena filtrare
Questi sono i pattern di percorso che scoreano consistentemente più in alto nelle cacce reali:
- Directory scrivibili dall'utente.
\AppData\Local\Temp\,\AppData\Roaming\,\Users\Public\,\ProgramData\. Utenti e servizi possono rilasciare binari qui senza diritti admin, e lo fanno. - Scrivibili dal sistema ma non dovrebbero esserlo.
C:\Windows\Temp\,C:\PerfLogs\, qualunque cosa sottoC:\Windows\che non sia un percorso Windows noto. Binari di servizio PsExec e tooling named-pipe atterrano qui continuamente. - Doppia estensione e lookalike.
svchost.exefuori da\System32\,lsass.exein posizione insolita,*.pdf.exe,*.docx.exe. L'OriginalFileNameda AmCache di solito rompe il travestimento. - Share di rete e media rimovibili.
\\?\UNC\, lettere di drive diverse daC:,\Device\HarddiskVolumeShadowCopy*. Mostrano il percorso di staging. Incrocia con i file LNK per la cronologia shell. - Tooling usa-e-getta.
psexec.exe,winrm.cmd,wmiexec.exe,mimikatz*.exe, artefatti Cobalt Strike. Gli strumenti admin legittimi vengono abusati; trattali come finding da chiarire, non come rumore da ignorare.
Non fare il furbo con le regex al primo passaggio. Ordina per mtime e passa le voci recenti a occhio. Cattura le cose che i filtri euristici si perdono, inclusi i binari che l'attaccante ha rinominato per evadere la tua lista di filtri.
Regole pratiche di triage
Qualche controllo rapido separa il segnale dal rumore:
- Ha un fratello in Prefetch? Quasi prova di esecuzione.
- AmCache porta un SHA-1? Cercalo. Hash di vendor firmato pulito significa deprioritizzare. Hash sconosciuto su un percorso scrivibile dall'utente significa escalare.
- La mtime è sospettosamente vicina a un orario di incidente noto? Modificata entro minuti da un alert merita uno sguardo più approfondito. Ricorda che la mtime è una proprietà del file, non il momento in cui Windows l'ha visto.
- La directory padre è il profilo dell'utente ma l'utente non è admin? Ragionevole per gli installer; cerca indicatori di elevation in Sysmon Event ID 1 e Security 4688 con token elevati.
- Il journal USN o la MFT conferma la creazione nella finestra di interesse? Forte conferma quando il file è ancora su disco.
Cosa questo workflow non ti dice
Lo ShimCache da solo non ti dirà chi ha lanciato il binario, con quali argomenti, o quando. Per questo ti servono Sysmon, log eventi Security o una timeline di esecuzione programmi completa. Il compito della cache è mettere nomi nella lista di caccia, non chiudere l'indagine.
Letture aggiuntive
- AppCompatCacheParser di Eric Zimmerman. parser offline gold standard.
Windows.Registry.AppCompatCachedi Velociraptor. raccolta su scala.- ShimCache & AmCache forensic analysis di Mehrnoush. percorso basato sui casi.