Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmministrazioneSistema/RecuperoDati"
Differenze tra le versioni 1 e 51 (in 50 versioni)
Versione 1 del 18/10/2010 21.30.13
Dimensione: 137
Commento:
Versione 51 del 12/12/2010 12.50.38
Dimensione: 19108
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
#acl GiuseppeTerrai:read,write,revert GruppoConsiglio:read,write,revert GruppoAdmin:admin,read,write,revert -All:read -Known:read
Test
#format wiki
#language it
[[Indice(depth=1)]]

= Introduzione =

I file eliminati o persi accidentalmente possono essere recuperati da qualunque dispositivo di memorizzazione, ottico o di massa, con l'uso di programmi specifici molti dei quali disponibili nei [:Repository:repository] di '''Ubuntu'''. Questa guida spiega come recuperare i propri dati.

Occorre sottolineare che il modo migliore per evitare la perdita dei dati è di effettuare con cadenza regolare delle copie di backup e a questo proposito si invita a leggere le relative [:AmministrazioneSistema/Backup:guide].

= Premessa =

Se il dispositivo ha un guasto meccanico, per il recupero dei dati, si consiglia di lavorare su una sua immagine al fine di non danneggiarlo ulteriormente con operazioni di scrittura che potrebbero rendere i dati irrecuperabili se sovrascritti. Qualora si verificasse questa evenienza è raccomandabile spegnere immediatamente il computer e in seguito utilizzarlo solo mediante sistemi ''live'' in modo da potere analizzare i dispositivi soggetti a problematiche operando a [:Hardware/DispositiviPartizioni/MontarePartizioni:"partizioni smontate"]. Viceversa, se il guasto non è di natura meccanica, è possibile recuperare i dati direttamente dal dispositivo.

Per potere eseguire il recupero è necessario disporre di un altro dispositivo di archiviazione. Questo dovrà essere di capienza pari o superiore. Considerare la necessità di ulteriore spazio qualora sia richiesto di intervenire mediante la creazione di un'immagine.

Per avviare il sistema in modalità ''live'' è sufficiente [http://www.ubuntu-it.org/index.php?page=Ottenere_Ubuntu disporre] di una copia di '''Ubuntu Desktop Editition''' da potere avviare con il [:Installazione/Grafica:CD-ROM] o da un [:Installazione/DaSupportoUsb:dispositivo USB]. In alternativa, qualora si disponga si poca ram o si è privi di una connessione ad internet, è possibile utilizzare [http://ubuntu-rescue-remix.org/ Ubuntu rescue remix] oppure [http://www.sysresccd.org/Main_Page System Rescue Cd] i quali dispongono molti dei programmi di seguito menzionati.

Qualora le applicazioni di seguono esposte non riescano a raggiungere il risultato desiderato, a seconda dell'importanza dei dati presenti, si consideri anche la possibilità di richiedere una consulenza professionale in merito. Questo perché l'[http://it.wikipedia.org/wiki/Informatica_forense informatica forense] è una scienza molto vasta e molte applicazioni non sono accessibili ad un pubblico "casalingo" a causa dei loro costi molto elevati.

= Recuperare le partizioni =

Se è stato fatto un errore durante il partizionamento e la partizione non compare più nella tabella delle partizioni, a patto che non si siano scritti dei dati sullo spazio specifico della tabelle delle partizioni, i dati saranno ancora presenti e recuperabili.

== GNU Parted ==

E' possibile recuperare le partizioni utilizzando il comando ''parted''.

Innanzitutto, quando si modifica la tabella delle partizioni sul disco rigido, è necessario assicurarsi che nessuna partizione sul disco sia montata, compreso lo [:Hardware/DispositiviPartizioni/PartizioniUbuntu#swap:spazio di swap].

Per smontare lo spazio di swap e avviare '''Parted''' procedere come segue:
 * Avviare una delle distribuzioni live citate in precedenza.
 * Digitare in una finestra di [:AmministrazioneSistema/RigaDiComando:terminale] il seguente comando: {{{
sudo swapoff -a
}}}
 * Eseguire '''Parted''' digitando in un terminale il seguente comando: {{{
sudo parted /dev/sda
}}} dove `/dev/sda` è il dispositivo da recuperare.
 * Utilizzare l'opzione di recupero: {{{
rescue start end
}}} dove "start" è l'area del disco in cui si ritiene che la partizione inizi ed "end" indica la sua fine. Nel caso in cui '''parted''' trovi una partizione potenziale, verrà chiesta conferma per la sua aggiunta nella tabella delle partizioni.

== Testdisk ==

In alternativa a '''Parted''' è possibile [:AmministrazioneSistema/InstallareProgrammi:installare] [apt://testdisk testdisk].

Avviare la scansione dei dispositivi con '''Testdisk''' digitando in una finestra di terminale il seguente comando: {{{
sudo testdisk
}}}

Utilizzare i menù per recuperare le partizioni.

== Gpart ==

Un altro modo per controllare e ricreare la tabella delle partizioni consiste nell'[:AmministrazioneSistema/InstallareProgrammi:installare] ed utilizzare [apt://gpart gpart].

 * Digitare in una finestra di terminale il seguente comando {{{
sudo gpart /dev/sda
}}} dove `/dev/sda` è il dispositivo da recuperare.

 * È possibile ripristinare la tabella delle partizioni, solo dopo aver verificato con la massima attenzione (viceversa si invita a scrivere su un altro dispositivo), digitando in una finestra di terminale il seguente comando {{{
sudo gpart -W /dev/sda /dev/sda
}}}

= Creare un immagine di un dispositivo =

Per ottenere l'immagine di un dispositivo danneggiato, in preparazione del salvataggio dei file, è disponibile il programma '''GNU ddrescue''' [:AmministrazioneSistema/InstallareProgrammi:installabile] tramite il pacchetto [apt://gddrescue gddrescue]. In seguito il suo comando sarà ''ddrescue''.

Per una breve panoramica delle sue funzionalità e per approfondimenti si invita alla lettura del [http://www.gnu.org/software/ddrescue/ddrescue_it.html seguente documento].

Prima di procedere, bisogna tenere presente che i filesystem di tipo [:Hardware/DispositiviPartizioni/MontarePartizioni/Fat:Fat] dispongono di un limite di 4GiB alla dimensione di ciascun file. E' tipico delle unità USB disporre di questo tipo di filesystem. Se si è a conoscenza che l'immagine finale sarà superiore a tale dimensione è necessario utilizzare filesystem che supporti capacità superiori per il singolo file come ad esempio [:Hardware/DispositiviPartizioni/MontarePartizioni/Ext3:Ext3] o altri.

 * Per utilizzare '''GNU ddrescue''' digitare in una finestra di terminale un comando avente la seguente sintassi: {{{
ddrescue [options] partizione_da_recuperare destinazione_immagine destinazione_file_di_log
}}}
 * Quindi, ad esempio {{{
sudo ddrescue -r 3 /dev/sda /media/usbdrive/image /media/usbdrive/logfile
}}} dove il comando ''ddrescue'' di recupererà l'immagine dal dispositivo `dev/sda` e di salvarla in `/media/usbdrive/image`; inoltre, creerà un file di log in `/media/usbdrive/logfile`. L'opzione `-r 3` rappresenta il numero di tentativi di lettura che ''ddrescue'' farà qualora incontri degli errori. `-1` invita il programma ad eseguire un numero infinito di tentativi.
 * Il passo successivo potrebbe essere: {{{
sudo ddrescue -r 3 -C /dev/sda /media/usbdrive/image /media/usbdrive/logfile
}}} dove rispetto al precedente è stata aggiunta l'opzione `-C` che invita il programma circoscrivere la lettura all'interno dei file già presenti nel registro (o file di log) creato in precedenza .

Un [http://www.forensicswiki.org/wiki/Ddrescue noto sito] di analisi forense consiglia la seguente procedura:
 * Creare un immagine copiando all'interno di essa più dati possibili, senza contiere tentativi di lettura nel caso si incontrino degli errori (opzione `-n`): {{{
ddrescue -n /dev/hda1 imagefile logfile
 * Riprovare andando più a fondo riprovando 3 volte in presenza di errori di lettura: {{{
ddrescue -d -r 3 /dev/hda1 imagefile logfile
}}}
 * Se il comando precedente fallisce riprovare leggendo i settori integralmente: {{{
ddrescue -d -R -r 3 /dev/hda1 imagefile logfile
}}}

= Estrarre i dati da un immagine =

Dopo avere creato l'immagine del dispositivo è necessario concentrarsi sul recupero dei dati presenti sull'immagine stessa. Qualora il filesystem non è recuperabile, è possibile comunque tentare di recuperare i singoli file.

== Montare le partizioni sull'immagine ==

Se è stato recuperato l'intero disco, è possibile montare le singole partizioni "in loop" sull'immagine utilizzando l'opzione "Offset". '''mmls''', [:AmministrazioneSistema/InstallareProgrammi:installabile] dal pacchetto [apt://sleuthkit sleuthkit] è in grado di mostrare le partizioni che si trovano all'interno dell'immagine: {{{
mmls file -b
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

     Slot Start End Length Size Description
00: ----- 0000000000 0000000000 0000000001 0512B Primary Table (#0)
01: ----- 0000000001 0000000031 0000000031 0015K Unallocated
02: 00:01 0000000032 0001646591 0001646560 0803M DOS FAT16 (0x06)
03: 00:00 0001646592 0002013183 0000366592 0179M DOS FAT16 (0x06)
}}}

Il programma mostra più partizioni. In questo esempio, volendo montare la partizione DOS a partire dal blocco 32 (terza riga nell'esempio mostrato) bisognerà calcolare il numero di byte moltiplicando per 512 (1 blocco è uguale 512 byte). In questo caso 32 * 512 = 16384 sarà il byte di inizio della partizione. Quindi montare l'immagine: {{{
sudo mount -o loop,offset=16384 file mnt
}}}

Per montare una tipica partizione NTFS creata da Windows usare: {{{
sudo mount -t ntfs -o r,force,loop,offset=32256 file mnt
}}} dove 63 * 512 byte = 32256

= Estrarre singoli file dalla partizione recuperata =
== Foremost ==

[http://foremost.sourceforge.net/ Foremost] è un tool da riga di comando in grado di recuperare file da un certo numero di filesystem, inclusi i sistemi Fat, Ext3 e NTFS.

Supponendo che i file persi siano su `/dev/hda`, è necessario creare una cartella scrivibile su un altro disco in cui è possibile inserire i file recuperati (nell'esempio `dev/sdb`).

 * Montare il disco esterno e creare al suo interno una cartella chiamata `foremost` da utilizzare per il recupero: {{{
sudo mount /dev/sdb1 /recovery
sudo mkdir /recovery/foremost
}}}
 * Avviare '''foremost''' digitando in una finestra di terminale il seguente comando: {{{
sudo foremost -i /dev/hda -o /recovery/foremost
}}}
 * Per avviare '''foremost''' su un file immagine semplicemente sostituire il percorso {{{
sudo foremost -i image -o /recovery/foremost
}}}
 * I file recuperati saranno di proprietà dell'utente root. Per cambiare i permessi digitare in una finestra di terminale i seguenti comandi: {{{
sudo chown -R youruser:youruser /recovery/foremost
}}} dove `youruser:youruser` rappresentano rispettivamente l'utente e il gruppo di appartenenza.
 * Usare l'opzione `-w` solo per si desidera ottenere un analisi dei file recuperabili: {{{
sudo foremost -w -i /dev/hda -o /recovery/foremost
}}}
 * Per recuperare uno specifico tipo di file usare l'opzione `-t`: {{{
sudo foremost -t jpg -i /dev/hda -o /recovery/foremost
}}}

Per una panoramica dei file supportati da '''Foremost''' fare riferimento alla pagina man.

== Scalpel ==

'''Scalpel''' recupera i file utilizzando come database le definizioni contenute [http://it.wikipedia.org/wiki/Formato_di_file negli header e nei footer] presenti all'interno di un file immagine o di un file `.raw`. È simile a '''Foremost''' e potrebbe avere dei miglioramenti.

Per impostazione predefinita, tutti i tipi di file presenti in `/etc/scalpel/scalpel.conf` sono commentati. Per specificare quali tipi di file si vogliono ricercare è necessario modificare il file decommentando le righe necessarie. Si allega un file [http://wiki.ubuntu-it.org/GiuseppeTerrasi/Prove8?action=AttachFile&do=get&target=scalpel.conf `scalpel.conf` di esempio] al fine di mostrare l'elenco dei file che è in grado di recuperare.

Digitare in una finestra di terminale il seguente comando {{{
sudo scalpel file -o nome_cartella
}}} dove file è il file immagine (o dispositivo) e nome_cartella è la cartella di destinazione.

== Magic Rescue ==

[http://www.itu.dk/people/jobr/magicrescue/ Magic Rescue] è un programma che utilizza i cosiddetti [http://it.wikipedia.org/wiki/Formato_di_file magic number] per identificare la presenza e il tipo di file, e che può essere esteso a molti tipi di file attraverso l'uso di "recipes".

[:AmministrazioneSistema/InstallareProgrammi:Installare] il pacchetto [apt://magicrescue magicrescue].

Note that most of the provided recipes need other software installed to work, so open the desired recipes in {{{/usr/share/magicrescue/recipes/}}} using a text editor and read the comments contained.

Per recuperare dei file con estensione `gzip` e `.png` da una partizione chiamata `/dev/sda1`, digitare in una finestra di terminale il seguente comando: {{{
mkdir ~/output
sudo magicrescue -r gzip -r png -d ~/output /dev/sda1
}}} Questo scriverà i dati recuperati all'interno della cartella `output` dentro la cartella '''Home'''.

== Photorec ==

'''!PhotoRec''' è un programma di recupero dati creato inizialmente solo per recuperare immagini perse dalla memoria della fotocamera digitale o da dischi fissi. In seguito il supporto è stato esteso anche per file non audio o video. Consente la ricerca di 80 diversi tipi di file. '''!PhotoRec''' fa parte del pacchetto [apt://testdisk testdisk].

Per avviare Photorec per analizzare un file immagine digitare il seguente comando in una finestra di terminale: {{{
sudo photorec imagefilename
}}}

Per recuperare i file direttamente dal dispositivo oggetto di recupero, avviare il programma senza argomenti e selezionare i dispositivi disponibili dal menù: {{{
sudo photorec
}}}

== recoverjpeg ==

'''recoverjpeg''' è un programma specifico per l'identificazione e il recupero delle immagini in formato `.jpeg`.

[:AmministrazioneSistema/InstallareProgrammi:Installare] il pacchetto [apt://recoverjpeg recoverjpeg] e avviarlo digitando in una finestra di terminale il seguente comando: {{{
sudo recoverjpeg /dev/hda1
}}} sostituendo `/dev/hda1` con il dispositivo sul quale si desidera indagare.

I file recuperati verranno salvati nella propria cartella '''Home''', ogni immagine sarà salvata nel formato `image*.jpg`.

== Ntfsprogs ==

Si veda il [https://help.ubuntu.com/community/DataRecovery/NtfsUndelete seguente documento] per questo strumento capace di recuperare file da un filesystem NTFS.

== Sleuth Kit e Autopsy ==

'''Autopsy Forensic Browser''' è un'interfaccia grafica per la suite '''The Sleuth Kit'''. Sono in grado di analizzare i dischi di Windows e UNIX e file system come NTFS, FAT, UFS1/2, Ext2/3.

Sono entrambi Open Source e disponibili su piattaforme UNIX. '''Autopsy''' essendo HTML-based è possibile connettersi ad esso da qualsiasi piattaforma attraverso l'uso di un browser. '''Autopsy''' mostrerà i dettagli circa i dati cancellati e la struttura del filesystem.

=== Autopsy ===

'''Autopsy''' può essere avviato da un live CD. Bisognerà indicare un disco sul quale salvare le informazioni estratte e un indirizzo IP verso il quale connettersi.

Per esempio, assumendo che si disponga di un dispositivo montato in `/media/disk` con una cartella chiamata `autopsy` e che l'indirizzo IP sia `192.168.0.1`: {{{
sudo autopsy -d /media/disk/autopsy 192.168.0.1
}}}

=== Sleuthkit ===

 * Estrarre i blocchi non allocati (cancellati) da un dispositivo o da un file immagine: {{{
dls inputimage > outputimage
}}} Utilizzare un programma di recupero dati (fare anchor) per cercare i file dall'immagine di output.

 * ''fls'' elenca i nomi dei file e delle cartelle di un immagine ed è in grado di visualizzare i nomi dei file eliminati di recente dalle cartelle con l'`inode` specificato. Se il filesystem è stato recuperato in un file chiamato "loopfile", è possibile elencarne il contenuto digitando in una finestra di terminale il seguente comando: {{{
fls loopfile -r -f fat -i raw
r/r 3: test (Volume Label Entry)
r/r * 5: sample.docx
r/r * 7: sample.pptx
r/r * 9: sample.xlsx
}}}

 * `icat` apre l'immagine e copia i file con il numero di `inode` specificato sullo standard output. Se ''fls'' ha mostrato l'`inode` dei file presenti sull'immagine, per recuperare i file digitare in una finestra di terminale il seguente comando: {{{
icat -r -f fat -i raw loopfile 5 > sample.docx
}}}
 
 * `sorter` ordina i file presenti in un immagine per tipo di file. Per ordinare tutti i file presenti sul dispositivo `/dev/sdc1` e mettere il file immagine in una cartella denominata `out` digitare in una finestra di terminale il seguente comando: {{{
sudo sorter -h -s -i raw -f fat -d out -C /usr/share/sleuthkit/windows.sort /dev/sdc1
}}}

In [http://forums.gentoo.org/viewtopic-t-365703.html questa pagina] viene mostrato uno script che estrae i file da un immagine usando `fls` e `icat`. [http://matt.matzi.org.uk/2008/07/03/reconstructing-heavily-damaged-hard-drives/ Questo script] invece il cercherà di ricostruire le cartelle del filesystem e la struttura dei file.


== Cleaning up ==
from:[[http://www.linux.com/articles/56588|How to recover lost files after you accidentally wipe your hard drive]]

Sort certain types of files:
{{{
sudo mkdir recovery/VID recovery/JPG

find recovery/ -name "*.avi" | xargs -i mv {} recovery/VID/

find recovery/ -name "*.mpg" | xargs -i mv {} recovery/VID/

find recovery/ -name "*.jpg" | xargs -i mv {} recovery/JPG/
}}}


Eliminate small photos:

{{{
sudo mkdir recovery/SMALL

find recovery/JPG/ -name "*.jpg" -size -1024k | xargs -i mv {} recovery/SMALL/
}}}

Rename jpegs according to exif data:

{{{
find JPG/ -name "*.jpg" | xargs -i jhead -nf%Y%m%d-%H%M%S {}

}}}
Then, remove duplicates.
{{{
find /var/recovery/JPG/ -name "*a.jpg" | xargs -i mv {} /var/recovery/JPG/DUPS/
}}}

Copy files with matching strings:

{{{
cd recovery
mkdir ../copy/
grep -l "enter the string of text here" *.doc | xargs -i cp {} ../copy/
}}}

= Ulteriori risorse =

 * [https://help.ubuntu.com/community/DataRecovery Documento originale]
 * [http://ubuntu-rescue-remix.org/ Ubuntu Rescue Remix]
 * [http://manpages.ubuntu.com/manpages/maverick/en/man8/parted.8.html Pagina man GNU Parted]
 * [http://manpages.ubuntu.com/manpages/maverick/en/man1/testdisk.1.html Pagina man testdisk]
 * [http://www.brzitwa.de/mb/gpart/gpart-man.html Pagina man gpart]
 * [http://manpages.ubuntu.com/manpages/maverick/en/man1/ddrescue.1.html Pagina man ddrescue]
 * [http://www.sleuthkit.org/sleuthkit/man/mmls.html Pagina man mmls]
 * [http://linux.die.net/man/1/foremost Pagina man foremost]
 * [http://www.linuxcertif.com/man/1/scalpel/ Pagina man Scalpel]
 * [http://www.itu.dk/people/jobr/magicrescue/manpage.html Pagina man Macig Rescue]
 * [http://linux.die.net/man/1/photorec Pagina man photorec]
 * [http://tfm.cz/man/1/recoverjpeg Pagina man recoverjpeg]
 * [https://help.ubuntu.com/community/DataRecovery/NtfsUndelete Guida a NTFSprogs su Ubuntu.com]
 * [http://www.sleuthkit.org/ Sito ufficiale di Sleuthkit e Autopsy]
 * [http://www.caine-live.net/ CAINE: distribuzione specifica per l'analisi forense]
 * [http://goinggnu.wordpress.com/2008/02/14/recover-deleted-files-from-memory-card Recuperare file cancellati da una memory card]

----
CategoryHomepage

Indice(depth=1)

Introduzione

I file eliminati o persi accidentalmente possono essere recuperati da qualunque dispositivo di memorizzazione, ottico o di massa, con l'uso di programmi specifici molti dei quali disponibili nei [:Repository:repository] di Ubuntu. Questa guida spiega come recuperare i propri dati.

Occorre sottolineare che il modo migliore per evitare la perdita dei dati è di effettuare con cadenza regolare delle copie di backup e a questo proposito si invita a leggere le relative [:AmministrazioneSistema/Backup:guide].

Premessa

Se il dispositivo ha un guasto meccanico, per il recupero dei dati, si consiglia di lavorare su una sua immagine al fine di non danneggiarlo ulteriormente con operazioni di scrittura che potrebbero rendere i dati irrecuperabili se sovrascritti. Qualora si verificasse questa evenienza è raccomandabile spegnere immediatamente il computer e in seguito utilizzarlo solo mediante sistemi live in modo da potere analizzare i dispositivi soggetti a problematiche operando a [:Hardware/DispositiviPartizioni/MontarePartizioni:"partizioni smontate"]. Viceversa, se il guasto non è di natura meccanica, è possibile recuperare i dati direttamente dal dispositivo.

Per potere eseguire il recupero è necessario disporre di un altro dispositivo di archiviazione. Questo dovrà essere di capienza pari o superiore. Considerare la necessità di ulteriore spazio qualora sia richiesto di intervenire mediante la creazione di un'immagine.

Per avviare il sistema in modalità live è sufficiente [http://www.ubuntu-it.org/index.php?page=Ottenere_Ubuntu disporre] di una copia di Ubuntu Desktop Editition da potere avviare con il [:Installazione/Grafica:CD-ROM] o da un [:Installazione/DaSupportoUsb:dispositivo USB]. In alternativa, qualora si disponga si poca ram o si è privi di una connessione ad internet, è possibile utilizzare [http://ubuntu-rescue-remix.org/ Ubuntu rescue remix] oppure [http://www.sysresccd.org/Main_Page System Rescue Cd] i quali dispongono molti dei programmi di seguito menzionati.

Qualora le applicazioni di seguono esposte non riescano a raggiungere il risultato desiderato, a seconda dell'importanza dei dati presenti, si consideri anche la possibilità di richiedere una consulenza professionale in merito. Questo perché l'[http://it.wikipedia.org/wiki/Informatica_forense informatica forense] è una scienza molto vasta e molte applicazioni non sono accessibili ad un pubblico "casalingo" a causa dei loro costi molto elevati.

Recuperare le partizioni

Se è stato fatto un errore durante il partizionamento e la partizione non compare più nella tabella delle partizioni, a patto che non si siano scritti dei dati sullo spazio specifico della tabelle delle partizioni, i dati saranno ancora presenti e recuperabili.

GNU Parted

E' possibile recuperare le partizioni utilizzando il comando parted.

Innanzitutto, quando si modifica la tabella delle partizioni sul disco rigido, è necessario assicurarsi che nessuna partizione sul disco sia montata, compreso lo [:Hardware/DispositiviPartizioni/PartizioniUbuntu#swap:spazio di swap].

Per smontare lo spazio di swap e avviare Parted procedere come segue:

  • Avviare una delle distribuzioni live citate in precedenza.
  • Digitare in una finestra di [:AmministrazioneSistema/RigaDiComando:terminale] il seguente comando:

    sudo swapoff -a
  • Eseguire Parted digitando in un terminale il seguente comando:

    sudo parted /dev/sda

    dove /dev/sda è il dispositivo da recuperare.

  • Utilizzare l'opzione di recupero:

    rescue start end

    dove "start" è l'area del disco in cui si ritiene che la partizione inizi ed "end" indica la sua fine. Nel caso in cui parted trovi una partizione potenziale, verrà chiesta conferma per la sua aggiunta nella tabella delle partizioni.

Testdisk

In alternativa a Parted è possibile [:AmministrazioneSistema/InstallareProgrammi:installare] [apt://testdisk testdisk].

Avviare la scansione dei dispositivi con Testdisk digitando in una finestra di terminale il seguente comando:

sudo testdisk

Utilizzare i menù per recuperare le partizioni.

Gpart

Un altro modo per controllare e ricreare la tabella delle partizioni consiste nell'[:AmministrazioneSistema/InstallareProgrammi:installare] ed utilizzare [apt://gpart gpart].

  • Digitare in una finestra di terminale il seguente comando

    sudo gpart /dev/sda

    dove /dev/sda è il dispositivo da recuperare.

  • È possibile ripristinare la tabella delle partizioni, solo dopo aver verificato con la massima attenzione (viceversa si invita a scrivere su un altro dispositivo), digitando in una finestra di terminale il seguente comando

    sudo gpart -W /dev/sda /dev/sda

Creare un immagine di un dispositivo

Per ottenere l'immagine di un dispositivo danneggiato, in preparazione del salvataggio dei file, è disponibile il programma GNU ddrescue [:AmministrazioneSistema/InstallareProgrammi:installabile] tramite il pacchetto [apt://gddrescue gddrescue]. In seguito il suo comando sarà ddrescue.

Per una breve panoramica delle sue funzionalità e per approfondimenti si invita alla lettura del [http://www.gnu.org/software/ddrescue/ddrescue_it.html seguente documento].

Prima di procedere, bisogna tenere presente che i filesystem di tipo [:Hardware/DispositiviPartizioni/MontarePartizioni/Fat:Fat] dispongono di un limite di 4GiB alla dimensione di ciascun file. E' tipico delle unità USB disporre di questo tipo di filesystem. Se si è a conoscenza che l'immagine finale sarà superiore a tale dimensione è necessario utilizzare filesystem che supporti capacità superiori per il singolo file come ad esempio [:Hardware/DispositiviPartizioni/MontarePartizioni/Ext3:Ext3] o altri.

  • Per utilizzare GNU ddrescue digitare in una finestra di terminale un comando avente la seguente sintassi:

    ddrescue [options] partizione_da_recuperare destinazione_immagine destinazione_file_di_log
  • Quindi, ad esempio

    sudo ddrescue -r 3 /dev/sda /media/usbdrive/image /media/usbdrive/logfile

    dove il comando ddrescue di recupererà l'immagine dal dispositivo dev/sda e di salvarla in /media/usbdrive/image; inoltre, creerà un file di log in /media/usbdrive/logfile. L'opzione -r 3 rappresenta il numero di tentativi di lettura che ddrescue farà qualora incontri degli errori. -1 invita il programma ad eseguire un numero infinito di tentativi.

  • Il passo successivo potrebbe essere:

    sudo ddrescue -r 3 -C /dev/sda /media/usbdrive/image /media/usbdrive/logfile

    dove rispetto al precedente è stata aggiunta l'opzione -C che invita il programma circoscrivere la lettura all'interno dei file già presenti nel registro (o file di log) creato in precedenza .

Un [http://www.forensicswiki.org/wiki/Ddrescue noto sito] di analisi forense consiglia la seguente procedura:

  • Creare un immagine copiando all'interno di essa più dati possibili, senza contiere tentativi di lettura nel caso si incontrino degli errori (opzione -n):

    ddrescue -n /dev/hda1 imagefile logfile
     * Riprovare andando più a fondo riprovando 3 volte in presenza di errori di lettura: {{{
    ddrescue -d -r 3 /dev/hda1 imagefile logfile 
  • Se il comando precedente fallisce riprovare leggendo i settori integralmente:

    ddrescue -d -R -r 3 /dev/hda1 imagefile logfile

Estrarre i dati da un immagine

Dopo avere creato l'immagine del dispositivo è necessario concentrarsi sul recupero dei dati presenti sull'immagine stessa. Qualora il filesystem non è recuperabile, è possibile comunque tentare di recuperare i singoli file.

Montare le partizioni sull'immagine

Se è stato recuperato l'intero disco, è possibile montare le singole partizioni "in loop" sull'immagine utilizzando l'opzione "Offset". mmls, [:AmministrazioneSistema/InstallareProgrammi:installabile] dal pacchetto [apt://sleuthkit sleuthkit] è in grado di mostrare le partizioni che si trovano all'interno dell'immagine:

mmls file -b
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

     Slot    Start        End          Length       Size    Description
00:  -----   0000000000   0000000000   0000000001   0512B   Primary Table (#0)
01:  -----   0000000001   0000000031   0000000031   0015K   Unallocated
02:  00:01   0000000032   0001646591   0001646560   0803M   DOS FAT16 (0x06)
03:  00:00   0001646592   0002013183   0000366592   0179M   DOS FAT16 (0x06)

Il programma mostra più partizioni. In questo esempio, volendo montare la partizione DOS a partire dal blocco 32 (terza riga nell'esempio mostrato) bisognerà calcolare il numero di byte moltiplicando per 512 (1 blocco è uguale 512 byte). In questo caso 32 * 512 = 16384 sarà il byte di inizio della partizione. Quindi montare l'immagine:

sudo mount -o loop,offset=16384 file mnt

Per montare una tipica partizione NTFS creata da Windows usare:

sudo mount -t ntfs -o r,force,loop,offset=32256 file mnt

dove 63 * 512 byte = 32256

Estrarre singoli file dalla partizione recuperata

Foremost

[http://foremost.sourceforge.net/ Foremost] è un tool da riga di comando in grado di recuperare file da un certo numero di filesystem, inclusi i sistemi Fat, Ext3 e NTFS.

Supponendo che i file persi siano su /dev/hda, è necessario creare una cartella scrivibile su un altro disco in cui è possibile inserire i file recuperati (nell'esempio dev/sdb).

  • Montare il disco esterno e creare al suo interno una cartella chiamata foremost da utilizzare per il recupero:

    sudo mount /dev/sdb1 /recovery
    sudo mkdir /recovery/foremost
  • Avviare foremost digitando in una finestra di terminale il seguente comando:

    sudo foremost -i /dev/hda -o /recovery/foremost
  • Per avviare foremost su un file immagine semplicemente sostituire il percorso

    sudo foremost -i image -o /recovery/foremost
  • I file recuperati saranno di proprietà dell'utente root. Per cambiare i permessi digitare in una finestra di terminale i seguenti comandi:

    sudo chown -R youruser:youruser /recovery/foremost

    dove youruser:youruser rappresentano rispettivamente l'utente e il gruppo di appartenenza.

  • Usare l'opzione -w solo per si desidera ottenere un analisi dei file recuperabili:

    sudo foremost -w -i /dev/hda -o /recovery/foremost
  • Per recuperare uno specifico tipo di file usare l'opzione -t:

    sudo foremost -t jpg -i /dev/hda -o /recovery/foremost

Per una panoramica dei file supportati da Foremost fare riferimento alla pagina man.

Scalpel

Scalpel recupera i file utilizzando come database le definizioni contenute [http://it.wikipedia.org/wiki/Formato_di_file negli header e nei footer] presenti all'interno di un file immagine o di un file .raw. È simile a Foremost e potrebbe avere dei miglioramenti.

Per impostazione predefinita, tutti i tipi di file presenti in /etc/scalpel/scalpel.conf sono commentati. Per specificare quali tipi di file si vogliono ricercare è necessario modificare il file decommentando le righe necessarie. Si allega un file [http://wiki.ubuntu-it.org/GiuseppeTerrasi/Prove8?action=AttachFile&do=get&target=scalpel.conf scalpel.conf di esempio] al fine di mostrare l'elenco dei file che è in grado di recuperare.

Digitare in una finestra di terminale il seguente comando

sudo scalpel file -o nome_cartella

dove file è il file immagine (o dispositivo) e nome_cartella è la cartella di destinazione.

Magic Rescue

[http://www.itu.dk/people/jobr/magicrescue/ Magic Rescue] è un programma che utilizza i cosiddetti [http://it.wikipedia.org/wiki/Formato_di_file magic number] per identificare la presenza e il tipo di file, e che può essere esteso a molti tipi di file attraverso l'uso di "recipes".

[:AmministrazioneSistema/InstallareProgrammi:Installare] il pacchetto [apt://magicrescue magicrescue].

Note that most of the provided recipes need other software installed to work, so open the desired recipes in /usr/share/magicrescue/recipes/ using a text editor and read the comments contained.

Per recuperare dei file con estensione gzip e .png da una partizione chiamata /dev/sda1, digitare in una finestra di terminale il seguente comando:

mkdir ~/output
sudo magicrescue -r gzip -r png -d ~/output /dev/sda1

Questo scriverà i dati recuperati all'interno della cartella output dentro la cartella Home.

Photorec

PhotoRec è un programma di recupero dati creato inizialmente solo per recuperare immagini perse dalla memoria della fotocamera digitale o da dischi fissi. In seguito il supporto è stato esteso anche per file non audio o video. Consente la ricerca di 80 diversi tipi di file. PhotoRec fa parte del pacchetto [apt://testdisk testdisk].

Per avviare Photorec per analizzare un file immagine digitare il seguente comando in una finestra di terminale:

sudo photorec imagefilename

Per recuperare i file direttamente dal dispositivo oggetto di recupero, avviare il programma senza argomenti e selezionare i dispositivi disponibili dal menù:

sudo photorec

recoverjpeg

recoverjpeg è un programma specifico per l'identificazione e il recupero delle immagini in formato .jpeg.

[:AmministrazioneSistema/InstallareProgrammi:Installare] il pacchetto [apt://recoverjpeg recoverjpeg] e avviarlo digitando in una finestra di terminale il seguente comando:

sudo recoverjpeg /dev/hda1

sostituendo /dev/hda1 con il dispositivo sul quale si desidera indagare.

I file recuperati verranno salvati nella propria cartella Home, ogni immagine sarà salvata nel formato image*.jpg.

Ntfsprogs

Si veda il [https://help.ubuntu.com/community/DataRecovery/NtfsUndelete seguente documento] per questo strumento capace di recuperare file da un filesystem NTFS.

Sleuth Kit e Autopsy

Autopsy Forensic Browser è un'interfaccia grafica per la suite The Sleuth Kit. Sono in grado di analizzare i dischi di Windows e UNIX e file system come NTFS, FAT, UFS1/2, Ext2/3.

Sono entrambi Open Source e disponibili su piattaforme UNIX. Autopsy essendo HTML-based è possibile connettersi ad esso da qualsiasi piattaforma attraverso l'uso di un browser. Autopsy mostrerà i dettagli circa i dati cancellati e la struttura del filesystem.

Autopsy

Autopsy può essere avviato da un live CD. Bisognerà indicare un disco sul quale salvare le informazioni estratte e un indirizzo IP verso il quale connettersi.

Per esempio, assumendo che si disponga di un dispositivo montato in /media/disk con una cartella chiamata autopsy e che l'indirizzo IP sia 192.168.0.1:

sudo autopsy -d /media/disk/autopsy 192.168.0.1

Sleuthkit

  • Estrarre i blocchi non allocati (cancellati) da un dispositivo o da un file immagine:

    dls inputimage > outputimage
    Utilizzare un programma di recupero dati (fare anchor) per cercare i file dall'immagine di output.
  • fls elenca i nomi dei file e delle cartelle di un immagine ed è in grado di visualizzare i nomi dei file eliminati di recente dalle cartelle con l'inode specificato. Se il filesystem è stato recuperato in un file chiamato "loopfile", è possibile elencarne il contenuto digitando in una finestra di terminale il seguente comando:

    fls loopfile -r -f fat -i raw
    r/r 3: test (Volume Label Entry)
    r/r * 5: sample.docx
    r/r * 7: sample.pptx
    r/r * 9: sample.xlsx
  • icat apre l'immagine e copia i file con il numero di inode specificato sullo standard output. Se fls ha mostrato l'inode dei file presenti sull'immagine, per recuperare i file digitare in una finestra di terminale il seguente comando:

    icat -r -f fat -i raw loopfile 5 > sample.docx
  • sorter ordina i file presenti in un immagine per tipo di file. Per ordinare tutti i file presenti sul dispositivo /dev/sdc1 e mettere il file immagine in una cartella denominata out digitare in una finestra di terminale il seguente comando:

    sudo sorter -h -s -i raw -f fat -d out -C /usr/share/sleuthkit/windows.sort /dev/sdc1

In [http://forums.gentoo.org/viewtopic-t-365703.html questa pagina] viene mostrato uno script che estrae i file da un immagine usando fls e icat. [http://matt.matzi.org.uk/2008/07/03/reconstructing-heavily-damaged-hard-drives/ Questo script] invece il cercherà di ricostruire le cartelle del filesystem e la struttura dei file.

Cleaning up

from:How to recover lost files after you accidentally wipe your hard drive

Sort certain types of files:

sudo mkdir recovery/VID recovery/JPG

find recovery/ -name "*.avi" | xargs -i mv {} recovery/VID/

find recovery/ -name "*.mpg" | xargs -i mv {} recovery/VID/

find recovery/ -name "*.jpg" | xargs -i mv {} recovery/JPG/ 

Eliminate small photos:

sudo mkdir recovery/SMALL

find recovery/JPG/ -name "*.jpg" -size -1024k | xargs -i mv {} recovery/SMALL/ 

Rename jpegs according to exif data:

find JPG/ -name "*.jpg" | xargs -i jhead  -nf%Y%m%d-%H%M%S {}

Then, remove duplicates.

find /var/recovery/JPG/ -name "*a.jpg" | xargs -i mv {} /var/recovery/JPG/DUPS/

Copy files with matching strings:

cd recovery
mkdir ../copy/
grep -l "enter the string of text here" *.doc | xargs -i cp {} ../copy/

Ulteriori risorse


CategoryHomepage