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, anziché operare direttamente sul supporto di memoria dal quale si voglio recuperare i file, si raccomanda di eseguire il programma su un file immagine di backup a basso livello (a tal fine è possibile usare lo strumento dd).
Installazione
Installare il pacchetto foremost.
Utilizzo
Di default il programma:
crea una cartella chiamata output nella stessa posizione dal quale viene lanciato il comando (ad esempio la Home dell'utente, se il terminale è su ~).
crea delle sottocartelle corrispondenti al formato dei file che vengono recuperati (ad esempio jpg, txt, zip ecc.). Per consultare tutti i formati di file riconosciuti consultare la pagina man del programma.
- al termine della procedura vengono eliminate eventuali sottocartelle vuote, per le quali non sono stati trovati file corrispondenti.
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.img).
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. Qualora invece sia 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 usare una destinazione differente oppure usare l'opzione -T. Quest'ultima provvede a contrassegnare con ora e data la cartella specificata, che nell'esempio precedente verrà nominata /home/utente/dati_Sat_Sep_25_16_32_38_2021.
In questo modo sarà possibile lanciare più volte il programma nella stessa cartella.
File di configurazione
Il file di configurazione di Foremost è /etc/foremost.conf.
Consultando il file è possibile aggiungere facilmente alla ricerca tipi di file non supportati nativamente.
[COMPLETARE]
Esempi di utilizzo
Negli esempi seguenti si ipotizza che i file da recuperare siano sul disco /dev/sda, che verranno salvati su un altro disco /dev/sdb, ove sarà necessario montare la cartella scrivibile creata a questo scopo, in cui salvare i file recuperati.
Creare sul disco /dev/sda la cartella /recovery/foremost:
sudo mkdir -p /recovery/foremost
Montare il disco /dev/sdb nella cartella /recovery:
sudo mount /dev/sdb /recovery
Avviare foremost digitando il comando:
sudo foremost -i /dev/sda -o /recovery/foremost
I file recuperati saranno di proprietà dell'utente root. Per cambiare i permessi digitare il seguente comando:
sudo chown -R nomeutente:nomegruppo /recovery/foremost
«nomeutente:nomegruppo» rappresentano rispettivamente il nome dell'utente e il nome del gruppo di appartenenza (generalmente utente e gruppo hanno lo stesso identificativo).
Terminato il recupero, smontare il disco esterno:
sudo umount /dev/sdb
Ulteriori risorse
Voce enciclopedica (in inglese)
Guida originae (in inglese)