
Utilità di file carving che recupera file eliminati da immagini disco e unità raw abbinando intestazioni, footer e strutture interne tramite regole configurabili.
Foremost è un programma Linux per il recupero di file basato sulle loro intestazioni e footer. Foremost può lavorare su file immagine, come quelli generati da dd, Safeback, Encase, ecc., o direttamente su un drive. Le intestazioni e i footer sono specificati da un file di configurazione, quindi puoi scegliere quali intestazioni cercare.
Per eseguire foremost, devi:
Ecco come fare:
LINUX: $ tar zxvf foremost-xx.tar.gz $ cd foremost-xx $ make $ make install
BSD: $ tar zxvf foremost-xx.tar.gz $ cd foremost-xx $ make unix $ make install
SOLARIS: $ tar zxvf foremost-xx.tar.gz $ cd foremost-xx $ make solaris $ make install
OSX: $ tar zxvf foremost-xx.tar.gz $ cd foremost-xx $ make mac $ make macinstall
Sui sistemi con versioni precedenti di glibc (anteriori alla 2.2.0), riceverai alcuni avvisi innocui su ftello e fseeko non definiti. Puoi ignorarli.
Se mai avessi bisogno di rimuovere foremost dal tuo sistema, puoi farlo così:
$ make uninstall
Una descrizione degli argomenti della riga di comando è disponibile nella pagina man. Per visualizzarla:
$ man foremost
Il file di configurazione è usato per controllare quali tipi di file foremost cerca. Un file di configurazione di esempio, foremost.conf, è incluso in questa distribuzione. Per ogni tipo di file, il file di configurazione descrive l'estensione del file, se l'intestazione e il footer sono sensibili alle maiuscole/minuscole, la dimensione massima del file, e l'intestazione e il footer per il file. Il campo footer è opzionale, ma intestazione, dimensione, sensibilità alle maiuscole/minuscole ed estensione non lo sono!
Qualsiasi riga che inizia con '#' è considerata un commento e viene ignorata. Quindi, per saltare un tipo di file, basta mettere un '#' all'inizio di quella riga.
Le intestazioni e i footer vengono decodificati prima dell'uso. Per specificare un valore in esadecimale usa \x[0-f][0-f], e per l'ottale usa [0-7][0-7][0-7]. Gli spazi possono essere rappresentati da \s. Esempio: "\x4F\123\I\sCCI" viene decodificato come "OSI CCI".
Per trovare un singolo carattere qualsiasi (ovvero un carattere jolly) usa '?'. Se devi cercare il carattere '?', dovrai cambiare la riga 'wildcard' e ogni occorrenza del vecchio carattere jolly nel file di configurazione. Non dimenticare quei valori esadecimali e ottali! '?' equivale a 0x3f e \063.
Ecco un esempio di set di intestazioni e footer:
gif y 155000 \x47\x49\x46\x38\x37\x61 \x00\x3b
gif y 155000 \x47\x49\x46\x38\x39\x61 \x00\x00\x3b
jpg y 200000 \xff\xd8\xff \xff\xd9
Nota: l'opzione è un metodo per specificare ulteriori opzioni. Attualmente esistono le seguenti opzioni:
FORWARD: Specifica la ricerca dall'intestazione al footer (opzionale) fino alla dimensione massima. REVERSE: Specifica la ricerca dal footer all'intestazione fino alla dimensione massima. NEXT: Specifica la ricerca dall'intestazione ai dati subito dopo il footer. Questo ti permette di specificare dati che sai 'NON' essere nei dati che stai cercando e dovrebbero terminare la ricerca, fino alla dimensione massima.
Segnala TUTTI i bug a nick dot mikus AT gmail d0t com. Includi una descrizione del bug, come lo hai trovato e le tue informazioni di contatto.
Foremost è stato scritto dall'Agente Speciale Kris Kendall e dall'Agente Speciale Jesse Kornblum dell'United States Air Force Office of Special Investigations, a partire da marzo 2001. Questo programma non sarebbe quello che è oggi senza l'aiuto (in nessun ordine particolare) di: Rob Meekins, Dan Kalil e Chet Maciag. Questo progetto è stato ispirato da CarvThis, scritto dal Defense Computer Forensic Lab nel 1999.
dd, Safeback ed Encase sono opere protette da copyright e qualsiasi domanda riguardante questi strumenti deve essere rivolta ai detentori del copyright. Il Governo degli Stati Uniti non approva l'uso di questi o di altri strumenti di imaging.