
Estrai automaticamente la cronologia forense dal dump di memoria volatile
Estrai automaticamente la timeline forense dai dump di memoria volatile.
AutoTimeliner esegue molteplici plugin di Volatility3 su immagini di memoria Windows, Linux e macOS, quindi unisce il loro output in un'unica timeline CSV ordinata:
| Plugin | Cosa cattura |
|---|---|
timeliner | Eventi timestamp cross-plugin (tutte le famiglie di SO quando supportati) |
| Plugin | Cosa cattura |
|---|---|
timeliner | Timestamp da processi, registro, handle, ecc. |
mftscan | Voci di file MFT trovate in memoria |
shellbags | Cronologia degli accessi alle cartelle utente dagli hive del registro |
| Plugin | Cosa cattura |
|---|---|
linux.pslist | Contesto della timeline di avvio/uscita dei processi |
linux.bash | Prove della cronologia dei comandi shell |
linux.lsof | Prove di file aperti dai processi |
| Plugin | Cosa cattura |
|---|---|
mac.pslist | Contesto della timeline di avvio/uscita dei processi |
mac.bash | Prove della cronologia dei comandi shell |
mac.lsof | Prove di file aperti dai processi |
| Plugin | Cosa cattura |
|---|---|
psscan | Processi attivi, terminati e nascosti con timestamp |
cmdline | Argomenti della riga di comando per ogni processo |
userassist | Prove di esecuzione del programma dal registro di Windows |
| Plugin | Cosa cattura |
|---|---|
netscan | Connessioni di rete con timestamp di creazione |
| Plugin | Cosa cattura |
|---|---|
malfind | Iniezione di codice e regioni di memoria sospette |
svcscan | Servizi Windows (utili per il rilevamento della persistenza) |
| Plugin | Cosa cattura |
|---|---|
dlllist | DLL caricate da ogni processo |
filescan | File aperti in memoria al momento dell'acquisizione |
AutoTimeliner identifica automaticamente la famiglia dell'immagine di memoria e abilita il set di plugin appropriato per Windows, Linux o macOS. Per un avvio più rapido puoi passare
--os-hintper saltare il rilevamento automatico.
git clone https://github.com/andreafortuna/autotimeliner.git
cd autotimeliner
poetry install
pip install .
autotimeliner -f IMAGEFILE [-t TIMEFRAME] [-o OUTPUT] [options]
Estrai una timeline completa da una singola immagine:
autotimeliner -f TargetServer.raw
Filtra su una finestra temporale specifica:
autotimeliner -f TargetServer.raw -t 2023-10-17..2023-10-21
Elabora tutti i file .raw in una directory, specificando il percorso di output:
autotimeliner -f './*.raw' -o /evidence/timeline.csv
Accelera l'avvio quando già conosci il SO del dump:
autotimeliner -f TargetServer.raw --os-hint windows
Usa gli alias di macOS per comodità:
autotimeliner -f MacbookCapture.mem --os-hint darwin
Esegui solo timeliner e shellbags (salta la scansione MFT):
autotimeliner -f TargetServer.raw --skip-mftscan
Scansione forense completa (set di plugin Windows + plugin estesi opzionali):
autotimeliner -f TargetServer.raw --with-dlllist --with-filescan --with-handles --with-envars
Scansione rapida focalizzata su malware:
autotimeliner -f TargetServer.raw --skip-timeliner --skip-mftscan --skip-shellbags
Raccolta timeline focalizzata su Linux (abilita automaticamente i plugin Linux):
autotimeliner -f UbuntuWorkstation.mem
Raccolta timeline focalizzata su macOS (abilita automaticamente i plugin macOS):
autotimeliner -f MacbookCapture.mem
Il CSV di output ha le seguenti colonne:
AutoTimeliner include diverse ottimizzazioni per ridurre il tempo di identificazione:
--os-hint bypassa completamente il probing automatico del SO.linux, ubuntu, macos).path + size + mtime).File di cache:
~/.cache/autotimeliner/volatility3/.autotimeliner_profile_cache.json
Durante il rilevamento, i log includono messaggi di progresso del probing e risultati come:
OS probe attempt: family=windows plugin=windows.info.Info
OS probe returned no rows: windows.info.Info
Memory image identification succeeded: os=linux profile=linux:... probe=linux.banners.Banners
Vedi docs/migration.md per un confronto completo.
Modifiche principali:
-p / --customprofile è deprecato — viene ignorato silenziosamente.mftparser → mftscan — stessi dati, nuovo nome del plugin.mactime ora è opzionale — usa --use-mactime per il vecchio flusso di lavoro con file body.poetry install
poetry run pytest
MIT — vedi LICENSE.
Andrea Fortuna — [email protected] — andreafortuna.org
handles | Handle aperti (file, chiavi di registro, mutex) |
envars | Variabili d'ambiente per i processi |
| Dipendenza | Versione | Note |
|---|
| Python | ≥ 3.9 | |
| Volatility3 | ≥ 2.5 | installato automaticamente tramite Poetry/pip |
| jsonschema | ≥ 4.0 | abilita la convalida dello schema di Volatility3 ed evita l'avviso Dependency for validation unavailable: jsonschema |
| mactime | qualsiasi | opzionale — necessario solo per la modalità legacy --use-mactime |
| Flag | Descrizione |
|---|
-f, --imagefile | File di dump di memoria o glob (es. '*.raw') |
-t, --timeframe | Filtra su intervallo YYYY-MM-DD..YYYY-MM-DD |
-o, --output | Percorso CSV di output (default: <imagefile>-timeline.csv) |
--os-hint | Forza la famiglia di SO dell'immagine (windows, linux, mac; alias: win, macos, darwin) e salta l'auto-identificazione |
--skip-timeliner | Salta il plugin timeliner |
--skip-mftscan | Salta il plugin mftscan |
--skip-shellbags | Salta il plugin shellbags |
--skip-psscan | Salta la scansione dei processi |
--skip-cmdline | Salta l'estrazione della riga di comando |
--skip-netscan | Salta la scansione delle connessioni di rete |
--skip-userassist | Salta le prove di esecuzione dei programmi |
--skip-svcscan | Salta la scansione dei servizi Windows |
--skip-malfind | Salta il rilevamento di malware/iniezioni |
--with-dlllist | Abilita l'analisi delle DLL (lenta) |
--with-filescan | Abilita la scansione dei file aperti (molti record) |
--with-handles | Abilita la scansione degli handle (molti record) |
--with-envars | Abilita l'estrazione delle variabili d'ambiente |
--use-mactime | Modalità legacy: usa il binario esterno mactime |
-v, --verbose | Abilita il logging di debug |
--version | Stampa la versione ed esci |
| Colonna | Descrizione |
|---|
Timestamp (UTC) | Timestamp UTC ISO 8601 |
Source | Plugin che ha prodotto il record |
Description | Nome file, percorso, processo o chiave di registro |
Detail | Tipo di timestamp, utente o contesto aggiuntivo |
Inode | Numero inode MFT (dove applicabile) |
UID / GID | Identificatori utente/gruppo |
Size | Dimensione del file in byte |
Mode | Stringa della modalità del file |