Páginas

29 julio, 2017

Fuerza bruta en ficheros .kdbx de KeePassX

KeePassX es un aplicación para la gestión de contraseñas. Es un derivación de KeePass Password Safe pero en su versión GNU GPL. Creando un nuevo almacén (fichero base de datos), al que vincularemos con una contraseña maestra, podemos guardar usuarios y contrasañeas asociadas a determinados servicios, estos "almacenes" se guardan en un fichero .kdbx en el caso de KeePassX y ficheros .kdb en el caso de KeePass. De este modo con acordarnos de una única contraseña tendremos acceso a las de más.

Si tenemos la contraseña maestra podemos desempatear el fichero de la base datos y cargarlo correctamente en la aplicación para su uso y visualización de contraseñas.

La base de datos se cifra en AES o Twofish usando una clave de 256 bits. La base de datos KeePassX (kdbx) es compatible con KeePass Password Safe.

Aplicando técnicas de ataque brute-force en la que le pasaremos un wordlist, podemos extraer la contraseña maestra y tener acceso al fichero kdbx en este caso.

Una de las herramientas utilizadas será KeeCracker. Le pasaríamos un diccionario o wordlist, en este caso crearé uno con palabras concretas como prueba de concepto.

Figura 1: Fichero wordlist para PoC

Ejecutamos en una consola el binario KeeCracker.exe en el que le pasamos el diccionario con el argumento -w (lista.txt) y seguidamente la base de datos .kdbx de KeePassX.
KeeCracker.exe -w [fichero_wordlist] [fichero_kdbx]

Figura 2: PoC de KeeCracker

Como vemos la password maestra de la base de datos kdbx a sido encontrada. Dependerá del wordlist que tegamos pueda ser encontrada la password establecida en la base de datos kdbx. Esto influirá lógicamente, como todos los ataques de fuerza bruta, en la complejidad de la contraseña maestra que se establezca en la base de datos.

KeeCracker también puede ser usado con John the Ripper de forma incremental.
john --incremental --stdout | KeeCracker -w - KeePassDb.kdbx
También podemos usar de forma independiente John y Hashcat.

John

keepass2john SecretDB.kdbx > Keepasshash.txt
john --wordlist=rockyou.txt KeepassHash.txt

Hashcat

keepass2john SecretDB.kdbx > Keepasshash.txt
hashcat -m 13400 -a 0 -w 1 Keepasshash.txt cracklib-words
Saludos!

1 comentario

  1. hola buenas, he intentado descifrar mi contraseña de keepass porque la olvide y ejecute el keecracker. Pero me pone acceso denegado, hay alguna manera mas de conseguir la contraseña de kee pass?

    ResponderEliminar

Entradas Populares