Oggi giorno, l’elemento digitale è diventato un fattore cruciale nelle indagini forensi. Ogni attività compiuta sui dispositivi digitali può lasciare tracce preziose, fornendo un’ampia gamma di informazioni agli investigatori.
Per estrarre queste informazioni è necessario utilizzare strumenti forensi affidabili. Tra le diverse suite di tool disponibili, quella sviluppata da Eric Zimmerman offre una serie di strumenti potenti e versatili. In questo articolo, ci concentreremo su un tool in particolare: PECmd che consente di analizzare i file di precaricamento di Windows per avere informazioni utili sui programmi eseguiti.
Indice
Cosa sono i file di prefetch di Windows?
A partire da Windows XP, Microsoft ha introdotto il prefetch, una funzionalità progettata per ottimizzare le prestazioni del sistema riducendo i tempi di attesa durante l’avvio delle applicazioni. Il prefetch funziona anticipando e memorizzando in modo intelligente i dati necessari per l’avvio delle applicazioni più frequentemente utilizzate, consentendoci un accesso più rapido.
Perché l’analisi del prefetch è importante per le indagini forensi?
Nei processi investigativi, l’analisi dei file di prefetch può rivelarsi fondamentale per:
- Tracciare le attività degli utenti: I file di prefetch contengono una cronologia dettagliata delle applicazioni eseguite, consentendo di ricostruire le azioni degli utenti.
- Identificare attacchi informatici: Gli aggressori spesso sfruttano file dannosi per compiere azioni malevole volte a raccogliere dati sensibili o compromettere l’integrità del sistema. In tali scenari, le applicazioni utilizzate lasciano tracce nei file di prefetch, che possono essere analizzate per identificare le azioni degli aggressori e mappare le attività criminose.
- Stabilire una sequenza temporale: L’analisi del prefetch fornisce dettagli temporali cruciali, inclusi l’ora di creazione e l’ultimo accesso, che consentono di correlare le attività sospette sul sistema della vittima, contribuendo così a un’investigazione forense completa.
PECmd: Estrazione di informazioni dai file di prefetch
PECmd è uno strumento CLI, open source utilizzato per estrarre informazioni dai file di prefetch di Windows (richiede l’installazione di .NET Framework 4.5 o successivo). Questi file contengono metadati cruciali sulle applicazioni recentemente eseguite, come percorsi dei file, conteggi di esecuzione e timestamp. Tali dati come si è detto in precedenza sono fondamentali per comprendere l’attività dell’utente su un sistema e sono preziosi nelle indagini forensi.
Esempio di utilizzo di PECmd
In questo esempio, analizzeremo il file Prefetch della nostra app Calcolatrice per scoprire quando è stato l’ultimo utilizzo e quante volte abbiamo utilizzato l’applicazione.
- Scarichiamo PECmd da qui
- Estraiamo il contenuto del file scaricato in una nuova cartella sul desktop, creiamo una nuova cartella chiamata “PECmd”.
- Apririamo il prompt dei comandi con privilegi di amministratore:
- All’interno del prompt dei comandi, spostiamoci nella directory contenente il file eseguibile (.EXE), utilizziamo il seguente comando:
cd C:\Users\%username%\Desktop\PECmd
Sostituiamo “%username%” con il nostro nome utente.
- Una volta raggiunta la directory, possiamo lanciare il nostro eseguibile digitando il nome del file (PECmd.exe) e premendo Invio.
PECmd.exe
Se tutto è andato a buon fine ci troveremo davanti a questa schermata:
user@machine$ PECmd.exe PECmd version 1.5.0.0 Author: Eric Zimmerman ([email protected]) https://github.com/EricZimmerman/PECmd d Directory to recursively process. Either this or -f is required f File to process. Either this or -d is required k Comma separated list of keywords to highlight in output. By default, 'temp' and 'tmp' are highlighted. Any additional keywords will be added to these. o When specified, save prefetch file bytes to the given path. Useful to look at decompressed Win10 files q Do not dump full details about each file processed. Speeds up processing when using --json or --csv. Default is FALSE json Directory to save json representation to. jsonf File name to save JSON formatted results to. When present, overrides default name csv Directory to save CSV results to. Be sure to include the full path in double quotes csvf File name to save CSV formatted results to. When present, overrides default name html Directory to save xhtml formatted results to. Be sure to include the full path in double quotes dt The custom date/time format to use when displaying timestamps. See https://goo.gl/CNVq0k for options. Default is: yyyy-MM-dd HH:mm:ss mp When true, display higher precision for timestamps. Default is FALSE vss Process all Volume Shadow Copies that exist on drive specified by -f or -d . Default is FALSE dedupe Deduplicate -f or -d & VSCs based on SHA-1. First file found wins. Default is TRUE debug Show debug information during processing trace Show trace information during processing Examples: PECmd.exe -f "C:\Temp\CALC.EXE-3FBEF7FD.pf" PECmd.exe -f "C:\Temp\CALC.EXE-3FBEF7FD.pf" --json "D:\jsonOutput" --jsonpretty PECmd.exe -d "C:\Temp" -k "system32, fonts" PECmd.exe -d "C:\Temp" --csv "c:\temp" --csvf foo.csv --json c:\temp\json PECmd.exe -d "C:\Windows\Prefetch" Short options (single letter) are prefixed with a single dash. Long commands are prefixed with two dashes Either -f or -d is required. Exiting
Importante: Prima di iniziare l’analisi, è importante sapere che i file Prefetch sono archiviati nella cartella predefinita: C:\Windows\prefetch.
Inoltre, è possibile notare che il nome del file è seguito da un numero casuale, che rappresenta l’hash generato dal prefetch e utilizzato per determinare il percorso da cui è stato eseguito il file. A seconda della versione di Windows, viene impiegata una diversa funzione di hashing.
NOTA: la prelettura è abilitata per impostazione predefinita sulle workstation Windows e non sui server Windows
Inoltre, il numero massimo di file di precaricamento che possono essere archiviati da Windows XP a Windows 7 =128 e da Windows 8 a Windows 10=1024.
Fatta questo ulteriore chiarimento , proseguiamo con la nostra guida
- Lanciamo il comando per l’analisi del nostro file prefetch, per farlo possiamo utilizzare il seguente comando:
PECmd.exe -f <path-to-Prefetch-files> --csv <path-to-save-csv>
Come osservato sopra, otteniamo numerosi dettagli sul file specifico, incluso un conteggio di 7 esecuzioni e informazioni su l’ultima esecuzione dalla nostra app
Allo stesso modo, per analizzare un’intera directory, possiamo usare il seguente comando:
<code>PECmd.exe -d <path-to-Prefetch-directory> --csv <path-to-save-csv></code>