hashcat(ハッシュキャット) は、高速なハッシュ解析ツールで、主にパスワードリカバリーやセキュリティ検証に使用されます。
この記事では、hashcatのインストールから基本操作、さらに解析の具体例まで、初心者にも分かりやすく解説します。
Contents
hashcatのインストール方法
必要な環境
- OS: Linux、Windows、またはmacOS
- ハードウェア: GPU(NVIDIAまたはAMD)推奨、CPUのみでも使用可能
- 依存ソフトウェア: GPUドライバ(CUDAまたはOpenCL対応)
インストール手順
- hashcatの公式サイト(hashcat.net)から最新バージョンをダウンロードします。
- ダウンロードしたファイルを解凍します。
tar -xvf hashcat-*.7z
- 動作確認
./hashcat -I
GPUやCPUが認識されていれば成功です。
トラブルシューティング
- エラー: GPUが認識されない
- 最新のドライバをインストールしてください。
- NVIDIAユーザー: NVIDIA公式サイト
- AMDユーザー: AMD公式サイト
hashcatの基本的な使い方
基本コマンドの書式
hashcat [オプション] [ハッシュファイル] [辞書ファイルまたはマスク]
例: MD5ハッシュを辞書攻撃で解析するコマンド
hashcat -m 0 -a 0 hashes.txt wordlist.txt
よく使うオプション
-m
ハッシュタイプ: 解析するハッシュの形式を指定(例: MD5は0
、SHA1は100
)-a
アタックモード: 攻撃手法を指定- 辞書攻撃:
0
- ブルートフォース:
3
- 辞書攻撃:
--increment
: マスクの長さを動的に増加させる
代表的なハッシュ解析方法
辞書攻撃(-a 0
)
指定された辞書ファイルに基づいてハッシュを解析します。
コマンド例:
hashcat -m 0 -a 0 hashes.txt wordlist.txt
ブルートフォース(-a 3
)
全ての文字の組み合わせを試します。
マスクを使った例(数字4桁のハッシュを解析):
hashcat -m 0 -a 3 hashes.txt ?d?d?d?d
辞書+マスク(-a 6
)
辞書内の単語に指定したパターンを組み合わせます。
例:
hashcat -m 0 -a 6 hashes.txt wordlist.txt ?d?d
hashcatの便利機能
セッションの中断と再開
途中で処理を中断して後で再開できます。
中断:
Ctrl+C
再開:
hashcat --restore
リカバリ済みハッシュの自動削除
解析済みのハッシュをリストから削除するには以下を使用します:
--remove
実践例
pwdump形式のパスワード解析
WindowsのNTLMハッシュを解析する場合:
hashcat -m 1000 -a 0 hashes.txt wordlist.txt
ZIPファイルの解析
- ZIPファイルからハッシュを抽出します(
zip2john
などのツールを利用)。 - hashcatで解析:
hashcat -m 13600 -a 3 ziphashes.txt ?a?a?a?a
トラブルシューティング
- GPUが認識されない場合:
- 正しいドライバがインストールされているか確認。
- 解析が遅い場合:
- ワークロードプロファイルを調整(
--optimized-kernel-enable
)。
- ワークロードプロファイルを調整(
まとめ
hashcatは強力なハッシュ解析ツールで、適切なオプションを選択することで、効率的な解析が可能です。本記事では基本的な使い方を解説しましたが、応用例やチューニング方法についても学びを深めることをおすすめします。