¿Cómo se puede extraer el hash de la contraseña de un cifrado
contenedor, como un archivo KeePass, o un LUKS, TrueCrypt o Veracrypt
volumen?
Depende :-). Necesitará un programa que pueda leer el formato de archivo correspondiente y extraer información sobre la contraseña.
También tenga en cuenta que un archivo / contenedor protegido por una contraseña generalmente no contiene un hash de la contraseña (como por ejemplo un UNIX Archivo Shadow sería). En su lugar, contiene datos protegidos por una clave de cifrado (que se calcula a partir de la contraseña), y posiblemente información sobre cómo se computó la clave de cifrado. Por lo general, se utiliza algún algoritmo especial (una función de derivación de claves ) para calcular la clave.
Estos datos pueden ser atacados de manera similar a un hash de contraseña: puede probar diferentes contraseñas, ejecutarlas a través de la función de derivación de clave correcta y verificar si coinciden con los datos cifrados.
Entonces necesitarás un programa que realice este forzado brutal. Hashcat es una opción popular (y Hashcat es compatible con el formato de datos utilizado por KeePass; consulte PR 282 en GitHub ).
Intenté usar keepass2john de John the Ripper, pero no funcionó
con un archivo KDBX de KeePass (mensaje de error: "versión de archivo no
apoyado ").
Eso podría ser una serie de problemas, y probablemente esté fuera del alcance aquí. Intenta hacer una pregunta más específica en enlace .
Durante mi investigación encontré a algunas personas diciendo que no puedes extraer
el hash Si es así, ¿para qué sirven los scripts como keepass2john?
Bueno, a veces algunas personas están equivocadas :-). keepass2john es de hecho para extraer información de una base de datos KeePass que te permite descifrar la contraseña con John The Ripper.
Además, si no puede extraer el hash, ¿cómo funciona el software de cifrado?
validar la clave?
Lo hacen como los programas de craqueo: prueban la contraseña y se quejan si no funciona.