Documentació de Jornada Pràctica › Docs › COEINF_Jornada_de... · Documentació de Jornada...
Transcript of Documentació de Jornada Pràctica › Docs › COEINF_Jornada_de... · Documentació de Jornada...
COMISSIÓ DE PERITATGES DEL COL LEGI OFICIAL D’ENGINYERIA EN INFORMÀTICA DE CATALUNYA
Documentació de Jornada Pràctica
Apropament al clonat de discos: dispositius, eines i comandes
Joaquim Anguas
8 de març de 2011
Documentació de Jornada Pràctica: Apropament al clonat de discos: dispositius, eines i comandes
Documentació de Jornada Pràctica: Apropament al clonat de discos: dispositius, eines i comandes
Página 2 de 13
Contingut 1 Context .................................................................................................................................. 3
1.1 El Col·legi ....................................................................................................................... 3
1.2 La Comissió de Peritatges .............................................................................................. 3
1.3 Participació, doctrina i sessions de bones pràctiques ................................................... 3
2 Proposta de sessió ................................................................................................................. 4
2.1 Plantejament de la sessió .............................................................................................. 4
3 Documentació ....................................................................................................................... 5
3.1 Recomanacions prèvies ................................................................................................. 5
3.2 Introducció .................................................................................................................... 6
3.3 Enllaços .......................................................................................................................... 8
3.3.1 Bloquejadors ......................................................................................................... 8
3.3.2 Clonadores............................................................................................................. 8
3.3.3 Distributions .......................................................................................................... 8
3.4 Previous ......................................................................................................................... 9
3.5 Hardware setup ............................................................................................................. 9
3.6 Basic commands ............................................................................................................ 9
3.6.1 mount .................................................................................................................... 9
3.6.2 mount flavors ...................................................................................................... 10
3.6.3 parted .................................................................................................................. 10
3.6.4 dd / dcfldd / dc3dd / ddrescue ............................................................................ 11
3.6.5 Examples ............................................................................................................. 12
Documentació de Jornada Pràctica: Apropament al clonat de discos: dispositius, eines i comandes
Página 3 de 13
1 Context
1.1 El Col·legi El Col·legi Oficial d’Enginyeria en Informàtica de Catalunya és una institució de dret públic
creada per la Llei 2/2001 del Parlament de Catalunya. Aglutina als i les enginyers / es en
Informática, els representa, organitza, protegeix i millora, vetllant per un exercici adequat de la
professió, amb garantia de qualitat i voluntat de servei a la Societat.
1.2 La Comissió de Peritatges La seva Comissió de Peritatges, treballa en la formació i capacitació dels pèrits que ofereix tant
a entitats privades com a organismes públics o òrgans judicials.
El servei de peritatges va ser un dels primers ofert pels col·legis i ha estat objecte de regulació
recent amb un codi deontològic, un estatut i un reglament.
1.3 Participació, doctrina i sessions de bones pràctiques A partir de la regulació de la Comissió de Peritatges l’eix fonamentals de la seva actuació ha
estat la cerca de la excel·lència en l’activitat. La voluntat de servei marca la línia d’actuació del
Col·legi d’Enginyeria en Informàtica, establint els mecanismes per a garantir un servei de la
màxima qualitat. Les mesures dissenyades per a aconseguir aquest objectiu han estat:
- El foment actiu de la participació dels membres de la Comissió en la definició i
implementació de l’orientació de la mateixa,
- la creació d’un nucli de coneixement que permeti una constant millora tècnica dels
serveis,
- l’establiment de mesures per tal de garantir la formació continuada dels pèrits i
- la institució de mecanismes que assegurin la uniformitat de criteris.
La uniformitat de criteris es concretaria en una figura de caràcter doctrinal: les bones
pràctiques. Aquestes bones pràctiques es generen en jornades que cerquen establir un
consens al voltant d’un tema concret i fitat, que es considera d’interès doctrinal i que es
desenvolupa i contrasta en una o més sessions.
Documentació de Jornada Pràctica: Apropament al clonat de discos: dispositius, eines i comandes
Página 4 de 13
2 Proposta de sessió Aquesta sessió pràctica ha estat proposada a la junta de la Comissió de Peritatges pel pèrit
Joaquim Anguas Balsera en data 26 de març de 2011.
2.1 Plantejament de la sessió Encara que resta fora de l’abast de la sessió la justificació de la pròpia pràctica, en l’àmbit
forense és pràctica comú la còpia de discos en la forma que s’anomena “clonat”, “còpia mirall”
o “còpia bit a bit”.
Aquest tipus de còpia s’aplica a mitjans d’emmagatzemament magnètic i reprodueix l’estat
global del dispositiu, a diferència d’altres tipus de còpies que només atendrien a l’espai ocupat
del mateix. D’aquesta manera es garanteix que l’especialista que ha d’analitzar el mitjà, tindrà
a la seva disposició l’estat complert del mateix i no només allò que és visible a l’usuari.
La sessió pretén apropar als pèrits a diferents dispositius, eines i comandes relacionades amb
el clonat de discos.
El ponent farà una petita introducció a les necessitats i problemes derivats de la pràctica de les
accions de clonat i farà una demostració guiada de diferents eines i comandes utilitzades en el
procés d’adquisició i posada a disposició de l’especialista dels mitjans adquirits.
Documentació de Jornada Pràctica: Apropament al clonat de discos: dispositius, eines i comandes
Página 5 de 13
3 Documentació La documentació referent a les comandes que segueix es proporciona en anglès per tal de
facilitar la referència, ja que bona part d’aquesta referència es troba en aquest idioma.
3.1 Recomanacions prèvies En cas que el pèrit hagi d’adquirir evidències en el curs d’un cas, cal que segueixi les següents
recomanacions (extretes d’un decàleg treballat amb diferents actors dintre de l’àmbit de la
prova en informàtica, en castellà):
1. Sé prudente. Lee los siguientes apartados. Si no tienes perfectamente claro a qué se
refieren, deja que otro más preparado se ocupe de llevar a cabo la acción. No actúes
sobre entornos sobre los que no tengas un conocimiento que te permita actuar con la
debida soltura.
2. Actúa con independencia e imparcialidad. No debes actuar en casos en los que tu
independencia o imparcialidad puedan quedar en entredicho. Manifiesta a las partes
implicadas cualquier circunstancia que pudiera interpretarse en detrimento de ambos
conceptos.
3. Asegúrate el encargo. Antes de realizar cualquier actuación, asegúrate de que tus
acciones están cubiertas por los correspondientes mandatos por escrito, que el objeto
y medios están debidamente definidos y que dichas acciones no contravienen la
legislación vigente, en especial si pueden afectar a datos de personas ajenas al
encargo.
4. Planea la acción. Planifica la acción en la medida de lo posible y prepara el equipo
necesario, atente en lo posible al plan establecido y procesa las evidencias por orden
de volatilidad.
5. Actúa con transparencia. Realiza todas las acciones necesarias en presencia de un
tercero independiente.
6. Trabaja con agilidad. Piensa en el impacto que tus acciones tienen en los sistemas
objeto de estudio.
7. Documenta. Crea y mantén un registro exhaustivo de todas las acciones que realizas,
asegúrate de que tus acciones son repetibles, identifica, marca, sella digitalmente y
documenta adecuadamente las evidencias. Captura todos aquellos elementos que
permitan dotar a tus acciones de la debida coherencia.
8. No comprometas la evidencia. Evita por todos los medios alterar la evidencia, analiza
siempre sobre una copia secundaria nunca sobre el original. No ejecutes programas
sobre el sistema objeto, si debes capturar evidencias en caliente hazlo de forma no
intrusiva.
Documentació de Jornada Pràctica: Apropament al clonat de discos: dispositius, eines i comandes
Página 6 de 13
9. Usa herramientas adecuadas. Las herramientas que uses han de estar orientadas a
capturar evidencias y han de ser accesibles, contrastables, verificables o constituir un
estándar de facto en la actividad.
10. Sé discreto. No comentes la información a la que tengas acceso por tu encargo con
nadie. Debes poner los medios adecuados para que los datos relativos al encargo se
mantengan secretos. Accede únicamente a los datos mínimos imprescindibles para
cumplir el encargo destruyéndolos una vez dejan de ser necesarios.
3.2 Introducció Aquesta jornada s’orienta a fer una primera aproximació a la clonació de discos, principalment
fent servir eines obertes.
Existeixen al mercat diferents productes hardware que faciliten les tasques de clonat de discos.
Es tracta de dispositius d’ús específic que permeten realitzar amb una configuració mínima
tasques de clonat de discos amb un rendiment elevat.
Un dels aspectes significatiu d’aquests dispositius és que es presenten com una solució
tancada i que estan tancats a altres tasques. D’aquesta manera, actors no tècnics els perceben
com més fiables a l’hora de realitzar tasques de clonat.
D’altra banda, aquesta especificitat i el seu preu elevat són una barrera d’entrada important.
Hi ha també disponibles uns dispositius que es connecten a un mitjà d’emmagatzemament i
que bloquegen les ordres d’escriptura que se li puguin enviar. Són especialment útils quan es
vol examinar un dispositiu i cal assegurar que no es veurà modificat de cap manera. Hi ha
ocasions, però, en les que la modificació és impossible d’evitar, com per exemple en el cas de
mitjans d’emmagatzemament que contenen particions ntfs que no s’han tancat
adequadament. Sense escriure el disc actualitzant la informació que cal, no es podran muntar.
A banda dels dispositius d’ús específic, existeixen diferents distribucions de sistemes operatius
orientades a realitzar accions forenses. Aquestes distribucions solen basar-se en el sistema
operatiu Linux, comunament en les distribucions Knoppix i darrerament Ubuntu.
En aquestes distribucions es troben eines orientades a donar una interfície gràfica a comandes
de més baix nivell i que comentarem a continuació.
AIR (Automated Image and Restore) o GParted són un exemple comú d’aquestes eines.
Documentació de Jornada Pràctica: Apropament al clonat de discos: dispositius, eines i comandes
Página 7 de 13
Ilustración 1 AIR
Ilustración 2 GParted
Finalment hi ha un conjunt de comandes que ofereixen funcionalitat bàsica que permet
realitzar de forma fiable i segura aquelles tasques més comuns relacionades amb la clonació de
discos. Bàsicament mount, parted i dcfldd/sd3dd.
Aquesta jornada centrarà la seva part pràctica en l’ús d’aquestes comandes.
El procediment habitual d’obtenció i tractament de suports magnètics seria el següent:
- obtenció d’informació del suport amb parted o mount
- còpia amb dcfldd
- obtenció d’informació de la imatge
Documentació de Jornada Pràctica: Apropament al clonat de discos: dispositius, eines i comandes
Página 8 de 13
- muntatge de les particions d’interès
- anàlisi
Les eines i dispositius de clonat també es poden fer servir per esborrar discos de forma segura.
3.3 Enllaços
3.3.1 Bloquejadors
http://www.digitalintelligence.com/forensicwriteblockers.php
http://www.forensicswiki.org/wiki/Write_Blockers
http://www.wiebetech.com/includes/home/featuredproductx.php?item=5
3.3.2 Clonadores
http://www.icsforensic.com/
http://www.logicube.com/
3.3.3 Distributions
http://www.backtrack-linux.org/
http://www.caine-live.net/
http://www.deftlinux.net/
Documentació de Jornada Pràctica: Apropament al clonat de discos: dispositius, eines i comandes
Página 9 de 13
3.4 Previous Cloning hard drives is a common activity in the course of the duties of an expert witness. Some
rely on specialized hardware devices, some prefer to use a general purpose computer plus
some additional hardware and system software.
System software is usually a forensics oriented Linux distribution.
Forensics Linux distributions use to include tools that ease the action to clone devices. But in
order to gain a better knowledge about what involves a clone copy and how to use it once it’s
produced, we will focus on basic commands.
Remember to set the system time in order to produce consistent logs. There are some
different image file formats (encase, dd, aff, ftk, etc).
3.5 Hardware setup You can use the following items to set up a computer to clone disks:
- A laptop with a Express Card slot
- 2x ports eSATA LaCie SATA II ExpressCard 34
- 2x Conceptronic SATA&IDE to USB&eSATA adapter
- 2x eSATA cables
- boot media for any forensic distribution that comes with dcfldd/dc3dd.
3.6 Basic commands
3.6.1 mount
Mount/unmount is the basic command to bind a physical device (under the /dev tree) to a
logical mount point (usually under /media)
Mount without arguments returns the mount status of the computer (all mounted devices and
info). When it takes two arguments (device and mount point) it creates some OS structures
and binds the device to the mountpoint. It takes some options: “-ro” makes the mount read-
only, -type sets the filesystem type, etc.
Mount will show the blocksize of a partition:
ubuntu@ubuntu:/$ mount
…
/dev/sdc1 on /media/sdc1 type fuseblk (rw, nosuid, nodev, noatime, allow_other,
blksize=4096)
…
See “blksize=4096”. You will use this block size when later entering the cloning command.
Mount needs admin privileges. It is also used to mount disk images as seen in the next section
(loop mount).
Documentació de Jornada Pràctica: Apropament al clonat de discos: dispositius, eines i comandes
Página 10 de 13
3.6.2 mount flavors
There’s some mount derived commands, specific for ntfs partitions, as mount.ntfs-3g or
mount.ntfs-FUSE.
3.6.3 parted
Most frequent calls to parted are:
- Interactive mode (just call parted)
- List (parted –l)
List mode is useful for when you need to know what devices and partitions you have
connected to your system.
When in interactive mode you can query complex parameters of partitions, as starting byte.
As an example, lest query the starting byte of a partition into a dd file so we can loop-mount it.
ubuntu@ubuntu:/media/disk/CASE_ID/LOCATION_ID/$ parted MEDIA_ID.dd
WARNING: You are not superuser. Watch out for permissions. Warning: Unable to open /media/disk/CASE_ID/LOCATION_ID/MEDIA_ID.dd read-write (Permission denied). /media/disk/CASE_ID/LOCATION_ID/MEDIA_ID.dd has been opened read-only.
GNU Parted 1.7.1 Using /media/disk/CASE_ID/LOCATION_ID/MEDIA_ID.dd
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) unit Unit? [compact]? B (parted) print
Disk /media/disk/CASE_ID/LOCATION_ID/MEDIA_ID.dd: 30005821439B Sector size (logical/physical): 512B/512B Partition Table: msdos
Number Start End Size Type File system Flags
1 8225280B 10487231999B 10479006720B extended lba
5 257536B 10487231999B 10478974464B logical ntfs
2 10487232000B 29997596159B 19510364160B primary ntfs boot
(parted) q
Now you can mount partition 2:
ubuntu@ubuntu:/media/disk/CASE_ID/LOCATION_ID/$ sudo mount -r -o
loop,offset=10487232000 -t ntfs MEDIA_ID.dd /media/test
Documentació de Jornada Pràctica: Apropament al clonat de discos: dispositius, eines i comandes
Página 11 de 13
3.6.4 dd / dcfldd / dc3dd / ddrescue
3.6.4.1 dd
Main options for dd are:
- if / of input and output files (or devices)
- ibs / obs / bs input output or common block size.
- conv different options on data processing. Most common are sync, no error that
continues the process even after read or write failures and keeps the size of the output
by adding zeros in case of unrecoverable read failures.
3.6.4.2 dcfldd
The command dcfldd is an evolution of dd. It adds some features as on the fly hashing or basic
process progress.
- hashes you have to set hash to the hash function (hash=sha1), hashwindow to a value
or zero for the whole input, and hashlog to the output file for the hash result.
3.6.4.3 dc3dd
Syntax for dc3dd is similar to dcfldd (and dd).
When computing hashes you can specify a hashwindow or you can have it calculated for the
whole input by not setting the option. When using dcfldd you have to set a 0 size hashwindow
in this last case.
- progress you can set an option “progress=on” that shows the operation’s progress
with detail.
It shows the system time on start and finish, so you do not need to call date before and after
the command and it has some logging options. It seems to give a slightly better performance
and seems to automatically set a good blocksize for every operation.
3.6.4.4 ddrescue
Whenever you happen to get errors during the copy with any other flavor of dd, it is
recommended that you stop it and use ddrescue instead.
The command ddrescue does a first copy without retrying any error in order to retrieve the
maximum amount of information from the disk. It logs all the errors to a file and then it retries
them. You can isolate the errors to a very minimum and this can make the difference between
a mountable disk and a disk that needs repair (and explanations) to start working with.
3.6.4.5 Output to two drives
dd reads the standard input and writes to the standard output when input or output are not
set. Using tee and pipes, you can link dd commands together.
To write to two output files at a time, you need a dd command to read the source drive, a pipe
and a tee and two dd commands to perform the writing.
This is the command structure:
Documentació de Jornada Pràctica: Apropament al clonat de discos: dispositius, eines i comandes
Página 12 de 13
caine@caine:~$ sudo dd if=/dev/sdd1 | tee >(dcfldd of=/media/sde1/sdd1.dd) | dcfldd
of=/media/sda2/sdd1.dd
3.6.5 Examples
3.6.5.1 Dcfldd, nohash, eSATA to eSATA caine@caine:~$ date; sudo dcfldd if=/dev/sdd1 of=/media/sde1/sdd1.dd ibs=32k obs=4k conv=sync,noerror; date
Thu Apr 7 16:53:46 CEST 2011
3584000 blocks (112000Mb) written.
448000+0 records in
3584000+0 records out
Thu Apr 7 16:58:32 CEST 2011
14 GB / 4:46 m = 176,2 GB/h
3.6.5.2 dc3dd, no hash, eSATA to eSATA caine@caine:~$ sudo dc3dd if=/dev/sdd1 of=/media/sde1/sdd1.dd conv=sync,noerror progress=on
warning: sector size not probed, assuming 512
dc3dd 6.12.3 started at 2011-04-07 16:59:46 +0200
command line: dc3dd if=/dev/sdd1 of=/media/sde1/sdd1.dd conv=sync,noerror progress=on
compiled options: DEFAULT_BLOCKSIZE=32768
sector size: 512 (assumed)
28672000+0 sectors in
28672000+0 sectors out
14680064000 bytes (14 G) copied (??%), 242.473 s, 58 M/s
dc3dd completed at 2011-04-07 17:03:49 +0200
14 GB / 4:03 m = 207,4 GB/h
3.6.5.3 dc3dd, no hash, iSATA to eSATA caine@caine:~$ sudo dc3dd if=/dev/sda1 of=/media/sde1/sda1.dd conv=sync,noerror progress=on
warning: sector size not probed, assuming 512
dc3dd 6.12.3 started at 2011-04-07 17:04:13 +0200
command line: dc3dd if=/dev/sda1 of=/media/sde1/sda1.dd conv=sync,noerror progress=on
compiled options: DEFAULT_BLOCKSIZE=32768
sector size: 512 (assumed)
204800+0 sectors in
204800+0 sectors out
104857600 bytes (100 M) copied (??%), 1.53485 s, 65 M/s
dc3dd completed at 2011-04-07 17:04:14 +0200
100 MB / 1.53 s = 229,05 GB/h
3.6.5.4 dcfldd, hash sha1, eSATA to eSATA & iSATA (two copies) caine@caine:~$ date; sudo dcfldd if=/dev/sdd1 conv=sync,noerror ibs=32k obs=4k | tee >(dcfldd
of=/media/sde1/sdd1.dd bs=4k hashwindow=0 hash=sha1 hashlog=/media/sde1/hash_sdd1.sha1) | dcfldd
of=/media/sda2/sdd1.dd bs=4k hashwindow=0 hash=sha1 hashlog=/media/sda2/hash_sdd1.sha1; date
Thu Apr 7 16:38:25 CEST 2011
3584000 blocks (112000Mb) written.
448000+0 records in
3584000+0 records out
3584000 blocks (14000Mb) written.
3584000+0 records in
3584000+0 records out
3584000 blocks (14000Mb) written.
Documentació de Jornada Pràctica: Apropament al clonat de discos: dispositius, eines i comandes
Página 13 de 13
3584000+0 records in
3584000+0 records out
Thu Apr 7 16:46:21 CEST 2011
14 GB / 7:56 m = 105,9 GB/h
3.6.5.5 dc3dd, hash sha1, eSATA to eSATA & iSATA (two copies) caine@caine:~$ sudo dc3dd if=/dev/sdc1 conv=sync,noerror progress=on | tee >(dc3dd of=/media/sdd1/sdc1.dd
hash=sha1 hashlog=/media/sdd1/hash_sdc1.sha1) | dc3dd of=/media/sda2/sdc1.dd hash=sha1
hashlog=/media/sda2/hash_sdc1.sha1
warning: sector size not probed, assuming 512
dc3dd 6.12.3 started at 2011-04-07 12:30:26 +0200
command line: dc3dd if=/dev/sdc1 conv=sync,noerror progress=on
compiled options: DEFAULT_BLOCKSIZE=32768
sector size: 512 (assumed)
warning: sector size not probed, assuming 512s, 7.6 M/s
dc3dd 6.12.3 started at 2011-04-07 12:30:27 +0200
command line: dc3dd of=/media/sdd1/sdc1.dd hash=sha1 hashlog=/media/sdd1/hash_sdc1.sha1
compiled options: DEFAULT_BLOCKSIZE=32768
sector size: 512 (assumed)
warning: sector size not probed, assuming 512
dc3dd 6.12.3 started at 2011-04-07 12:30:27 +0200
command line: dc3dd of=/media/sda2/sdc1.dd hash=sha1 hashlog=/media/sda2/hash_sdc1.sha1
compiled options: DEFAULT_BLOCKSIZE=32768
sector size: 512 (assumed)
sha1 TOTAL: 1d262742e02bb254ad4ba848995ed5ce7723b4eb
28672000+0 sectors in
28672000+0 sectors out
14680064000 bytes (14 G) copied (??%), 354.818 s, 39 M/s
dc3dd completed at 2011-04-07 12:36:21 +0200
28672000+0 sectors in
28672000+0 sectors out
14680064000 bytes (14 G) copied (??%), 354.738 s, 39 M/s
dc3dd completed at 2011-04-07 12:36:21 +0200
sha1 TOTAL: 1d262742e02bb254ad4ba848995ed5ce7723b4eb
28672000+0 sectors in
28672000+0 sectors out
14680064000 bytes (14 G) copied (??%), 354.702 s, 39 M/s
dc3dd completed at 2011-04-07 12:36:21 +0200
14 GB / 5:54 m = 142,4 GB/h