Il prefetch #
Il prefetch è un sistema pensato per aumentare la velocità con cui un programma si avvia, e tutto questo è possibile perché ad ogni avvio di un eseguibile, un file prefetch .pf
viene salvato nella cartella C:\Windows\Prefetch
con il nome composto dal nome dell’eseguibile, seguito da una serie di 8 cifre esadecimali. Questi due blocchi sono separati da un “-”. All’interno di questo file, vengono immagazzinate le seguenti informazioni:
- Il nome dell’eseguibile;
- La hash del programma (che sarebbero le 8 cifre esadecimali);
- Le dimensioni del programma originale;
- La versione/i di Windows supportata dal programma;
- Il numero di volte che è stato eseguito (in generale, non nella sessione del pc);
- L’ultima esecuzione (formato
yyyy-mm-dd hh:mm:ss
); - Fino a 7 altre ultime date di esecuzione (formato
yyyy-mm-dd hh:mm:ss
); - Il nome del volume dove il programma era localizzato durante l’ultimo avvio;
- Il numero seriale del volume;
- La data di creazione del volume;
- La lista di cartelle aperte dal programma;
- La lista di file (risorse) caricate dal programma.
Queste informazioni aiutano i membri dello staff ad avere una sequenza temporale abbastanza accurata dei programmi che sono stati avviati. Tramite strumenti come WinPrefetchView, possiamo analizzare in modo accurato i file presenti nella cartella prefetch, selezionarli e vedere ulteriori caratteristiche. Se invece dobbiamo analizzare in modo ancora più avanzato il prefetch, possiamo usare tool come PECmd, che ci permette di vedere ogni informazione di un file prefetch o di un insieme. A volte si possono riscontrare errori nell’analisi di questi artifatti.
Nel caso l’utente abbia disabilitato il prefetch, bisogna controllare la seguente chiave di registro, che è responsabile per lo stato di attività del prefetch:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
Il servizio che si occupa della gestione del prefetch è il sysmain. La persona sotto controllo potrebbe aver arrestato il servizio. Per controllare lo stato del servizio:
sc query sysmain
Situazioni particolari #
-
La persona controllata potrebbe giocare uno scherzo con i permessi. Bisogna controllare sempre i permessi della cartella, e che permettano la scrittura di file al suo interno. In caso contrario la persona potrebbe usare un noto metodo bypass, il “cacls” (più informazioni nella parte pratica);
-
Il giocatore potrebbe modificare la visibilità di un singolo file prefetch, per non dare nell’occhio. In questo caso bisogna controllare che non ci siano file nascosti, con il comando
dir /ah
, mostrando ogni file indipendentemente dalle impostazioni di visualizzazione.