O Windows guarda vários vestígios da atividade realizada num computador que podem ser fundamentais numa investigação de cibersegurança. Um desses artefactos é o Shimcache, também conhecido como Application Compatibility Cache ou AppCompatCache, que pode ajudar a identificar ficheiros executáveis que o sistema encontrou.
Embora tenha sido criado para suportar mecanismos de compatibilidade entre aplicações e versões do Windows, o Shimcache tornou-se uma fonte de informação importante na análise forense digital, sobretudo quando se pretende investigar programas suspeitos ou reconstruir acontecimentos num computador.
O que é o Shimcache?
O Shimcache é um artefacto associado ao sistema de compatibilidade de aplicações do Windows. O seu objetivo original é ajudar o sistema operativo a identificar aplicações que possam necessitar de ajustes para funcionarem corretamente.
A informação é armazenada no Registo do Windows, na hive SYSTEM, habitualmente associada à seguinte localização:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache
Entre os dados que podem ser encontrados estão os caminhos dos ficheiros executáveis e informações temporais relacionadas com a última modificação dos ficheiros. A informação disponível varia consoante a versão do Windows.
O Shimcache permite descobrir programas executados?
Uma das principais utilidades deste artefacto é ajudar a identificar programas que estiveram presentes num sistema, mesmo quando os ficheiros originais já foram eliminados.
No entanto, existe uma distinção importante: encontrar um programa no Shimcache não significa necessariamente que esse programa tenha sido executado.
No Windows 10 e no Windows 11, por exemplo, o Shimcache não permite, por si só, confirmar a execução de um ficheiro. O sistema pode registar informações sobre executáveis que foram examinados pelo mecanismo de compatibilidade sem que isso constitua prova de execução.
Em versões mais antigas, como o Windows 7 e o Windows 8, existem indicadores específicos que podem ajudar nessa avaliação, embora também devam ser interpretados no contexto adequado.
Outro detalhe importante diz respeito às datas: o registo temporal associado a uma entrada corresponde geralmente à última modificação do ficheiro, não ao momento em que o programa foi executado.
<Cite refs={["turn330527search12","turn330527search0"]}/>
Como pode ajudar numa investigação forense?
O Shimcache pode ser particularmente útil quando os investigadores procuram vestígios de ferramentas maliciosas, programas desconhecidos ou executáveis que possam ter sido utilizados durante um ataque informático.
Imagine-se um computador onde foi identificado um ficheiro suspeito numa pasta temporária. Mesmo que esse ficheiro já tenha sido apagado, uma entrada no Shimcache poderá conservar o respetivo caminho e outros metadados.
Esta informação pode ajudar a orientar a investigação, permitindo procurar outros vestígios que confirmem a presença do ficheiro e esclareçam o que aconteceu.
O artefacto também pode ser útil na análise de ferramentas utilizadas por atacantes, na investigação de incidentes de segurança e na reconstrução de uma cronologia de atividade num sistema.
Como analisar o Shimcache?
A análise pode ser realizada através de ferramentas forenses que interpretam os dados armazenados no Registo do Windows.
Uma das ferramentas utilizadas para este efeito é o AppCompatCacheParser, desenvolvido por Eric Zimmerman, que permite extrair e analisar entradas do Shimcache.
Os investigadores podem examinar os caminhos dos ficheiros, os metadados temporais e outros indicadores disponíveis, procurando padrões que justifiquem uma análise mais aprofundada.
Para obter conclusões mais sólidas, é recomendável cruzar os resultados com outros artefactos, nomeadamente:
- Prefetch: pode fornecer evidências relacionadas com a execução de aplicações e informação temporal.
- Amcache: ajuda a identificar executáveis e a analisar os respetivos metadados.
- Event Logs: podem conter registos relevantes sobre a atividade do sistema e a criação de processos, quando essa auditoria está configurada.
- MFT e USN Journal: podem ajudar a reconstruir a existência, alteração, movimentação ou eliminação de ficheiros.
A correlação destas fontes permite avaliar se um executável foi apenas identificado pelo sistema ou se existem evidências adicionais de que foi efetivamente executado.