Guida verificata con Ubuntu: 20.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Foremost è uno strumento da riga di comando per il recupero dei file. La tecnica utilizzata è il data carving, che utilizza le tracce degli header, dei footers e della struttura interna dei dati stessi, senza considerare i metadati del filesystem.
Foremost può operare sia su file immagine, sia su supporti fisici quali unità flash, hard disk, schede di memoria ecc. Supporta diversi tipi di filesystem (Fat16/32, Ext3/4, NTFS ecc.) e moltissimi formati di file (.jpg, .png, .zip, .avi, .pdf, .doc, .exe, ecc.).

Sviluppato originariamente da enti governativi statunitensi quali l'Ufficio Investigazioni speciali della United States Air Force e il CISR (Center for Information Systems Security Studies and Research), è stato successivamente reso di pubblico dominio.

Per evitare sovrascritture accidentali di dati, si raccomanda di eseguire il programma su un file immagine di backup a basso livello (a tal fine è possibile usare lo strumento dd), anziché operare direttamente sul supporto di memoria dal quale si vogliono recuperare i file.

Installazione

Installare il pacchetto foremost.

Utilizzo

Durante l'estrazione dei dati, il programma esegue di default le seguenti azioni:

Utilizzo di base

Supponendo di voler cercare dei file eliminati in una partizione /dev/sdb1, digitare nel terminale il seguente comando:

sudo foremost -i /dev/sdb1

Ricerca da file immagine

Per il recupero da file di immagine è sufficiente sostituire nel comando il nome del disco o partizione (ad esempio /dev/sda) con il nome stesso del file (ad esempio backup.dd).

Ricerca di file specifici

Per cercare soltanto determinati tipi di file è inoltre possibile usare l'opzione -t, con i formati di file separati da una virgola. Ad esempio per cercare in una partizione /dev/sdb1 soltanto file .doc e .pdf, digitare nel terminale il seguente comando:

sudo foremost -t doc,pdf -i /dev/sdb1

È possibile inoltre usare l'opzione -t all per il recupero di tutti i tipi di file conosciuti.

Scelta della cartella di salvataggio

Per evitare sovrascritture accidentali, con consequente impossibilità di recupero dei file, si raccomanda di non impostare la destinazione di salvataggio nello stesso disco e/o partizione in cui sono presenti i file da recuperare.

Per specificare una determinata cartella di salvataggio (diversa da output, ad esempio denominata dati) è possibile usare l'opzione -o, come nel seguente esempio:

sudo foremost -i /dev/sdb1 -o /home/utente/dati

Qualora la cartella di destinazione non esistesse il programma provvederà a crearla.
Nel caso in cui, invece, fosse già presente apparirà un messaggio simile al seguente:

ERROR: /home/utente/dati is not empty
        Please specify another directory or run with -T.

Come suggerito dall'output, sarà possibile a propria scelta:

File di configurazione

Il file di configurazione di Foremost è /etc/foremost.conf.

All'interno del file stesso è possibile consultare le istruzioni (in inglese) utili per aggiungere alla ricerca altri formati di file.
A tale scopo sono infatti presenti diversi esempi commentati che mostrano la sintassi da utilizzare. Basterà quindi aprire il file, con privilegi di amministrazione e con un editor di testo, per decommentare le righe relative ai formati di proprio interesse, aggiungendoli alla ricerca.

Di seguito viene riportato un esempio relativo ai file .tif:

# TIF
#       tif     y       200000000       \x49\x49\x2a\x00

La sintassi della seconda riga nell'esempio contiene i seguenti campi (separati da TAB), da sinistra verso destra:

Diversi formati di file presenti in /etc/foremost.conf sono già supportati nativamente. È infatti presente in corrispondenza la dicitura: «(NOTE THESE FORMATS HAVE BUILTIN EXTRACTION FUNCTION)».

Aggiungere supporto a nuovi formati di file

Basandosi sull'esempio precedente, è quindi possibile aggiungere alla ricerca ulteriori formati, non presenti nel file di configurazione.

Di seguito viene riportato l'esempio di aggiunta dei file in formato flac:

flac    y       30000000    \x66\x4c\x61\x43\x00\x00\x00\x22

Per conoscere o controllare l'header di un tipo di file, può talvolta tornare utile il comando: hd -c nome_file.estensione.file|head (sostituire nome_file e estensione.file con le relative voci).

Esempio concreto di utilizzo

Di seguito sono illustrati tutti i passaggi necessari per estrarre dei file inavvertitamente cancellati su un ipotetico disco /dev/sda.
Si ipotizza, inoltre, che i file da recuperare vengano salvati su un secondo disco /dev/sdb. Si dovrà quindi montare su quest'ultimo una cartella appositamente creata per salvare i file recuperati (ad esempio /recovery/foremost), modificando infine i permessi di quest'ultimi.

  1. Se necessario, individuare le partizioni presenti.

  2. Creare sul disco /dev/sda la cartella /recovery/foremost:

    sudo mkdir -p /recovery/foremost
  3. Montare il disco /dev/sdb nella cartella /recovery:

    sudo mount /dev/sdb /recovery
  4. Avviare foremost digitando il comando:

    sudo foremost -i /dev/sda -o /recovery/foremost
  5. I file recuperati saranno di proprietà dell'utente root. Per cambiare i permessi digitare il seguente comando:

    sudo chown -R nomeutente:nomegruppo /recovery/foremost

    sostituendo «nomeutente:nomegruppo» (rappresentano rispettivamente il nome dell'utente e il nome del gruppo di appartenenza; generalmente utente e gruppo hanno lo stesso identificativo).

  6. Terminato il recupero, sarà possibile smontare il disco esterno con il comando:

    sudo umount /dev/sdb

Ulteriori risorse


CategoryAmministrazione

AmministrazioneSistema/RecuperoDati/Estrazione/Foremost (l'ultima modifica è del 27/09/2021 10.02.57, fatta da andreas-xavier)