0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ハッシュクラックツール「HashCat」

Last updated at Posted at 2025-05-22

特徴

Hashcat(ハッシュキャット)は、高速かつ柔軟なパスワードクラッキングツールです。パスワードのハッシュを復元する(クラックする)ために使われ、セキュリティテストやパスワード強度の評価に利用されます。(from chat gpt)

特徴 詳細
GPU対応 NVIDIAやAMDのGPUを使うことで、大量のハッシュを高速に処理可能
多彩なアルゴリズムに対応 MD5,SHA1,SHA256,bcrypt,NTLM,WPA2などの多くのハッシュ形式に対応
複数の攻撃モード 辞書攻撃,マスク攻撃,ルールベース攻撃....

対応アルゴリズムについては多すぎる(ざっと370種以上)ので、公式サイトを参照
https://hashcat.net/hashcat/

基本的な使い方

bash
hashcat -m 0 -a 0 hash.txt wordlist.txt

オプション

オプション 説明
-a 攻撃モード(下記参照)
-m ハッシュモード(下記参照)
-I 使用可能なデバイスやドライバの情報
--status 実行中のステータス表示
--show クラック済みの結果を表示
--workload-profile= GPU不可調整(1~4)
--increment マスク攻撃で文字数を増やしながら攻撃
その他のオプション(いつも通り大量です)

・基本

オプション 説明
-o クラック済みのハッシュを出力するファイルを指定
--username ハッシュファイル内のユーザ名を無視
--remove クラックされたハッシュをファイルから削除
--left クラックされてないハッシュを表示
--potfile-disable クラックされたハッシュの記録を無効
--session セッション名を指定
--restore 中断されたセッションを再開
--restore-disable セッション復元ファイルの作成を無効

・出力とステータス

オプション 説明
--status-timer ステータス画面の更新を秒単位で指定
--machine-readable ステータス出力を機械可読形式で表示
-outfile-format 出力ファイルの形式指定
--outfile-autohex-disable 出力での$HEX[]表記を無効にします
--outfile-check-timer 出力ファイルのチェック間隔を秒単位で指定します
-p ハッシュリストと出力ファイルの区切り文字を指定します

・高度なオプション

オプション 説明
--force 警告を無視して実行
--quiet 出力を抑制
--hex-charset 文字セットが16進数であると仮定
--hex-salt ソルトが16進数であると仮定
--hex-wordlist リスト内の単語が16進数であると仮定
--increment-min インクリメント攻撃の最小パスワード
--increment-max インクリメント攻撃の最大パスワード
-w ワークロードプロファイルの指定

・マルコフチェーンとカスタム設定

オプション 説明
--markov-hcstat 使用するhcstatファイルの指定
--markov-disable マルコフチェーン無効
--markov-classic 古典的なマルコフチェーンを有効
-t 新しいマルコフチェーンを受け入れる閾値を指定
-1~-4 カスタム文字セット

・便利なオプション

オプション 説明
--stdout クラックせずに候補パスワードを出力
--loopback 新しいプレーンテキストをinductディレクトリに追加
--runtime 指定した秒数後にセッションを中断
--remove-timer ハッシュの消去を行う感覚を秒単位で指定
--logfile-disable ログファイルを無効

攻撃モード

モード 説明
0 辞書攻撃
1 単語の組み合わせ
3 文字セットと長さを指定して総当たり
6 0と2の組み合わせ
7 プレフィックスと辞書

ハッシュモード

多すぎるので一部紹介
全てのハッシュモード(https://hashcat.net/wiki/doku.php?id=example_hashes)

・ハッシュモード

モード ハッシュ形式
0 MD5
100 SHA1
1400 SHA256
500 md5crypt
1800 sha512crypt
3200 bcrypt
1000 NTLM
2500 WPA/WPA2
16800 WPA-PMKID

攻撃例

それぞれの攻撃モードの例を示します

① 辞書攻撃

bash
hashcat -m 1000 -a 0 hash.txt rockyou.txt

② 組み合わせ攻撃

bash
hashcat -m 1000 -a 0 hash.txt rockyou.txt -r rules/best64.rolr

辞書にルールを適用して変化形を自動生成(例:pass → Pass123)

③ マスク攻撃(ブルートフォース)

bash
hashcat -m 1000 -a 3 hashcat.txt ?l?l?l?l?l?d

小文字5文字+数字1桁
・文字セット一覧

文字 意味
?l 小文字
?u 大文字
?d 数字
?s 記号
?a 全部
?h 16進

④ 辞書+マスク

bash
hashcat -m 1000 -a 7 hash.txt rockyou.txt ?d?d

辞書の単語の後ろにマスクを追加します(例:admin → admin12)
単語の前に書くことも可能(?d?d rockyou.txt)

⑤ パスワード候補だけ見る

bash
hashcat -a 3 -m 0 --stdout ?l?l?l?l?l?d

grep等で目的のパスワードがあるか見たり?

⑥ 特定の文字種セットでのカスタムマスク

bash
hashcat -m 1000 -a 3 hash.txt -1 ?l?d ?1?1?1?1?1

小文字+数字からなる5文字のパスワードを総当たり

⑦ セッション利用

bash
hashcat -m 1000 -a 3 -o found.txt --session=ntlmrun hash.txt ?d?d?d?d
#中断後の再開
hashcat --session=ntlmrun --restore

⑧ WPA2(ハンドシェイク)解析例(mode: -m 22000)

bash
hashcat -m 22000 -a 0 capture.hc22000 rockyou.txt
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?