Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 4 del 13/12/2010 13.34.24

Nascondi questo messaggio

Indice(depth=1) Informazioni(rilasci="10.10 10.04 9.10 8.04"; forum="http://forum.ubuntu-it.org/index.php/topic,430020")

Introduzione

In questo documento verrà mostrato come creare un immagine di un dispositivo danneggiato e come estrarre i dati dall'immagine stessa.

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].

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].

Immagine(Icone/Piccole/note.png,,center)

Prima di proseguire, si tenga presente che i filesystem di tipo [http://it.wikipedia.org/wiki/File_Allocation_Table Fat] dispongono di un limite di 4GiB per la dimensione massima di ciascun file. Tipicamente le unità USB utilizzano 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 [http://it.wikipedia.org/wiki/Ext3 Ext3] (dimensione massima 2TiB) 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 il seguente comando

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

    recupererà l'immagine dal dispositivo dev/sda e la salverà in /media/usbdrive/nome_immagine. Inoltre, creerà un file di log in /media/usbdrive/logfile. L'opzione -r 3 rappresenta il numero di tentativi di lettura che ddrescue eseguirà 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/nome_immagine /media/usbdrive/logfile

    dove rispetto al precedente è stata aggiunta l'opzione -C che invita il programma a circoscrivere la lettura all'interno dei file già presenti nel registro (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 alcun tentativo di lettura nel caso si incontrino degli errori (opzione -n)

    sudo ddrescue -n /dev/sda /media/usbdrive/nome_immagine /media/usbdrive/logfile
  • Riprovare andando più a fondo tentando 3 volte in presenza di errori di lettura

    sudo ddrescue -d -r 3 /dev/sda /media/usbdrive/nome_immagine /media/usbdrive/logfile
  • Se il comando precedente fallisce riprovare leggendo i settori integralmente

    sudo ddrescue -d -R -r 3 /dev/sda /media/usbdrive/nome_immagine /media/usbdrive/logfile

Anchor(estrarre)

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 utilizzando il comando mount e le opzioni loop e Offset.

mmls, [:AmministrazioneSistema/InstallareProgrammi:installabile] dal pacchetto [apt://sleuthkit sleuthkit] è in grado di mostrare le partizioni che si trovano all'interno dell'immagine.

  • Digitare in una finestra di terminale il seguente comando

    mmls nome_immagine -b
  • Un possibile output potrebbe essere il seguente

    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)
  • In questo esempio, volendo montare la partizione DOS a partire dal blocco numero 32 bisognerà calcolare il numero di byte moltiplicandoli per 512 (un 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 nome_immagine mnt
  • Per montare una ipotetica partizione NTFS creata da Windows sarebbe possibile usare

    sudo mount -t ntfs -o r,force,loop,offset=32256 file mnt
    dove 32256 deriva da: blocco 63 * 512 byte.

Ulteriori risorse


CategoryHomepage