TL;DR. Non puoi semplicemente copy C:\Windows\System32\config\SYSTEM mentre Windows è in esecuzione — il file è bloccato. Usa FTK Imager, KAPE, robocopy /B, uno snapshot VSS o Velociraptor per ottenere una copia forense su host attivo, oppure leggi il file direttamente da un disco offline montato. Qualunque sia il metodo, prendi anche SYSTEM.LOG1 e SYSTEM.LOG2 — senza di loro, le scritture recenti mancano.
Perché non puoi solo copiarlo
Il kernel di Windows tiene la hive SYSTEM aperta in accesso esclusivo finché il SO è in esecuzione. Un semplice copy o cp restituisce Il processo non può accedere al file in quanto è utilizzato da un altro processo. Peggio: anche se aggiri il lock e leggi i byte, il SO in esecuzione tiene le scritture recenti del registro in memoria fino al prossimo arresto pulito — incluse le voci ShimCache più utili.
Il tuo obiettivo è dunque uno dei tre:
- Aggirare il lock in modo pulito sull'host attivo (NTFS grezzo / VSS / copia forense).
- Leggere il file direttamente da un'immagine disco offline montata o una VM in pausa.
- Recuperare la copia in memoria da un'immagine di memoria (l'unico modo per ottenere voci mai scritte su disco).
Metodo 1 — dead box / disco offline montato
Se puoi spegnere la macchina o montare il suo disco in sola lettura, è la via più semplice:
<LetteraUnità>:\Windows\System32\config\SYSTEM
<LetteraUnità>:\Windows\System32\config\SYSTEM.LOG1
<LetteraUnità>:\Windows\System32\config\SYSTEM.LOG2
Copia tutti e tre. I file .LOG1 / .LOG2 sono i log di transazione; un parser robusto li riproduce prima di leggere la hive principale, così non perdi scritture non ancora fuse.
Metodo 2 — sistema attivo: copia forense
Su un host in esecuzione, più strumenti possono leggere file bloccati a livello di volume:
- FTK Imager — GUI, gratuito. «Obtain Protected Files» → «Custom» → seleziona
SYSTEM,SYSTEM.LOG1,SYSTEM.LOG2. Output su un disco esterno. - KAPE — riga di comando, scriptabile. Il target
RegistryHivesestrae tutte le hive rilevanti + log:kape.exe --tsource C: --target RegistryHives --tdest C:\out - robocopy con
/B—/Bapre i file in modalità backup, bypassando il lock utente (richiede comunque admin e SeBackupPrivilege). Opzione quick-and-dirty quando non c'è strumentazione DFIR:robocopy C:\Windows\System32\config C:\out SYSTEM SYSTEM.LOG1 SYSTEM.LOG2 /B - Snapshot VSS —
vssadmin create shadowproduce uno snapshot puntuale leggibile. Utile quando serve una vista coerente e non puoi abbattere il sistema.
Metodo 3 — immagine di memoria (la migliore per voci recenti)
La hive SYSTEM su disco contiene solo le voci persistite all'ultimo arresto pulito. Per un host non riavviato in modo pulito dall'incidente, le voci più recenti sono in memoria e da nessun'altra parte.
Cattura un'immagine di memoria (WinPmem, Magnet RAM Capture, AVML), poi estrai la hive SYSTEM — o leggi lo ShimCache direttamente — con Volatility:
# Estrai la hive del registro
vol -f memory.raw windows.registry.hivelist
vol -f memory.raw windows.registry.hivedump --offset <addr>
# Oppure leggi lo ShimCache direttamente dalla memoria
vol -f memory.raw windows.shimcachemem
Estrarre lo ShimCache da un dump di memoria lo tratta in profondità.
Metodo 4 — triage live su scala (Velociraptor)
Per raccolta a livello di flotta, Velociraptor legge la hive bloccata via accesso NTFS diretto e la restituisce per analisi offline. Usa la famiglia di artefatti Windows.Forensics.AppCompat o Windows.Registry.NTUser, oppure raccogli il file di hive con Generic.Forensic.LocalHashes più l'opzione accessor: ntfs.
Non saltare i log di transazione
È l'errore più comune: copiare SYSTEM senza SYSTEM.LOG1 e SYSTEM.LOG2. Le scritture in attesa vivono nei log fino al prossimo checkpoint, e proprio quel delta può includere le voci che più ti interessano. I parser robusti (AppCompatCacheParser di Eric Zimmerman, ShimCacheParser, questo strumento) riproducono i log prima di leggere la hive — ma solo se li fornisci.
Poi analizza
Trascina la hive SYSTEM nello Shimcache Parser — gira interamente nel tuo browser, senza fase di upload, e gestisce tutte le versioni di Windows da XP a Windows 11. Per i dettagli del formato, vedi la referenza del formato binario Windows 10 / 11.
Approfondimenti
- Microsoft Learn — Registry hives — referenza ufficiale di file di hive e log di transazione.
- KAPE di Eric Zimmerman —
TargetseModulesper acquisizione sistematica. - Velociraptor
Windows.Registry.AppCompatCache— raccolta in memoria live. - Documentazione Volatility 3 — estrazione di hive dal lato memoria.