Como adquirir uma hive SYSTEM do Windows para análise offline do ShimCache

4 min de leitura

TL;DR. Você não pode simplesmente copy C:\Windows\System32\config\SYSTEM enquanto o Windows está rodando — o arquivo está bloqueado. Use FTK Imager, KAPE, robocopy /B, um snapshot VSS ou Velociraptor para obter uma cópia forense num host ativo, ou leia o arquivo diretamente de um disco offline montado. Em qualquer método, pegue também SYSTEM.LOG1 e SYSTEM.LOG2 — sem eles, escritas recentes faltam.

Por que você não pode simplesmente copiar

O kernel do Windows mantém a hive SYSTEM aberta em acesso exclusivo enquanto o SO está rodando. Um copy ou cp simples retorna O processo não pode acessar o arquivo porque está sendo usado por outro processo. Pior, mesmo se você contornar o bloqueio e ler os bytes, o SO em execução mantém escritas recentes do registro em memória até o próximo desligamento limpo — incluindo as entradas de ShimCache mais úteis.

Seu objetivo, portanto, é um destes três:

  1. Contornar o bloqueio limpamente no host ativo (NTFS bruto / VSS / cópia forense).
  2. Ler o arquivo diretamente de uma imagem de disco offline montada ou VM pausada.
  3. Recuperar a cópia em memória de uma imagem de memória (a única forma de obter entradas que nunca foram para o disco).

Método 1 — dead box / disco offline montado

Se você pode desligar a máquina ou montar o disco em somente leitura, é o caminho mais simples:

<LetraUnidade>:\Windows\System32\config\SYSTEM
<LetraUnidade>:\Windows\System32\config\SYSTEM.LOG1
<LetraUnidade>:\Windows\System32\config\SYSTEM.LOG2

Copie os três. Os arquivos .LOG1 / .LOG2 são os logs de transação; um parser robusto os reproduz antes de ler a hive principal, para que escritas ainda não mescladas não sejam perdidas.

Método 2 — sistema ativo: cópia forense

Em um host em execução, várias ferramentas conseguem ler arquivos bloqueados em nível de volume:

  • FTK Imager — GUI, gratuito. «Obtain Protected Files» → «Custom» → selecione SYSTEM, SYSTEM.LOG1, SYSTEM.LOG2. Saída em um disco externo.
  • KAPE — linha de comando, scriptável. O target RegistryHives extrai todas as hives relevantes + logs:
    kape.exe --tsource C: --target RegistryHives --tdest C:\out
    
  • robocopy com /B/B abre arquivos em modo backup, ignorando o bloqueio de modo usuário (ainda exige admin e SeBackupPrivilege). Opção rápida quando não há ferramenta DFIR à mão:
    robocopy C:\Windows\System32\config C:\out SYSTEM SYSTEM.LOG1 SYSTEM.LOG2 /B
    
  • Snapshot VSSvssadmin create shadow produz um instantâneo de um ponto no tempo que pode ser lido. Útil quando você precisa de uma visão consistente e não pode derrubar o sistema.

Método 3 — imagem de memória (melhor para entradas recentes)

A hive SYSTEM em disco contém apenas as entradas persistidas no último desligamento limpo. Para um host que não foi reiniciado de forma limpa desde o incidente, as entradas mais recentes estão em memória e em nenhum outro lugar.

Capture uma imagem de memória (WinPmem, Magnet RAM Capture, AVML), depois extraia a hive SYSTEM — ou leia o ShimCache diretamente — com Volatility:

# Extrair a hive de registro
vol -f memory.raw windows.registry.hivelist
vol -f memory.raw windows.registry.hivedump --offset <addr>

# Ou ler o ShimCache direto da memória
vol -f memory.raw windows.shimcachemem

Extraindo o ShimCache de um dump de memória trata disso em profundidade.

Método 4 — triagem live em escala (Velociraptor)

Para coleta em frota, Velociraptor lê a hive bloqueada via acesso NTFS direto e a devolve para análise offline. Use a família de artefatos Windows.Forensics.AppCompat ou Windows.Registry.NTUser, ou apenas colete o arquivo de hive com Generic.Forensic.LocalHashes mais a opção accessor: ntfs.

Não pule os logs de transação

Este é o erro mais comum: copiar SYSTEM sem SYSTEM.LOG1 e SYSTEM.LOG2. As escritas pendentes vivem nos logs até o próximo checkpoint, e esse delta pode incluir as entradas que mais importam para você. Parsers robustos (AppCompatCacheParser do Eric Zimmerman, ShimCacheParser, esta ferramenta) reproduzem os logs antes de ler a hive — mas apenas se você fornecê-los.

Em seguida, parseie

Solte a hive SYSTEM no Shimcache Parser — roda inteiramente no seu navegador, sem etapa de upload, e suporta todas as versões do Windows do XP ao Windows 11. Para detalhes de formato, veja a referência do formato binário Windows 10 / 11.

Leitura adicional

Artigos relacionados