
Implementação em Python3 para converter hashes PBKDF2WithHmacSHA1 do Artemis para o formato hashcat
Implementação em Python3 para converter hashes PBKDF2WithHmacSHA1 do Artemis para o formato do hashcat
A configuração padrão do Apache Artemis é usar o DefaultSensitiveStringCodec para armazenar as senhas dos usuários como hashes PBKDF2WithHmacSHA1 no arquivo "artemis-users.properties".
Os hashes armazenados em "artemis-users.properties" normalmente têm a seguinte forma:
username = ENC(ITERATIONS:SALT:HASH)
Este código python3 converte o hash do Artemis para um formato compatível com o hashcat usando um dos seguintes comandos:
python3 artemis2hashcat.py 'ENC(1024:8D873D1EDFB8ABACBC1A8229AC6A691B2856427B385167AC5DA636A8B0D0CF7C:50DE2FF97B69C8B8D127356F8F1090730F8F805DAA288E804E199788394EF0C9363671038857CB7F83ACE9022ACE2119792B9FCFB72CA68D026A5458B2D4C7CF)'
OU
python3 artemis2hashcat.py '1024:8D873D1EDFB8ABACBC1A8229AC6A691B2856427B385167AC5DA636A8B0D0CF7C:50DE2FF97B69C8B8D127356F8F1090730F8F805DAA288E804E199788394EF0C9363671038857CB7F83ACE9022ACE2119792B9FCFB72CA68D026A5458B2D4C7CF)'
Nota: O hash acima corresponde à senha em texto puro "7KBeh41j".
O resultado dos comandos acima deve ter a seguinte forma:
sha1:1024:jYc9Ht+4q6y8GoIprGppGyhWQns4UWesXaY2qLDQz3w=:UN4v+XtpyLjRJzVvjxCQcw+PgF2qKI6AThmXiDlO8Mk2NnEDiFfLf4Os6QIqziEZeSufz7cspo0CalRYstTHzw==
Ao escrever a saída em um arquivo (por exemplo, test.hashcat), podemos usar o seguinte comando do hashcat, com o hash-mode 12000, para tentar quebrar o hash:
hashcat -m 12000 -a 0 test.hashcat test.lst