
I file di prefetch, o file di Prefetch, sono stati introdotti in Windows già ai tempi di XP. Da allora, hanno aiutato gli esperti di criminalistica digitale e risposta agli incidenti informatici a trovare tracce di avvio delle applicazioni, comprese quelle dannose. L'esperto di criminalistica informatica di Group-IB Oleg Skulkin spiega cosa si può trovare grazie ai file di Prefetch e come farlo.
I file di Prefetch sono archiviati nella cartella %SystemRoot%Prefetch e servono ad accelerare il processo di avvio delle applicazioni. Se guardiamo uno di questi file, possiamo notare che il suo nome è composto da due parti: il nome del file eseguibile e un checksum del percorso, formato da otto caratteri.
I file di Prefetch contengono una quantità notevole di informazioni utili dal punto di vista forense: il nome del file eseguibile, il numero di avvii, l'elenco dei file e delle cartelle con cui il file eseguibile ha interagito, e ovviamente, i timestamp. Di solito, i criminalisti utilizzano la data di creazione di un file di Prefetch per determinare la data del primo avvio dell'applicazione. Inoltre, questi file memorizzano anche la data dell'ultimo avvio e, a partire dalla versione 26 (Windows 8.1), i timestamp dei sette ultimi avvii.
Prendiamo uno dei file di Prefetch, estraiamo i dati tramite PECmd di Eric Zimmermann e guardiamo ciascuna delle loro parti. Per la dimostrazione, estrarrò i dati dal file CCLEANER64.EXE-DE05DBE1.pf.
Iniziamo dalla parte superiore. Naturalmente, abbiamo i timestamp di creazione, modifica e accesso al file:

Seguono il nome del file eseguibile, il checksum del percorso, la dimensione del file eseguibile, così come la versione del file di Prefetch:

Poiché abbiamo a che fare con Windows 10, successivamente vedremo il numero di avvii, la data e l'ora dell'ultimo avvio e altri sette timestamp che indicano le date di avvio precedenti:

Poi ci sono informazioni sul volume, incluso il numero di serie e la data di creazione:
![]()
Ultimo, ma non meno importante, c'è l'elenco delle cartelle e dei file con cui il file eseguibile ha interagito:

Quindi, i cataloghi e i file con cui interagiva il file eseguibile sono proprio ciò su cui voglio concentrarmi oggi. Questi dati consentono agli specialisti di digital forensics, gestione degli incidenti informatici o ricerca proattiva delle minacce di stabilire non solo il fatto che un certo file sia stato eseguito, ma anche, in alcuni casi, di ricostruire le specifiche tattiche e tecniche degli aggressori. Oggi, i criminali informatici utilizzano spesso strumenti per l'eliminazione definitiva dei dati, come SDelete, quindi la capacità di recuperare almeno tracce dell'uso di specifiche tattiche e tecniche è assolutamente necessaria per qualsiasi moderno difensore: un esperto di digital forensics, un professionista della gestione degli incidenti, un esperto ThreatHunter.
Iniziamo con la tattica Accesso Iniziale (TA0001) e la tecnica più popolare — Spearphishing Attachment (T1193). Alcuni gruppi di criminalità informatica sono piuttosto creativi nella scelta di tali allegati. Ad esempio, il gruppo Silence ha utilizzato file in formato CHM (Microsoft Compiled HTML Help). Così ci troviamo di fronte a un'altra tecnica — Compiled HTML File (T1223). Questi file vengono eseguiti tramite hh.exe, quindi, se estraiamo i dati dal suo file Prefetch, scopriremo quale file specifico è stato aperto dalla vittima:

Continuiamo a lavorare con esempi da casi reali e passiamo alla prossima tattica Esecuzione (TA0002) e tecnica CSMTP (T1191). Microsoft Connection Manager Profile Installer (CMSTP.exe) può essere utilizzato dagli aggressori per eseguire script dannosi. Un buon esempio è il gruppo Cobalt. Se estraiamo i dati dal file Prefetch cmstp.exe, scopriremo di nuovo cosa è stato eseguito:

Un'altra tecnica popolare è Regsvr32 (T1117). Regsvr32.exe viene anche utilizzato frequentemente dagli aggressori per eseguire. Ecco un altro esempio dal gruppo Cobalt: se estraiamo i dati dal file Prefetch regsvr32.exe, vedremo di nuovo cosa è stato eseguito:

Le prossime tattiche sono Persistenza (TA0003) e Elevazione di Privilegi (TA0004), oltre a Application Shimming (T1138) come tecnica. Questa tecnica è stata utilizzata da Carbanak/FIN7 per stabilirsi nel sistema. Di solito, si utilizza sdbinst.exeper lavorare con i database di informazioni sulla compatibilità delle applicazioni (.sdb). Pertanto, il file Prefetch di questo file eseguibile può aiutarci a conoscere i nomi di tali database e la loro posizione:

Come si può vedere nell'illustrazione, abbiamo non solo il nome del file utilizzato per l'installazione, ma anche il nome del database installato.
Diamo un'occhiata a uno degli esempi più tipici di promozione in rete (TA0008) — PsExec, che usa risorse condivise amministrative (T1077). Un servizio chiamato PSEXECSVC (naturalmente, può essere utilizzato anche qualsiasi altro nome, se gli attaccanti hanno usato il parametro -r) sarà creato sul sistema target, quindi se estraiamo i dati dal file Prefetch, vedremo che è stato eseguito:

Concluderò, direi, con ciò da cui ho iniziato — la cancellazione dei file (T1107). Come ho già notato, molti attaccanti usano SDelete per la cancellazione permanente dei file in diverse fasi del ciclo di vita dell'attacco. Se diamo un'occhiata ai dati dal file Prefetch sdelete.exe, vedremo esattamente cosa è stato eliminato:

Naturalmente, questa non è una lista esaustiva delle tecniche che possono essere scoperte analizzando i file Prefetch, ma dovrebbe essere più che sufficiente per capire che tali file possono aiutare non solo a trovare tracce di esecuzione, ma anche a ricostruire specifiche tattiche e tecniche degli attaccanti.
Fonte: habr.com
