単語リストを使用して NTLM ハッシュをクラックする
このステップでは、John the Ripper を使用して単語リスト(辞書攻撃とも呼ばれます)を使用して NTLM ハッシュをクラックします。単語リストは、一般的なパスワード、辞書単語、または以前に漏洩したパスワードのリストを含むファイルです。これは、弱いパスワードをクラックするための最も効果的な方法であることがよくあります。
~/project ディレクトリに wordlist.txt という名前の簡単な単語リストファイルを用意しました。まず、その内容を確認しましょう。
cat ~/project/wordlist.txt
以下のような内容が表示されるはずです。
password
123456
qwerty
admin
test
次に、wordlist.txt を使用して John the Ripper で ntlm_hashes.txt のハッシュをクラックします。コマンド john --format=NT --wordlist=wordlist.txt ntlm_hashes.txt は、ハッシュフォーマットを NTLM(NT)として指定し、使用する単語リストとハッシュを含むファイルを指定します。
john --format=NT --wordlist=~/project/wordlist.txt ~/project/ntlm_hashes.txt
John the Ripper はハッシュのクラックを試みます。以下のような出力が表示され、どのハッシュがクラックされたかを示します。
Using default input encoding: UTF-8
Loaded 5 password hashes with no different salts (NT [MD4 HASHES])
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
123456 (user4)
test (user2)
password (user1)
3g 0:00:00:00 DONE (2023-10-27 08:00) 100.0% (ETA: 08:00) 3.750g/s 11.25p/s 11.25c/s 11.25C/s 123456...test
Session completed.
クラッキングプロセス後、john --show コマンドを使用してクラックされたパスワードを表示できます。
john --show ~/project/ntlm_hashes.txt
出力には、クラックされたハッシュとその対応するプレーンテキストパスワードのリストが表示されます。
user1:password
user2:test
user4:123456
3 password hashes cracked, 2 left
これにより、user1 のパスワードは password、user2 のパスワードは test、user4 のパスワードは 123456 であることがわかります。他の 2 つのハッシュ(user3 と user5)は、この単語リストではクラックされませんでした。これは、それらのパスワードがより強力であるか、または私たちの簡単な単語リストに含まれていないことを示唆しています。