
Implémentation Python3 pour la conversion de hachages Artemis PBKDF2WithHmacSHA1 au format hashcat
Implémentation en Python3 pour convertir les hachages PBKDF2WithHmacSHA1 d'Artemis au format hashcat
La configuration par défaut d'Apache Artemis consiste à utiliser le DefaultSensitiveStringCodec afin de stocker les mots de passe des utilisateurs sous forme de hachages PBKDF2WithHmacSHA1 dans le fichier "artemis-users.properties".
Les hachages stockés dans "artemis-users.properties" ont généralement la forme suivante :
username = ENC(ITERATIONS:SALT:HASH)
Ce code python3 convertit le hachage Artemis en un format compatible hashcat à l'aide de l'une des commandes suivantes :
python3 artemis2hashcat.py 'ENC(1024:8D873D1EDFB8ABACBC1A8229AC6A691B2856427B385167AC5DA636A8B0D0CF7C:50DE2FF97B69C8B8D127356F8F1090730F8F805DAA288E804E199788394EF0C9363671038857CB7F83ACE9022ACE2119792B9FCFB72CA68D026A5458B2D4C7CF)'
OU
python3 artemis2hashcat.py '1024:8D873D1EDFB8ABACBC1A8229AC6A691B2856427B385167AC5DA636A8B0D0CF7C:50DE2FF97B69C8B8D127356F8F1090730F8F805DAA288E804E199788394EF0C9363671038857CB7F83ACE9022ACE2119792B9FCFB72CA68D026A5458B2D4C7CF)'
Remarque : Le hachage ci-dessus correspond au mot de passe en clair "7KBeh41j".
Le résultat des commandes ci-dessus devrait avoir la forme suivante :
sha1:1024:jYc9Ht+4q6y8GoIprGppGyhWQns4UWesXaY2qLDQz3w=:UN4v+XtpyLjRJzVvjxCQcw+PgF2qKI6AThmXiDlO8Mk2NnEDiFfLf4Os6QIqziEZeSufz7cspo0CalRYstTHzw==
En écrivant la sortie dans un fichier (par exemple test.hashcat), nous pouvons utiliser la commande hashcat suivante, avec le mode de hachage 12000, afin de tenter de casser le hachage :
hashcat -m 12000 -a 0 test.hashcat test.lst