Analisi forense delle esfiltrazioni di dati: ShellBags, Jump Lists, LNK, USB e altri artefatti Windows
Quando si sospetta che documenti aziendali, archivi riservati o altre informazioni siano stati copiati all'esterno di un computer, l'obiettivo dell'analista forense non è semplicemente verificare se un determinato file fosse presente sul sistema.
Occorre cercare di ricostruire una sequenza molto più complessa: quali dati sono stati individuati, quando sono stati aperti, se sono stati raccolti o compressi, quale destinazione è stata utilizzata e se esistono elementi compatibili con un effettivo trasferimento all'esterno.
È il tipico scenario delle indagini relative a:
- sottrazione di documentazione aziendale;
- appropriazione di database clienti;
- copie di progetti e proprietà intellettuale;
- trasferimenti verso supporti USB;
- upload verso servizi cloud;
- invio mediante posta elettronica o servizi di messaggistica;
- trasferimenti verso share di rete o sistemi esterni;
- attività di insider threat.
Windows conserva numerosi artefatti che, opportunamente correlati, possono permettere di ricostruire questa attività anche quando i file originali sono stati successivamente cancellati o il supporto utilizzato per la copia non è più disponibile.
La prima regola: nessun singolo artefatto dimostra da solo l'esfiltrazione
Questo è il principio più importante dell'intera analisi.
Trovare una chiavetta USB collegata al computer non dimostra che su quella chiavetta siano stati copiati documenti.
Allo stesso modo:
- una ShellBag dimostra normalmente la navigazione verso una cartella, non la copia del suo contenuto;
- una Jump List può documentare l'accesso a un file, non necessariamente la sua esportazione;
- un file LNK può dimostrare che un file è stato aperto da una certa posizione;
- Prefetch può documentare l'esecuzione di un programma, non necessariamente ciò che il programma ha fatto;
- SRUM può indicare traffico di rete significativo, ma non identifica automaticamente quali file siano stati trasferiti.
L'obiettivo è costruire una catena temporale di artefatti indipendenti che descriva in modo coerente le attività dell'utente.
Le fasi tipiche di una possibile esfiltrazione
Dal punto di vista investigativo può essere utile suddividere l'evento in alcune fasi logiche:
- individuazione dei dati;
- accesso ai file o alle cartelle;
- eventuale preparazione o staging;
- identificazione del canale di uscita;
- trasferimento;
- eventuale cancellazione o attività anti-forense;
- riscontro con fonti esterne.
Ogni fase può lasciare tracce differenti.
ShellBags: quali cartelle ha visitato l'utente?
Le ShellBags sono artefatti del registro di Windows che permettono di ricostruire parte della navigazione effettuata dall'utente attraverso Windows Explorer.
Sono particolarmente interessanti perché possono conservare riferimenti a cartelle che non esistono più e anche a directory presenti su supporti rimovibili o condivisioni di rete.
Dal punto di vista investigativo possono rispondere a domande come:
- l'utente ha aperto una determinata cartella?
- ha esplorato un supporto USB?
- ha navigato all'interno di una share di rete?
- esistono tracce di directory non più presenti nel sistema?
Le ShellBags sono tipicamente ricercate
nel profilo dell'utente e in particolare nel file
UsrClass.dat,
attraverso le strutture BagMRU e Bags.
una ShellBag relativa a una directory dimostra essenzialmente che quella posizione è stata gestita dalla shell di Windows.
Non dimostra automaticamente che tutti i file contenuti nella cartella siano stati copiati.
LNK: le scorciatoie che sopravvivono ai file
I file .lnk sono tra gli artefatti
più utili per ricostruire l'interazione dell'utente con i file.
Windows può crearli automaticamente quando un documento viene aperto.
Un file LNK può contenere informazioni quali:
- percorso del file originario;
- nome del file;
- dimensione;
- timestamp del target;
- volume sul quale il file era memorizzato;
- seriale del volume;
- volume label;
- informazioni relative al sistema remoto, quando presenti.
Questo diventa particolarmente interessante quando il file originale non è più presente.
Ad esempio, un LNK potrebbe dimostrare che il file:
E:\CLIENTI\database_clienti.xlsx
è stato aperto da un volume rimovibile anche se la chiavetta USB non è stata sequestrata.
Jump Lists: quali file sono stati utilizzati e con quale applicazione?
Le Jump Lists, introdotte nelle versioni moderne di Windows, mantengono informazioni relative ai file recentemente utilizzati dalle applicazioni.
Sono particolarmente importanti perché possono mettere in relazione:
- utente;
- applicazione;
- file;
- percorso;
- volume di provenienza;
- timestamp;
- frequenza di utilizzo.
Un elemento molto interessante è la possibilità di trovare riferimenti a file presenti su:
- dischi locali;
- chiavette USB;
- dischi esterni;
- share di rete;
- altre destinazioni non più collegate al computer.
ShellBags e Jump Lists non rispondono alla stessa domanda
| Artefatto | Domanda principale |
|---|---|
| ShellBags | Quali cartelle ha esplorato l'utente? |
| LNK | Da quale posizione è stato aperto un determinato file? |
| Jump Lists | Quale applicazione ha utilizzato quali file? |
USBSTOR: quali dispositivi USB sono stati collegati?
Quando l'ipotesi investigativa riguarda una copia verso supporto rimovibile, l'analisi del registro di Windows diventa fondamentale.
Le informazioni presenti nelle strutture USB possono permettere di identificare:
- produttore del dispositivo;
- modello;
- numero seriale;
- istanze del dispositivo;
- periodi di connessione;
- associazione con il sistema analizzato.
Una delle sorgenti più note è:
SYSTEM\CurrentControlSet\Enum\USBSTOR
MountedDevices e drive letter
Sapere che una chiavetta è stata collegata non è sempre sufficiente.
Può essere necessario stabilire con quale lettera di unità sia stata montata.
Le informazioni presenti in MountedDevices
possono essere correlate con:
- volume serial number;
- lettera dell'unità;
- LNK;
- Jump Lists;
- ShellBags.
Questa correlazione può essere estremamente potente.
Ad esempio:
USB Serial: ABC123456
Volume: KINGSTON
Drive Letter: E:
Jump List:
E:\CLIENTI\database_clienti.xlsx
LNK:
E:\PROGETTI\progetto_riservato.pdf
La presenza convergente di questi elementi consente di collegare determinati file a uno specifico volume rimovibile.
SetupAPI: quando è stato visto per la prima volta il dispositivo?
Un'altra sorgente utile è il file:
C:\Windows\INF\setupapi.dev.log
Questo log documenta l'installazione dei dispositivi Plug and Play.
Può quindi essere particolarmente utile per determinare quando un determinato dispositivo USB è stato riconosciuto per la prima volta dal sistema.
MFT e USN Journal
Per capire che cosa è successo ai file è fondamentale esaminare anche il filesystem NTFS.
La $MFT può contenere informazioni sui file e sulle directory presenti nel volume.
Lo $UsnJrnl registra numerose modifiche avvenute nel filesystem.
Questi artefatti possono aiutare a ricostruire:
- creazione di nuovi file;
- rinomina;
- spostamento;
- cancellazione;
- creazione di archivi;
- attività concentrata su grandi quantità di documenti.
La fase di staging
In molte esfiltrazioni i file non vengono trasferiti singolarmente.
L'utente può prima raccoglierli in una cartella temporanea oppure creare un archivio:
C:\Users\utente\Desktop\documenti.zip
oppure:
C:\Temp\backup.zip
Il ritrovamento di un archivio non significa automaticamente che sia stato esfiltrato, ma può documentare una fase preparatoria.
Prefetch: quali programmi sono stati eseguiti?
I file Prefetch possono aiutare a dimostrare l'esecuzione di determinati programmi.
In un'indagine di esfiltrazione possono risultare interessanti esecuzioni di:
- 7-Zip;
- WinRAR;
- PowerShell;
- robocopy;
- rclone;
- client FTP;
- client cloud;
- utility di sincronizzazione;
- programmi di cifratura.
Ancora una volta: l'esecuzione del programma non dimostra automaticamente che sia stato utilizzato per esfiltrare i dati.
Diventa però estremamente interessante se l'esecuzione coincide temporalmente con altri artefatti.
Amcache e altri artefatti di esecuzione
Amcache, BAM/DAM, ShimCache e altri artefatti possono contribuire a documentare la presenza o l'esecuzione di applicazioni.
Questi elementi possono essere utili soprattutto quando si sospetta l'utilizzo di software specificamente impiegato per:
- compressione;
- sincronizzazione;
- upload;
- trasferimento remoto;
- copia massiva.
SRUM: quanta rete ha utilizzato un'applicazione?
Lo System Resource Usage Monitor,
conservato nel database SRUDB.dat,
può fornire informazioni relative
all'utilizzo delle risorse da parte delle applicazioni.
Dal punto di vista delle esfiltrazioni è particolarmente interessante la componente relativa all'attività di rete.
Può permettere di osservare, in determinate condizioni:
- applicazione;
- utente;
- interfaccia di rete;
- byte inviati;
- byte ricevuti;
- periodi temporali di utilizzo.
Immaginiamo di rilevare:
09:24 creazione documenti.zip
09:28 esecuzione client cloud
09:00-10:00 4,8 GB trasmessi dal client cloud
Il dato SRUM da solo non dimostra
che quei 4,8 GB corrispondano a documenti.zip.
La coincidenza temporale costituisce però un elemento investigativo importante.
Browser e servizi cloud
Quando l'esfiltrazione potrebbe essere avvenuta attraverso il web, devono essere analizzati anche gli artefatti del browser.
Possono risultare rilevanti:
- cronologia;
- download;
- upload quando documentabili;
- cache;
- URL;
- cookie;
- sessioni;
- accessi a Google Drive, Dropbox, OneDrive o altri servizi;
- webmail;
- servizi di file sharing.
OneDrive, Dropbox e client di sincronizzazione
Quando viene utilizzato un client cloud locale, l'analisi non dovrebbe limitarsi alla cronologia del browser.
Possono esistere:
- database locali;
- log;
- file di configurazione;
- cartelle sincronizzate;
- artefatti di esecuzione;
- cache;
- informazioni sugli account configurati.
L'obiettivo è capire se un determinato insieme di file sia stato inserito in una cartella sincronizzata oppure gestito dal client.
Email e webmail
L'esfiltrazione può avvenire anche mediante allegati di posta elettronica.
L'analisi può comprendere:
- client Outlook o altri programmi;
- file PST/OST;
- messaggi inviati;
- allegati;
- browser;
- webmail;
- cache;
- eventuali log aziendali del mail server.
Share di rete
Non tutte le esfiltrazioni portano immediatamente i dati fuori dall'infrastruttura.
I documenti potrebbero essere stati prima trasferiti verso:
- NAS;
- server;
- share SMB;
- computer di un altro utente.
In questi casi LNK, Jump Lists, ShellBags e log di rete possono contribuire a ricostruire l'attività.
Remote Desktop e strumenti di accesso remoto
Anche strumenti di accesso remoto possono essere rilevanti.
A seconda dello scenario può essere necessario analizzare:
- RDP;
- AnyDesk;
- TeamViewer;
- RustDesk;
- VPN;
- SSH;
- altri strumenti di amministrazione remota.
È però necessario distinguere la semplice presenza del software dall'effettivo utilizzo nel periodo di interesse.
Event Logs
I Windows Event Logs possono fornire ulteriori informazioni di contesto:
- logon e logoff;
- connessioni;
- installazione di dispositivi;
- esecuzione di servizi;
- PowerShell;
- attività di sicurezza;
- eventuali connessioni remote.
La timeline è il cuore dell'analisi
Una corretta indagine sull'esfiltrazione non dovrebbe procedere per compartimenti separati.
Gli artefatti devono essere riportati su una timeline comune.
Un esempio pratico
Supponiamo che un dipendente lasci l'azienda e che successivamente emerga il sospetto che abbia portato con sé alcuni documenti riservati.
Dall'analisi vengono rilevati:
09:12 ShellBag: apertura cartella \ProgettiRiservati
09:16 Jump Lists: apertura di diversi file DOCX e XLSX
09:21 Prefetch: esecuzione 7z.exe
09:24 $MFT / USN: creazione C:\Temp\Progetti.zip
09:27 USBSTOR: collegamento dispositivo seriale ABC123
09:27 MountedDevices: dispositivo assegnato a E:
09:29 LNK: E:\Progetti.zip
09:34 USB disconnessa
09:37 $USNJrnl: cancellazione C:\Temp\Progetti.zip
Nessuno di questi elementi, preso singolarmente, dimostra necessariamente un'esfiltrazione.
Considerati insieme, descrivono però una sequenza tecnicamente molto significativa:
- viene esplorata la directory contenente i dati;
- vengono aperti alcuni documenti;
- viene eseguito un programma di compressione;
- viene creato un archivio;
- viene collegata una chiavetta USB;
- un artefatto documenta il file sul volume rimovibile;
- l'archivio locale viene successivamente cancellato.
La differenza tra “compatibile con la copia” e “prova della copia”
Nella relazione tecnica è importante utilizzare una terminologia proporzionata alla forza degli artefatti.
Una formulazione prudente può essere:
Se invece esiste una prova diretta, ad esempio il supporto USB è stato sequestrato e contiene gli stessi file, la conclusione può essere molto più forte.
Il riscontro sul dispositivo di destinazione
La situazione ideale consiste nel disporre anche del supporto o dell'account verso cui i dati sarebbero stati trasferiti.
In questo caso possono essere confrontati:
- nomi dei file;
- dimensioni;
- hash;
- timestamp;
- struttura delle directory;
- metadati;
- contenuto.
La corrispondenza dell'hash tra file sorgente e file presente sul dispositivo di destinazione rappresenta un riscontro particolarmente forte.
Attenzione ai timestamp
Come sempre nell'informatica forense, la costruzione della timeline richiede una corretta interpretazione dei timestamp.
Devono essere verificati:
- UTC e ora locale;
- fuso orario;
- ora legale;
- FILETIME Windows;
- timestamp NTFS;
- timestamp generati dalle applicazioni;
- eventuali discrepanze dell'orologio del sistema.
Non limitarsi al computer locale
Un'indagine completa dovrebbe, quando disponibili e legittimamente acquisibili, confrontare anche fonti esterne.
Tra queste:
- proxy aziendali;
- firewall;
- VPN;
- EDR;
- DLP;
- server di posta;
- log Microsoft 365;
- log Google Workspace;
- cloud aziendale;
- NAS;
- Active Directory;
- sistemi SIEM.
Queste fonti possono trasformare una ricostruzione basata su indizi locali in un quadro molto più completo.
Una checklist operativa
Individuare la finestra temporale di interesse.
Stabilire quali documenti potrebbero essere stati sottratti.
Ricostruire le cartelle visitate.
Individuare file aperti, path e volumi.
Ricostruire dispositivi, seriali e drive letter.
Individuare staging, ZIP, rinomine e cancellazioni.
Verificare Prefetch, Amcache e software utilizzati.
Analizzare SRUM e log di rete disponibili.
Verificare upload, sincronizzazioni e servizi web.
Correlare tutti gli eventi su una scala temporale comune.
Acquisire, se disponibile, il supporto o account ricevente.
Confrontare EDR, firewall, proxy, server e altri log.
Come formulare correttamente la conclusione
In una relazione tecnica è opportuno separare sempre:
- dato osservato;
- interpretazione tecnica;
- conclusione investigativa.
Ad esempio:
alle ore 09:27 risulta collegato al sistema il dispositivo USB identificato dal numero seriale ABC123.
Dato osservato:
successivamente viene rilevato un file LNK riferito al percorso
E:\Progetti.zip.
Interpretazione tecnica:
gli artefatti risultano compatibili con la presenza del file
Progetti.zip sul volume rimovibile
associato alla lettera E:.
Conclusione:
la sequenza deve essere valutata congiuntamente agli ulteriori artefatti relativi alla creazione dell'archivio e all'identificazione del dispositivo USB.
In sintesi
L'analisi di una possibile esfiltrazione di dati è una delle attività più complesse dell'informatica forense Windows, perché raramente esiste un singolo artefatto capace di documentare l'intera operazione.
ShellBags, Jump Lists, LNK, USBSTOR, MountedDevices, MFT, USN Journal, Prefetch, Amcache, SRUM, browser, cloud e log di rete rispondono a domande differenti.
Il compito dell'analista consiste nel trasformare questi elementi in una timeline coerente e verificabile.
ShellBags possono indicare dove l'utente ha navigato.
LNK e Jump Lists quali file ha utilizzato e da quale volume.
USB artifacts quale dispositivo era collegato.
MFT e USN Journal che cosa è successo ai file.
Prefetch e Amcache quali programmi sono stati utilizzati.
SRUM e i log di rete possono documentare l'attività di trasferimento.
Ma è la convergenza temporale di questi artefatti a consentire di ricostruire in modo tecnicamente solido una possibile esfiltrazione di dati.
