elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad
| | |-+  Criptografía (Moderador: kub0x)
| | | |-+  Crackear GELI [Infeasible]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Crackear GELI [Infeasible]  (Leído 2,663 veces)
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Crackear GELI [Infeasible]
« en: 14 Septiembre 2017, 19:07 pm »

Antes de empezar tengo que comentar que este método es infeasible.

El método podría tardar toda la vida, incluso podría terminarse el universo y no tener la llave para descifrar la Llave maestra para descifrar el disco duro.

Hace unos días publique un post sobre Extraer la información[2]
 de cifrado (Metadata Usada por Geli[1]). El post sirve solo para extraer información de metadata para su posterior análisis, de hecho el comando

Código:
#geli dump ada0p2

Realiza la misma salida, sin embargo con el programa podemos tener en memoria una copia de la clave cifrada para tratar de crackearla.

Ahora Comento que el programa es infeasible por lo mismo que tardaríamos una eternidad en crackear la clave, posiblemente cuando la clave sea encontrada por mera suerte el disco duro a descifrar ya no exista.

Sin embargo como no he visto ninguna herramienta publica he decidido programar mi propio crack para Discos Duros cifrados con geli.

Métodos de crackeo:

  • Fuerza Bruta a la passphrase mediante diccionario
  • Fuerza Bruta a la clave cifrada


Fuerza Bruta a la passphrase mediante diccionario

La primera opción es incluso mas tardada, pero puede ser que tengamos mas suerte si es que la passphrase escogida por el Sysadmin esta en nuestro diccionario, sin embargo si la palabra no esta en el diccionario es imposible.

En este caso la única limitante es:

Código:
Iterations: 218830

En ese caso tarda como 2 segundos en mi equipo realizar el key derivation con esa cantidad de iteraciones. Sin embargo la ultima instalación de FreeBSD que hice, incremente ese numero de iteraciones a 10485760 y tarda aproximadamente u 41 veces mas en realizar el key derivation.

Entonces en un ataque por diccionario tendriamos que pasar nuestra passphrare y derivarla X cantidad de veces, lo cual seria rapido para un X pequeño pero muy tardado para un X muy grande como el mencionado.

Recomendación  para los sysadmin que utilizen este método de cifrado o un cifrado similar, no elegir una clave que se encuentre en algun diccionario, y si pueden configurar el numero de iteracciones, configuren uno muy alto para que sea desalentador tratar de crackear por este medio.

Fuerza Bruta a la clave cifrada

Este metodo tiene como ventaja que se salta la parte de las iteraciones y como desventaja es que prueba todas las combinaciones posibles.

Sin embargo la probabilidad de que encuentre la clave en los primeros años de ejecución son NULAS, sin embargo a largooooo plazo va a terminar encontrado la llave para descifrar la clave maestra para descifrar el disco duro.

El metodo utiliza un archivo para salvar el progreso actual y poder reanudarlo en cualquier otro momento.

En cada iteracion del programa se realizan 2 pruebas para descifrar la clave.


  • Una clave de 64 Bytes que incrementa de uno en uno en cada ciclo
  • Una clave de 64 bytes de un buffer aleatorio

Una clave de 64 Bytes que incrementa de uno en uno.

Esta es la parte que nos da la certeza de que en algun momento podremos encontrar nuestra clave para descifrar ya que probamos todas las combinaciones posibles.

Una clave de 64 bytes de un buffer aleatorio

Posiblemente una perdidad de tiempo, pero si tenemos la suerte de que el buffer aleatorio coincida con la clave para descifrar la clave maestra. entonces podriamos tener la clave antes de tiempo.

Esta ultima parte se puede omitir y incrementariamos nuestro tiempo de finalizacion a un poco menos de la mitad del actual.

Infeasibilidad del metodo

La llave para descifrar la llave maestra es de 64 bytes de longitud, NO 64 Bits, 64 BYTES de longitud (64*8 bits)

Imaginemos el siguiente numero:
Código:
13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084095

Un numero decimal de 155 digitos

Entonces por cada prueba que realize nuestro programa tenemos la posibilidad de 1 en Ese numero de que sea nuestra clave de decifrado.

Para los curiosos esta seria la forma de leer el numero de posibilidades
Código:
13407   quintovigecillones
,807929 cuatorvigecillones
,942597 trivigecillones
,099574 duovigecillones
,024998 unvigecillones
,205846 vigecillones
,127479 nonidecillones
,365820 octidecillones
,592393 septodecillones
,377723 sextodecillones
,561443 quintodecillones
,721764 cuatordecillones
,030073 tridecillones
,546976 Duodecillones
,801874 Undecillones
,298166 Decillones
,903427 Nonillones
,690031 Octillones
,858186 Septillones
,486050 Sextillones
,853753 Quintillones
,882811 Cuatrillones
,946569 Trillones
,946433 Billones
,649006 Millones
,084095

Aunque tengo dudas de la pronunciacion apartir de los decillones.

El codigo para crackear por fuerza bruta esta en:

https://github.com/albertobsd/geli_metadata/blob/master/crackgeli.c


Si alguien quiere probrar tengo en mi firma un Reto para crackear

Crackeame si puedes Wallet.dat

Saludos!



[1] Extraer informacion de Cifrado
https://foro.elhacker.net/criptografia/extraer_informacion_de_cifrado_en_discoduro_de_freebsd-t474262.0.html

[2] Man page of Eli: https://www.freebsd.org/cgi/man.cgi?query=geli&apropos=0&sektion=8&manpath=FreeBSD+11.1-RELEASE&arch=default&format=html


« Última modificación: 14 Septiembre 2017, 19:42 pm por AlbertoBSD » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crackear una Dll
Ingeniería Inversa
zelfo 0 2,492 Último mensaje 25 Diciembre 2004, 05:32 am
por zelfo
crackear?
Ingeniería Inversa
ugruhell 1 2,904 Último mensaje 14 Julio 2006, 12:33 pm
por Eraser
Crackear un Exe
Ingeniería Inversa
xXSanHonoXx 7 6,587 Último mensaje 15 Noviembre 2007, 22:57 pm
por xXSanHonoXx
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines