Quando cancellate un file, questo in realtà non viene cancellato anche sul vostro hard disk, ma viene detto al sistema operativo che la porzione di spazio che questo occupa è pronta per scriverci nuovi dati. Questo implica che fino a che non create nuovi file avrete un’ottima probabilità di recuperare i vostri dati integri. La cosa diventa ben più difficile se i dati cancellati fossero anche in parte sovrascritti e molto complessa se gli stessi dati fossero totalmente sovrascritti. Cliccate qui se volete saperne di più su come cancellare in maniera sicura i vostri dati.
Per essere molto pratici vi proporrò di seguito alcuni software tutti freeware per il recupero di dati cancellati e darò alcune indicazioni per tentare il recupero di dati parzilmente sovrascritti. Dati completamente sovrascritti esigono l'impiego di software molto costosi che non tratteremo.
Infine permettetemi un po' di pubblicità, sono un professionista che opera in ambito sicurezza nei luoghi di lavoro ma sono in grado di fornire assistenza in merito a criptazione, cancellazione sicura e recupero di dati a patto che possiate dimostrarmi che i dati trattati sono di vostra proprietà.
Software freeware per recupero di dati cancellati:
- Recuva: Sicuramente il più semplice fra tutti e anche il meglio apprezzato per la rete per la sua interfaccia grafica chiara e pulita. Recupera file cancellati dal cestino o da lettori mp3 e ha la possibilità di recuperare foto e filmati dalle memory card.
- PC INSPECTOR File Recovery: sicuramente il più completo. Permette di recuperare partizioni danneggiate o tentare di rimettere a posto settori di boot danneggiati se non addirittura cancellati. Permette il salvataggio su supporti in lan e ha la possibilità di ricercare file per tipologia.
- TOKIWA DataRecovery: Le sue dimensioni ridotte gli permettono di essere avviato su floppy e permette di recuperare file criptati in filesystem EFS
- Undelete Plus: i filesystem riconosciuti sono FAT12/16/32, NTFS/NTFS5 con la possibilità di cercare anche in floppy e in moltissimi tipologie di memory card.
- Glary Undelete: Supporta quasi tutte le memory card, trova file eliminati sia da windows, crash, da terminale o tramite la combinazione di Shift+can. Permette di recuperare file salvati in partizioni criptate EFS.
- NTFS Undelete: scansiona solo hard disk in locale che siano in NTFS. L’unico difetto, se così possiamo chiamarlo è la possibilità di masterizzarlo su CD o DVD e avviarlo su qualsiasi computer con Windows installato sopra.
- PhotoRec: Non lasciatevi sviare dal nome, non si limita a cercare solo foto. Eseguibile solo tramite prompt dei comandi è uno dei più completi in fatto di filesystem supportati: FAT, NTFS, EXT2/EXT3 HFS+, non ha caso è un progetto che esiste anche per Linux. Permette di ritrovare file cancellati da una formattazione, da supporti cd cancellati e dalle memory card.
- Recover Files
- Pandora Recovery
- SoftPerfect File Recovery
- FreeUndelete
- Avira UnErase Personal
- ADRC Data Recovery Software Tools
- EASEUS Data Recovery Wizard Professional: Sotto molti punti d’aspetto è il più semplice e anche il più potente. Costa poco più di 60 euro ma li vale tutti.
- R-studio: Supporta moltissimi filesystem (compreso mac, frebsd e linux). Sicuramente più professionale del precedente è richiesta una mano esperta ma offre ottimi risultati e il suoi 80dollari sono sicuramente guadagnati.
- FileScavenger lo ritengo il miglior prodotto della categoria in quanto, oltre al recupero, garantisce un'ottima ricostruzione della cartelle.
Software freeware per recupero di dati cancellati o parzialmente cancellati:
Si chiama Foremost ed è un piccolo ma potente software realizzato dagli agenti speciali dell' U.S.A.F., Kriss Kendal e Jesse Kornblum che hanno creato questo programma come supporto alle sempre più frequenti indagini riguardanti il recupero di file da personal computer rilasciandolo come free software, in quanto prodotto del Governo degli Stati Uniti per il quale non è prevista la protezione da copyright.
Foremost è un ottimo programma ma purtroppo gira solo su piattaforma Linux; permette il recupero di file, cancellati o nascosti, direttamente da hard disk o da immagini ricavate attraverso i principali tool di duplicazione (dd, EnCase, Safeback ecc..). Personalmente l'ho sperimentato positivamente nel recupero di un archivio TrueCript erroneamente cancellato.
Le maggiori distribuzioni Linux-live orientate all'incident response ed alla sicurezza (F.I.R.E., Penguinsleuth e Knoppix STD) lo includono di default in versione precompilata e ciò, oltre ad essere una prova dell'utilità e della funzionalità in ambito forensico, ne dovrebbe quantomeno consigliare l'approfondimento a chi si occupa di sicurezza ed incident response.
Il funzionamento è basato, come per la maggior parte dei tools di recupero, sulla ricerca di un header ed un footer, cioè stringhe che caratterizzano l'inizio e la fine di un particolare file, così come specificato nel file di configurazione foremost.conf. Questo sistema che sembra accrescere la macchinosità del sistema è in realtà il fulcro ed il punto di forza del programma, motivo per il quale in parecchie occasioni ho preferito mettere in disparte applicazioni grafiche più blasonate. Foremost analizza il drive o l'immagine (in sola lettura, naturalmente) alla ricerca dell'header specificato e recupera i dati sino alla prima occorrenza del footer o al raggiungimento della dimensione massima specificata nel file di configurazione nel caso il footer non sia presente.
I file recuperati sono salvati in una directory predefinita se non specificato diversamente al prompt dei comandi, assieme ad un report finale audit.txt. Vedremo in seguito alcune opzioni del file di configurazione che permettono di piegare leggermente questo comportamento.
Utilizzo di base
Analizziamo innanzitutto la sintassi del programma:
# foremost [-h|V] [-qv] [-s num] [-i ] [-o ] \ [-c ] [] ....
- -h Stampa il messaggio d'aiuto ed esce
- -V Stampa le informazioni di copyright ed esce
- -v Modalità Verbose
- -q Modalità Quick. Ricerca l'header solo all'inizio del settore
- -i Legge i file da analizzare nel file passato come parametro
- -o Imposta la directory nella quale saranno salvati i file recuperati
- -c Imposta il file di configurazione da utilizzare
- -s Salta il numero di bytes specificato prima di iniziare la ricerca
- -n Estrae i file senza aggiungere l'estensione
La maggior parte dei parametri è autoesplicativa, mentre è bene soffermarsi su alcune opzioni che si rivelano fondamentali ai fini del risultato.
La modalità Quick (-q ) obbliga il programma a ricercare l'header solo all'inizio di ogni settore per la lunghezza massima dell'header più lungo presente nel file di configurazione, tralasciando il resto dei dati. Ciò velocizza di molto la ricerca ma potremmo lasciare indietro alcuni file interessanti, ad esempio quelli inglobati in altri file.
Se non è impostata una directory di output ( -o ), foremost salva i file in una cartella predefinita chiamata foremost-output, contenuta nella directory corrente che potrebbe non avere abbastanza spazio od essere destinata ad altro. La directory di output dev'essere vuota o al limite non esistere, penserà foremost a crearne una di default.
Il flag -s ci permette di partire da un determinato offset per dividere la scansione in più parti o perfezionare la ricerca di determinati file.
Vediamo alcuni esempi:
foremost -v -o /mnt/usbDisk/recupero/ /home/immagine1.dd
Analizza l'immagine contenuta in /home e salva i risultati nella directory recupero di un hard disk USB.
foremost -v -c /home/anconelli/foremost.conf /dev/sda1
Legge il file di configurazione nella home dell'utente ed analizza il device /dev/sda1
foremost -o /home/prove/ -s 681574400 /mnt/immagini/disco1.dd
Inizia a scansire l'immagine disco1.dd dall'offset 681574400
File di configurazione
Il file di configurazione guida il comportamento di foremost durante la ricerca ed è sostanzialmente un elenco delle caratteristiche da ricercare per ogni file. Le righe che iniziano col carattere # sono considerate commenti e non vengono prese in considerazione dal programma. Ogni riga è divisa in sezioni con gli attributi dei file:
extension | case sensitive | size | header | footer | opzioni |
mpg | y | 4000000 | \x00\x00\x01\xba | \x00\x00\x01\xb9 | REVERSE |
Foremost nomina numericamente ogni file recuperato, partendo da 00000000 ed aggiungendo l'estensione specificata nel campo extension. E' possibile inserire NONE nel suddetto campo per fare in modo che nessuna estensione sia aggiunta al nome del file.
Case sensitive può essere impostato 'y' o 'n' e riguarda il trattamento di header e footer.
Size rappresenta il massimo numero di byte che foremost recupera se non trova un footer.
L'header ed il footer possono essere specificati con valori esadecimali, ottali o in caratteri, lo spazio è rappresentato da \s. I valori esadecimali sono rappresentati come \x[0-f][0-f], quelli ottali come \[0-3][0-7][0-7] . L'esempio riportato nel file di configurazione stesso è il seguente:
\x4f\123\I\sCCI è equivalente a “OSI CCI”
Un'utile accorgimento è l'inserimento di una wildcard per stringhe contenenti byte variabili : il carattere utilizzato di default è '?' (es. ????????\x6d\x6f\x6f\x76) che può essere cambiato modificando la relativa stringa nel file di configurazione.
Il campo footer è l'unico opzionale e, in molti casi, è utile eliminarlo per affidarsi alla dimensione massima specificata.
Oltre a questi parametri esistono due opzioni che possono essere appese alla riga di specifica per plasmare il comportamento di foremost in casi particolari:
- REVERSE – Foremost esegue la scansione dall'header alla dimensione massima specificata, poi ripercorre il percorso a ritroso fino alla prima occorrenza del footer. Utile nei casi di file con più istanze del footer all'interno (i file PDF appartengono a questa categoria, troverete infatti il parametro REVERSE settato di default nel file di configurazione originale)
- NEXT – La scansione si arresta alla prima occorrenza del footer che è escluso dal file recuperato. In questo modo è possibile concludere il recupero quando è presente una stringa che sappiamo per certo non appartenere alla tipologia del file ricercato ma, è altresì possibile recuperare file dei quali non conosciamo il footer concludendo il recupero ed avviando il successivo alla prima occorrenza dello stesso header.
Rapporto
Nella directory in cui sono immagazzinati i dati recuperati, Foremost crea un file dal nome audit.txt, ovvero un report contenente i dettagli dell'operazione effettuata tra i quali è da evidenziare l'offset di partenza originale del file recuperato ( Found at Byte). Ho trovato questo parametro molto utile per approfondire una prima ricerca di base. Cercando ad esempio alcune immagini create con Photoshop 7, possiamo impostare l'header in modo che trovi una caratteristica unica dell'immagine ( la stringa Adobe\sPhotoshop). Sapendo che l'occorrenza dell'header è collocata all'offsett 144 (0x90) del file possiamo recuperare per intero l'immagine calcolando il byte di partenza del file impostandolo come punto di avvio della ricerca con l'opzione -s.
Le possibilità di Foremost dipendono molto dalla fantasia dell'investigatore. Giocate con i file di configurazione, analizzate i dati recuperati con un buon editor esadecimale, variate le opzioni e createvi configurazioni ad hoc per le tipologie di recupero più frequenti: scoprirete che a volte può valer la pena abbandonare programmi più comodi per tornare alla vecchia e sobria line di comando.
La versione attualmente disponibile è la 0.69 ed è scaricabile da sourceforge.net . L'installazione è molto semplice e si ottiene lanciando i comandi make e make install all'interno della cartella derivante dalla scompattazione del file tar.gz .
Nessun commento:
Posta un commento