Detectar movimento lateral com o ShimCache

3 min de leitura

TL;DR. Ferramentas de movimento lateral — PsExec, wmic, at/schtasks, PowerShell remoto — deixam entradas ShimCache no host destino (o binário de serviço solto) e muitas vezes na origem. Comparar o AppCompatCache entre vários hosts revela o caminho que o atacante tomou.

O ShimCache normalmente é enquadrado como um artefato de host único. Mas seu real poder na IR é entre hosts: a mesma ferramenta, examinada por compatibilidade em cada máquina que toca, deixa um rastro correlacionável. Este artigo trata de ler esse rastro.

Como o movimento lateral aparece no ShimCache

As técnicas de execução remota soltam ou invocam um executável no destino. Cada uma deixa um caminho característico:

TécnicaIndício ShimCache no destino
PsExec / exec. de serviço SMBC:\Windows\PSEXESVC.exe ou um binário de serviço de 8 caracteres aleatórios em C:\Windows\
sc \\host createBinário de serviço nomeado pelo atacante, muitas vezes em C:\Windows\ ou \PerfLogs\
WMI (wmic process call create)Caminho do payload sob C:\Windows\Temp\ ou um diretório gravável
Tarefa agendada (schtasks /s)Binário de ação da tarefa, frequentemente C:\Users\Public\
PowerShell remotopowershell.exe mais qualquer .exe solto que ele preparou

Um binário de serviço com nome aleatório em C:\Windows\ é um dos achados ShimCache de maior sinal que existem — tratado como regra de triagem em caça a malware com o ShimCache.

O lado do host origem

O host de origem frequentemente mostra entradas ShimCache da própria ferramenta de ataque: PsExec.exe, wmic.exe usado interativamente, um movedor sob medida ou frameworks de pós-exploração. Parear «ferramenta no host A» com «binário de serviço no host B» dentro de uma janela plausível é a inferência central do movimento lateral.

O fluxo de comparação entre hosts

  1. Colete as colmeias SYSTEM de cada host no escopo (veja adquirir uma colmeia SYSTEM).
  2. Analise cada uma e exporte para CSV.
  3. Normalize os caminhos e compare binários compartilhados e incomuns — o mesmo nome de serviço aleatório ou o mesmo caminho de staging aparecendo em vários hosts é o caminho do movimento.
  4. Ordene os hosts pela ordem de inserção do ShimCache (não a marca de tempo — é o mtime do arquivo, não uma hora de evento).
  5. Corrobore cada salto com Security 4624/4648, eventos 7045 de instalação de serviço e AmCache.

Isso se funde naturalmente numa linha do tempo completa de execução de programas. Mapeie as técnicas para ATT&CK T1021 (Remote Services) e T1570 (Lateral Tool Transfer) para o relatório.

Ressalvas

O ShimCache só descarrega no desligamento limpo; um host ainda ligado pode não ter gravado ainda a entrada decisiva — verifique a memória (extração de um dump de memória). E a marca de tempo nunca sequencia os saltos sozinha; apoie-se na ordem de inserção mais os logs de eventos. Atacantes que limpam o valor deixam o próprio indício — veja antiforense do ShimCache.

Para comparar colmeias rapidamente, analise cada uma com o Shimcache Parser, exporte CSV e compare — tudo no lado do cliente.

Leitura adicional

Artigos relacionados