用于将 Artemis PBKDF2WithHmacSHA1 哈希转换为 hashcat 格式的 Python3 实现
Apache Artemis 的默认配置是使用 DefaultSensitiveStringCodec,以便将用户密码以 PBKDF2WithHmacSHA1 哈希的形式存储在 "artemis-users.properties" 文件中。
存储在 "artemis-users.properties" 中的哈希通常具有以下形式:
username = ENC(ITERATIONS:SALT:HASH)
此 python3 代码 使用以下命令之一将 Artemis 哈希转换为 hashcat 兼容格式:
python3 artemis2hashcat.py 'ENC(1024:8D873D1EDFB8ABACBC1A8229AC6A691B2856427B385167AC5DA636A8B0D0CF7C:50DE2FF97B69C8B8D127356F8F1090730F8F805DAA288E804E199788394EF0C9363671038857CB7F83ACE9022ACE2119792B9FCFB72CA68D026A5458B2D4C7CF)'
或者
python3 artemis2hashcat.py '1024:8D873D1EDFB8ABACBC1A8229AC6A691B2856427B385167AC5DA636A8B0D0CF7C:50DE2FF97B69C8B8D127356F8F1090730F8F805DAA288E804E199788394EF0C9363671038857CB7F83ACE9022ACE2119792B9FCFB72CA68D026A5458B2D4C7CF'
注意: 上述哈希对应于明文密码 "7KBeh41j"。
上述命令的结果应具有以下形式:
sha1:1024:jYc9Ht+4q6y8GoIprGppGyhWQns4UWesXaY2qLDQz3w=:UN4v+XtpyLjRJzVvjxCQcw+PgF2qKI6AThmXiDlO8Mk2NnEDiFfLf4Os6QIqziEZeSufz7cspo0CalRYstTHzw==
通过将输出写入文件(例如 test.hashcat),我们可以使用以下 hashcat 命令(哈希模式 12000)来尝试破解该哈希:
hashcat -m 12000 -a 0 test.hashcat test.lst