5400
Commento: corretti errori di distrazione
|
5400
ForensicsWiki consiglia l'opzione "--retrim", che corrisponde a "-M". "-R" ijvece sta per "--reverse". http://linux.die.net/man/1/ddrescue
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 40: | Linea 40: |
sudo ddrescue -d -R -r 3 /dev/sda /media/usbdrive/nome_immagine /media/usbdrive/logfile | sudo ddrescue -d -M -r 3 /dev/sda /media/usbdrive/nome_immagine /media/usbdrive/logfile |
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
In questo documento verrà mostrato come creare un'immagine di un dispositivo danneggiato e come estrarre i dati da essa.
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.
Installare il pacchetto gddrescue.
Per una breve panoramica delle sue funzionalità e per approfondimenti, si invita alla lettura del seguente documento.
Prima di proseguire, si noti che i filesystem di tipo Fat dispongono di un limite di 4GiB per la dimensione massima dei 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 dei filesystem che supportino capacità superiori per il singolo file (ad esempio, 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
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 rilettura 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 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 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 -M -r 3 /dev/sda /media/usbdrive/nome_immagine /media/usbdrive/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 utilizzando il comando:
mount
e le opzioni loop e offset.
mmls, installabile dal pacchetto 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 sarebbe possibile usare:
sudo mount -t ntfs -o r,force,loop,offset=32256 file /mnt
dove 32256 deriva da: blocco 63 * 512 byte.