martes, 10 de junio de 2014

Crackear volúmenes DMG cifrados y FileVault

 En los artículos de Como proteger tus datos más confidenciales o más escandalosos y en el de Como cifrar los datos en tu dispositivo USB se ha tratado la protección de los datos de usuario mediante técnicas de cifrado que son implementadas directamente en Mac OS X. En aquellos post se creaban ficheros cifrados en formato DMG

La cuestión ahora es la contraria, ¿cómo se puede descifrar un volumen DMG cifrado? A esta pregunta se va a responder hoy. Vamos a ver distintas aproximaciones al problema y a las soluciones

DMGExtractor

Esta herramienta, permite convertir ficheros DMG en ficheros ISO. Está desarrollada en lenguaje Java, por lo que es necesario tener instalada la máquina virtual java en el sistema. El programa en sí es un único fichero ejecutable muy sencillo de utilizar que funciona en cualquier sistema operativo con Java instalado.

DMGExtractor tiene licencia GPL y no tiene ningún coste extra para este propósito y puede descargarse desde la web del proyecto: DMG Extractor web site. La idea de este programa es que un fichero DMG cifrado se convierta a otro formato de volumen, por ejemplo ISO, pero para ello es necesario tener la contraseña.

Procedimiento de conversión de DMG a ISO

Una vez se ejecuta DMGExtractor, el programa pedirá un fichero en formato DMG para convertirlo. Tras seleccionar el archivo, DMGExtractor convertirá el fichero a formato ISO. Pedirá al usuario si quiere darle un nombre en concreto a la salida y listo. Así de sencillo, y así de eficiente.


¿Y si la imagen DMG tiene cifrado?
Como se puede ver en la imagen al realizar el proceso de conversión, se solicita la contraseña para el descifrado y se podrá extraer la información a un fichero en formato ISO. Sin embargo, una vez realizada la conversión se pierde toda la seguridad, ya que la imagen ISO quedará sin ningún cifrado. Esta herramienta debe usarse si ya tienes la contraseña y quieres sacar los datos del volumen.
DMGBrute

Si no tienes la contraseña del volumen cifrado se debe utilizar un algoritmo de fuerza bruta o basado en diccionario. La primera herramienta a la que todos hacen referencia es a dmgbrute.c. Esta herramienta realiza un ataque de fuerza bruta utilizando las librerías de cifrado del framework Open Source CSSM/CDSA que soportan Digest: MD5/SHA-1, cifrado simétrico y cifrado asimétrico. Sin embargo, encontrar dmgbrute.c es complicado y las referencias actuales de los que lo han usado dicen que no funcionan con los nuevos formatos de volumen DMG de Mac OS.

vfdecrypt & vfcrack

En la CCC del 2006 se presentó este par de herramientas dentro de la presentación Unlocking FileVault; An analysis of Apple's disk encryption system que dieron Jacob Appelbaum & Ralf-Philipp Weinmann. vfdecrypt es el encargado de descifrar el volumen y vfcrak la herramienta que a partir de un fichero de diccionario crea las claves para probar en vfdecrypt. De nuevo, con las últimas modificaciones de Apple en este formato, estos programas no parecen reconocer los últimos formatos y probado con la contraseña correcta no parece funcionar - ni a nosotros ni al creador de CrowBarDMG que veremos ahora -. Puedes descargar los programas de: vfcrack & vfdecrypt

vfcrack no encuentra la password

CrowbarDMG

CrowbarDMG es una sencilla herramienta gráfica gratuita que realiza fuerza bruta y soporta los cifrado AES 128 y AES 256 de las últimas versiones. Puedes descargarla de la siguiente URL: descargar CrwobarDMG

CrowbarDMG descifra el volumen con ataques de diccionario

Como nos tenía un poco extrañado su funcionamiento y tardaba más o menos lo mismo que nuestro pequeños script del punto siguiente, hemos querido comprobar cuál es el sistema que utiliza para crackear la contraseña, con lo que le hemos hecho un dtrace para ver las acciones y, como se puede ver, hace uso del mismo comando hdiutil que nosotros empleamos en el script hdiNutil.
dtrace a CrowbarDMG
HDiNutil

Al final, haciendo uso de del comando hdiutil se puede hacer un sencillo script en bash que haga un ataque de fuerza bruta, no es la mejor de las soluciones pero funciona. Como era de esperar, se le ha llamado hdiNutil por eso de que hace lo contrario.

#!/bin/bash
if [ $# -ne 2 ]; then
echo "Uso: sh hdiNutil.sh cifrado.dmg wordlist.txt"
exit
fi
for l in $(cat $2)
do
echo $l | hdiutil mount $1 2> /dev/null
if [ $? -eq 0 ]; then
echo "Volumen montado con el password $l"
exit
fi
done
hdiNutil encuentra la password

Conclusiones

Parece que queda mucho por hacer ahora con los formatos DMG cifrados y si te encuentras uno durante un análisis forense, más te vale armarte de paciencia y tener unas buenas máquinas para intentar crackearlo.

Fuente: http://www.seguridadapple.com/2010/09/crackear-volumenes-dmg-cifrados.html

No hay comentarios:

Publicar un comentario