
Implementación en Python3 para convertir hashes Artemis PBKDF2WithHmacSHA1 al formato hashcat
Implementación en Python3 para convertir hashes Artemis PBKDF2WithHmacSHA1 al formato de hashcat
La configuración predeterminada de Apache Artemis es usar el DefaultSensitiveStringCodec para almacenar las contraseñas de los usuarios como hashes PBKDF2WithHmacSHA1 en el archivo "artemis-users.properties".
Los hashes almacenados en "artemis-users.properties" normalmente tienen la siguiente forma:
username = ENC(ITERATIONS:SALT:HASH)
Este código Python3 convierte el hash de Artemis a un formato compatible con hashcat usando uno de los siguientes comandos:
python3 artemis2hashcat.py 'ENC(1024:8D873D1EDFB8ABACBC1A8229AC6A691B2856427B385167AC5DA636A8B0D0CF7C:50DE2FF97B69C8B8D127356F8F1090730F8F805DAA288E804E199788394EF0C9363671038857CB7F83ACE9022ACE2119792B9FCFB72CA68D026A5458B2D4C7CF)'
O
python3 artemis2hashcat.py '1024:8D873D1EDFB8ABACBC1A8229AC6A691B2856427B385167AC5DA636A8B0D0CF7C:50DE2FF97B69C8B8D127356F8F1090730F8F805DAA288E804E199788394EF0C9363671038857CB7F83ACE9022ACE2119792B9FCFB72CA68D026A5458B2D4C7CF)'
Nota: El hash anterior corresponde a la contraseña en texto plano "7KBeh41j".
El resultado de los comandos anteriores debería tener la siguiente forma:
sha1:1024:jYc9Ht+4q6y8GoIprGppGyhWQns4UWesXaY2qLDQz3w=:UN4v+XtpyLjRJzVvjxCQcw+PgF2qKI6AThmXiDlO8Mk2NnEDiFfLf4Os6QIqziEZeSufz7cspo0CalRYstTHzw==
Al escribir la salida en un archivo (por ejemplo, test.hashcat) podemos usar el siguiente comando de hashcat, con el modo hash 12000, para intentar romper el hash:
hashcat -m 12000 -a 0 test.hashcat test.lst