Hashcatは200以上のハッシュアルゴリズムを解読する能力を誇っていますが、それらの多くに関するドキュメントはあまりありません。 Hashcat --help
は、HMACクラッキングをサポートしていることを示していますが、構文はそれほど単純ではありません(「1450 | HMAC-SHA256(key = $ pass)」とだけ表示されています)。 HMAC-SHA256は2つのパラメーターを受け取ることを理解しています。1つはキーで、もう1つはメッセージですが、Hashcatでこれらの両方を指定する方法がわかりません。
HashcatがHMAC-sha256をクラックするための適切な構文は何ですか? 2つのファイルがあります。1つはメッセージを含み、もう1つはハッシュを含みます。パスワードがわかっているので、openssl dgst -SHA256 -hmac "mypassphrase" message.txt
を使用してHMACハッシュを確認できます
私が言っていることが大いに意味をなすことを願っています、それは長い週でした:/
構文はhash:messageです。
メッセージの長さは51バイトに制限されていることに注意してください。
詳細については、hashcatの例のwikiページを参照してください。 https://hashcat.net/wiki/doku.php?id=example_hashes
@ atom はすでに述べたように、ファイル形式はMAC:message
です。 「MAC」とは、HMACが生成する値、つまりハッシュを意味するため、MACが最初に来て、次にこのMACが署名しているというメッセージが来ます。このセットアップの目標は、メッセージの署名に使用されたキーを解読することです。 (-m 1460
を使用して他の値をクラックすることもできるようですが、私はこれをテストしていません。)
基本的には次のようにします。
$ echo '320774ef5e33a2a0dfe8de47634f5e33d68166a51da9c84bd2f9e871c99eef2a:hi' > macmsg.txt
$ hashcat -m 1450 macmsg.txt
もちろん、そのhashcatはクラッキングオプションを望んでいます。ブルートフォーシングの簡単なhashcatコマンドは次のようになります。
$ hashcat -m 1450 -a 3 macmsg.txt
HashcatはMAC(ハッシュ)がバイナリデータであることを想定しているため、16進値として渡すと想定しています。ただし、メッセージは平文であることを想定しています。 16進数のメッセージも必要な場合は、--hex-salt
を渡す必要があります。
$ echo '320774ef5e33a2a0dfe8de47634f5e33d68166a51da9c84bd2f9e871c99eef2a:6869' > macmsg.txt
$ hashcat -m 1450 -a 3 --hex-salt macmsg.txt
お役に立てれば!