La Navidad llega temprano: HFS / HFS + montaje

sólido Este es mi primer intento de usar asciidoc para crear un documento más legible para el lector. Quiero dar las gracias al Dr. Michael Cohen en Google para señalar la herramienta de formato.

El fantasma de HFS Past

No es ninguna gran revelación de que Apple favorece a los sistemas de archivos HFS + / HFS. Pero, cuando comencé mis aventuras en la medicina forense basadas en Linux, mi jefe de herramienta de análisis forense, El Sleuthkit, no admitir sistemas de archivos HFS. La solución fue montar los sistemas de archivos de sólo lectura y examinar los archivos asignados con herramientas y aplicaciones estándar de Linux. Incluso cuando el Sleuthkit añadido soporte HFS, era todavía útil para montar la partición, especialmente cuando se trataba de examinar archivos multimedia.

sólido

Microsoft Windows Windows han estado haciendo más o menos las mismas herramientas que utilizan como HFSExplorer

El proceso en Linux era bastante sencillo:.

  1. de imagen del dispositivo a ser examinado.

  2. Lea la tabla de particiones para identificar el byte-offset a la partición HFS en la imagen.

  3. Utilice el comando mount con el byte-offset para montar la partición.

Por ejemplo

 # MMLS macbookpro320.dd-a /> 
Sector Offset: 0
Las unidades están en sectores de 512 bytes

Slot Inicio Fin Longitud Descripción
04: 00 0000000040 0000409639 0000409600 EFI partición del sistema
05: 01 0000409640 0624880263 0624470624 Cliente />
# mount-o ro, loop , offset = $ ((409.640 * 512)) macbookpro320.dd / mnt / análisis

El comando montar se conecta los sistemas de archivos en dispositivos de almacenamiento en el árbol de archivos GNU Linux. Por el contrario, el comando umount (no ‘desmontar’ como era de esperar) se separa el sistema de archivos del dispositivo del sistema de archivos de GNU Linux. El comando mount arriba trabajado la imagen macbookpro320.dd disco debido a la opción de bucle.

dispositivo Loop

En los sistemas operativos de tipo Unix, un dispositivo de bucle, vnd (disco vnode) o lofi (interfaz de archivos en bucle) es un pseudo-dispositivo que hace que un archivo accesible como un dispositivo de bloque.

http://en.wikipedia.org/wiki/Loop_device Tarjetas telefónicas – Wikipedia


El fantasma de HFS Presente

Pero, en algún lugar del kernel 2.6.34 de Linux, los montaje dejaron de funcionar con dispositivos de bucle HFS en la forma que se ha demostrado anteriormente. Los montaje se pueden seguir utilizando para montar una partición abordado dispositivo de bloque, pero no abordadas por la imagen en offset como en la ilustración de arriba

. Por Partición Block Device File (modo detallado para la ilustración)

 # blkid 
/ dev/sdd1: LABEL = "EFI" UUID = TIPO "2860-11F4" = "vfat"
/ dev/sdd2: UUID = "f2477645-5489-3419- B477-d504574057e3 "LABEL =" Macintosh HD
"TYPE =" hfsplus "

# mount-o ro-v / dev/sdd2 / mnt / análisis /
montar: usted no especificó un tipo de sistema de ficheros para / dev/sdd2
Voy a tratar tipo hfsplus
/ dev/sdd2 on / tipo mnt / análisis hfsplus (ro)

# umount - v / mnt / análisis /
/ dev/sdd2 ha sido desmontado

Como se puede ver, el montar comando funciona como se esperaba cuando la partición está dirigido por el archivo de dispositivo de bloque especial. Pero, cuando la partición está dirigido a byte-offset desde la imagen de disco en bruto o dispositivo, se produce un error:

Por Byte-offset (dispositivo de bloque se muestra)

 # MMLS-a / dev / sdd 
Tabla de particiones GUID (EFI)
Sector Offset: 0 Unidades />

Slot Inicio Fin Longitud Descripción
04: 00 0000000040 0000409639 0000409600 EFI partición del sistema
05: 01 0000409640 0624880263 0624470624 Cliente

# mount-o ro, offset = $ ((409 640 * 512)) / dev / sdd / mnt / análisis
mount: tipo fs mal, mala opción, mala superbloque on / dev/loop2,
faltante página de códigos o ayudante del programa, u otro error
En algunos casos, información útil se encuentra en syslog - tratar
dmesg | tail o algo así
Este error sólo se aplica a HFS particiones formateadas. Otros archivos comunes sistemas FAT, NFTS, EXT2/3/4-do no parece verse afectada.

El fantasma de HFS Future

El trabajo en torno a los dispositivos de almacenamiento es obvia: el punto de montaje en el archivo de dispositivo de bloques de la partición. Pero en la ciencia forense, se trabaja con imágenes de disco para evitar hacer cambios en el medio de almacenamiento original. ¿Cómo abordamos particiones HFS en imágenes de disco, si no podemos abordarlos en offset?

Ingrese kpartx . El kpartx comando lee las tablas de particiones y mapas particiones a archivos de dispositivo. Funciona en los dispositivos y las imágenes de disco. Esto significa que podemos asignar particiones HFS una imagen de disco en un archivo de dispositivo de bloque especial y montarlas abordando ese archivo de dispositivo de bloques como si fuera parte de un dispositivo conectado!

kpartx

 # kpartx 
uso: kpartx [ -a |-d |-l] [-f] [-v] wholedisk
-devmappings una partición complemento
devmappings-R será
readonly d-del devmappings partición
-u update devmappings partición
-l lista de particiones devmappings que se añadirían por un dispositivo conjunto
-p nombre-partición número delimitador
-g vigor GUID (GPT)
-f devmap crear
-s de sincronización. No regrese hasta que se crean las particiones

Para demostrar su uso, vamos a utilizar una imagen cruda (dd) de un MacBook Pro. Otros formatos de imagen de disco trabajarán también, así que siempre que puedan estar expuestos a GNU Linux como dispositivos en bruto (piense xmount ).

Imagen Información

INFORMACIÓN

 # img_stat macbookpro320.dd 
IMAGEN ARCHIVO
--------------------------------------------
Tipo de imagen: crudo Tamaño />
en bytes: 320072933376

Podemos leer las particiones en la imagen de disco con . kpartx

kpartx: Particiones detectados

 # kpartx-l macbookpro320.dd 
loop1p1: 0 409 600 / dev/loop1 40
loop1p2: 0 624 470 624/409 640 dev/loop1

#-kpartx lg macbookpro320.dd
loop1p1: 0 409 600/40 dev/loop1 />

La tabla de particiones GUID

kpartx tiene una opción para forzar una tabla de particiones GUID, lo que la MacBook utiliza, pero como se ha demostrado, no era necesario en este caso.

Todo lo que queda por hacer es asignar las particiones para que podamos montarlos. Podemos utilizar el -r para crear dispositivos de sólo lectura

kpartx:. Mapping Particiones

 # kpartx-av macbookpro320.dd 
añadir mapa loop1p1 (254:0): 0 409 600 lineal / dev/loop1 40
añadir mapa loop1p2 (254:1): 0 624 470 624 linear / dev/loop1 409640

Ahora, el montaje es tan sencillo como apuntar a los nuevos archivos de dispositivos de bloque, que se encuentran en el / dev / mapper .

de montaje de dispositivos de bloque HFS especiales

 # mount-o ro-v / dev/mapper/loop1p2 / mnt / análisis 
montar: usted no especifica un tipo de sistema de ficheros para / dev/mapper/loop1p2
Voy a tratar tipo hfsplus
/ dev/mapper/loop1p2 on / tipo mnt / análisis hfsplus ( ro)


# mount ...
/ dev/mapper/loop1p2 on / tipo mnt / análisis hfsplus (ro, relatime, umask = 22,
UID = 0, gid = 0, nls = utf8)

Después de que haya completado su análisis, desmontar la partición y quitar los dispositivos de bloques especiales.

Limpiar

 # umount-v / mnt / análisis / 
/ dev/mapper/loop1p2 ha sido desmontado

# kpartx-dv macbookpro320.dd
del devmap: loop1p2
del devmap: loop1p1
bucle borrado: / dev/loop1
sólido

Acceso a archivos sin asignar Espacio System

Espacio no asignado en particiones HFS es direccionable a través de The Sleuthkit con la herramienta blkls.

Ahora, ir adelante y conquistar!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *