hashcat(ハッシュキャット) は、高速なハッシュ解析ツールで、主にパスワードリカバリーやセキュリティ検証に使用されます。

この記事では、hashcatのインストールから基本操作、さらに解析の具体例まで、初心者にも分かりやすく解説します。

hashcatは、自分が所有するデータまたは明示的な許可を得た検証環境で使用してください。オンラインサービスのアカウントや第三者のデータを対象にした利用は扱いません。

hashcatのインストール方法

必要な環境

  • OS: Linux、Windows、またはmacOS
  • ハードウェア: 対応GPU推奨、CPUのみでも使用可能
  • 実行環境: GPUを使う場合に必要なドライバは、OSとハードウェアによって異なります。

ダウンロードと展開

  1. hashcatの公式サイト(hashcat.net)から最新バージョンをダウンロードします。
  2. ダウンロードした.7zファイルを、7-Zipなどで解凍します。コマンドで解凍する場合は、ディレクトリ構造を保つ7z xを使います。
7z x hashcat-*.7z

動作確認に使う実行ファイル名はOSと導入方法で異なります。Windows、Linux、macOSの順に説明します。

Windowsでのインストール手順

Windowsでは、ダウンロードした.7zファイルを展開した後、PowerShellまたはコマンドプロンプトからhashcat.exeを実行します。

  1. 7-Zipをインストールしていない場合は、7-Zip公式サイトから入手します。
  2. .7zファイルを右クリックし、7-Zipの「展開」を選びます。
  3. 展開したhashcatのフォルダを開きます。
  4. フォルダのアドレスバーにpowershellと入力し、PowerShellを開きます。
  5. 次のコマンドでGPUやCPUが認識されているか確認します。
.\hashcat.exe -I

実際のハッシュを使わずに動作を確認したい場合は、ベンチマークを実行できます。

.\hashcat.exe --benchmark

hashcatはコマンドラインツールです。hashcat.exeをダブルクリックすると画面がすぐ閉じるため、PowerShellまたはコマンドプロンプトから実行してください。

この手順はhashcat公式資料をもとに整理しており、Windows実機での画面や実行結果は未確認です。

Linuxでの動作確認

公式配布の.7zファイルを展開した場合、Linux向け実行ファイルはhashcat.binです。

./hashcat.bin -I

パッケージ管理ツールでインストールした場合は、次のように実行します。

hashcat -I

macOSでのインストールと動作確認

macOSでは、Homebrewからhashcatをインストールできます。

brew install hashcat
hashcat -I

インストール時のトラブルシューティング

  • エラー: GPUが認識されない
  • エラー: 展開後に必要なファイルが見つからない
    • 7z eではなく、ディレクトリ構造を保つ7z xで解凍してください。

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ファイルの解析

  1. ZIPファイルからハッシュを抽出します(zip2johnなどのツールを利用)。
  2. hashcatで解析:
hashcat -m 13600 -a 3 ziphashes.txt ?a?a?a?a

トラブルシューティング

  • GPUが認識されない場合:
    • 正しいドライバがインストールされているか確認。
  • 解析が遅い場合:
    • ワークロードプロファイルを調整(--optimized-kernel-enable)。

まとめ

hashcatは強力なハッシュ解析ツールで、適切なオプションを選択することで、効率的な解析が可能です。本記事では基本的な使い方を解説しましたが、応用例やチューニング方法についても学びを深めることをおすすめします。

参考資料