TL;DR. Parseie a hive SYSTEM → filtre caminhos em áreas graváveis pelo usuário (AppData, Temp) e caminhos de sistema inesperados → corrobore os hits com hashes do AmCache e Prefetch → pivote no SHA-1 quando o arquivo sumiu. O ShimCache coloca nomes na sua lista de caça; ele não fecha o caso sozinho.
O ShimCache é um dos pontos de pivô de maior sinal no threat hunting Windows: ele registra executáveis que o Windows examinou, inclusive aqueles já excluídos. Este post é um fluxo concreto para transformar um dump de ShimCache em uma lista curta de hosts e arquivos que merecem investigação.
O fluxo em cinco passos
- Colete a hive SYSTEM. Puxe o arquivo offline de
C:\Windows\System32\config\SYSTEM(com seus.LOG1/.LOG2) ou use um coletor live como o Velociraptor. Para o contexto sobre quando o cache é realmente escrito, veja Onde o ShimCache fica armazenado. - Parseie para uma lista plana. Decodifique o blob binário em linhas
(caminho, mtime, formato). O Shimcache Parser faz isso no seu navegador; os parsers de referência fazem offline. - Filtre caminhos suspeitos. A caça começa aqui — você procura padrões, não linhas isoladas.
- Corrobore a execução. Um hit no ShimCache prova existência, não execução. Combine cada linha interessante com Prefetch, AmCache ou logs de eventos (referência).
- Pivote no hash. Quando o arquivo em disco sumiu, o SHA-1 do AmCache é seu gancho para buscas em VirusTotal / TI (por que ambos os artefatos).
Padrões que vale a pena filtrar
Estes são os padrões de caminho que caçadores pontuam mais alto na prática:
- Diretórios graváveis pelo usuário:
\AppData\Local\Temp\,\AppData\Roaming\,\Users\Public\,\ProgramData\— lugares onde usuários e serviços podem soltar binários sem privilégios de admin. - Sistema gravável mas não deveria:
C:\Windows\Temp\,C:\PerfLogs\,C:\Recycler\$Recycle.Bin\— qualquer coisa sobC:\Windows\que não seja um caminho Windows conhecido. - Extensões duplas / mímica de binários do sistema:
svchost.exefora de\System32\,lsass.exeem locais incomuns,*.pdf.exe,*.docx.exe. - Compartilhamentos de rede e mídias removíveis:
\\?\UNC\, letras de unidade diferentes deC:,\Device\HarddiskVolumeShadowCopy*. - Ferramentas one-shot:
psexec.exe,winrm.cmd,wmiexec.exe, artefatoscobaltstrike— ferramentas legítimas de admin são frequentemente abusadas.
Não seja esperto demais com regex na primeira passada. Ordene por mtime e percorra as entradas recentes visualmente — isso encontra coisas que filtros heurísticos perdem.
Regras de triagem
Quando uma linha parece interessante, alguns checks rápidos separam sinal de ruído:
- Tem um Prefetch irmão? Isso é quase prova de execução.
- AmCache tem SHA-1? Procure-o. Um hash limpo assinado por fabricante leva a despriorizar rapidamente.
- O mtime está suspeitamente perto de um horário de incidente conhecido? Um binário modificado nos minutos próximos a um alerta merece olhar mais a fundo.
- O diretório-pai é o perfil do usuário, mas o usuário não deveria ser admin? Razoável, mas vigie indicadores de elevação (Sysmon 4688 com tokens elevados).
O que este fluxo não diz
O ShimCache sozinho não vai te contar quem lançou o binário, com quais argumentos, ou quando. Para isso, você precisará de Sysmon, logs de Segurança, ou uma timeline completa de execução de programas. O trabalho do ShimCache é colocar nomes na sua lista de caça — não fechar a investigação sozinho.
Leitura adicional
- AppCompatCacheParser de Eric Zimmerman — parser offline de referência.
Windows.Registry.AppCompatCachedo Velociraptor — coleta em escala.- ShimCache & AmCache forensic analysis (Mehrnoush) — walkthrough baseado em casos.