
セキュリティ分野の学習を進めていると、「hashcat」というツール名を耳にすることがあるかもしれません。hashcatは、非常に強力なパスワード解析ツールですが、その多機能さゆえに「使い方が難そう…」と感じる方も少なくないでしょう。
この記事では、セキュリティ初学者の方でも理解できるよう、hashcatのインストール方法から基本的な使い方、そして実践的な攻撃手法までを5つのステップに分けて分かりやすく解説します。

この記事を読めば、hashcatの基礎をマスターし、セキュリティ学習や脆弱性診断(ペネトレーションテスト)に活かせるようになります。
誰でも無料で参加できるハッキング体験会の参加者募集中!!

hashcatとは? – 世界最速のパスワード解析ツール

hashcatは、オープンソースで開発されているパスワードリカバリーツールです。その最大の特徴は、GPU(グラフィックボード)の並列処理能力を最大限に活用することで、CPUだけを使うツールに比べて圧倒的な速度でパスワード解析を行える点にあります。
元々は「パスワードを忘れてしまった際に復旧させる」という目的で作られていますが、その強力さから、セキュリティ専門家がシステムの脆弱性を診断するペネトレーションテストなどでも使用されます。
様々なハッシュアルゴリズム(MD5, SHA1, NTLM, bcryptなど)に対応しており、多様な攻撃手法をサポートしているため、パスワード解析の世界ではデファクトスタンダードなツールとして知られています。
ステップ1:hashcatのインストール方法

ここでは、お使いのLinux環境でhashcatを使えるように準備しましょう。Kali LinuxやParrot OSなどのセキュリティ系ディストリビューションでは、多くの場合hashcatは最初からインストールされています。まずはお使いのターミナルでhashcat --version
と入力して、バージョン情報が表示されるか確認してみてください。
もしインストールされていない場合は、パッケージマネージャを使って簡単にインストールできます。
aptコマンドでインストール
Debian系のディストリビューション(Ubuntu, Kali Linuxなど)では、以下のコマンドでインストールできます。ターミナルを開き、一行ずつ実行してください。
# パッケージリストを最新の状態に更新
sudo apt update
# hashcatをインストール
sudo apt install hashcat
これだけでインストールは完了です。
動作確認(ベンチマークの実行)
最後に、hashcatが正常に動作するかを確認しましょう。ターミナルで以下のコマンドを実行してください。
hashcat -b
この-b
オプションは「ベンチマークモード」を意味し、お使いのPCのGPUでどのくらいの解析速度が出るかをテストしてくれます。以下のような画面が表示されれば、インストールは成功です!

ステップ2:hashcatの基本的な使い方 – コマンドの構成を理解しよう
hashcatはターミナル(コマンドライン)で操作するツールです。基本的なコマンドの型は以下のようになっています。
hashcat [オプション] <ハッシュファイル> <辞書ファイル>
それぞれの要素を詳しく見ていきましょう。
オプション (-a, -m) の指定
hashcatには多くのオプションがありますが、最低限覚えておくべきなのが-a
(アタックモード)と-m
(ハッシュタイプ)です。
-a, --attack-mode
: どの攻撃手法を使うかを指定します。最初は0
(辞書攻撃)を指定することが多いです。-m, --hash-type
: 解析したいハッシュのアルゴリズムを指定します。例えば、MD5なら0
、SHA256なら1400
を指定します。どの番号がどのハッシュに対応するかは、hashcat --help
で確認できます。
ハッシュファイルの準備
解析したいハッシュ値を保存したテキストファイルを用意します。例えば、hash.txt
という名前で、以下のような内容のファイルを作成します。
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
辞書ファイル(ワードリスト)の準備
パスワードの候補となる単語が大量にリストアップされたファイルを用意します。これは「辞書」や「ワードリスト」と呼ばれます。Kali Linuxでは、/usr/share/wordlists/
ディレクトリの中に、有名な「rockyou.txt」が圧縮された状態(rockyou.txt.gz
)で最初から用意されています。
以下のコマンドで展開(解凍)してから使用しましょう。
# rockyou.txtなければ、sudo apt install wordlists を実行
# rockyou.txt.gzが保存されているディレクトリに移動
cd /usr/share/wordlists/
# ファイルを展開(管理者権限が必要です)
sudo gunzip rockyou.txt.gz
ステップ3:hashcatで実際にパスワードを解析してみよう

準備が整ったので、実際に簡単なパスワード解析を実行してみましょう。ここでは、SHA256でハッシュ化されたパスワードを、辞書攻撃で解析するシナリオを想定します。
以下のコマンドを実行します。
hashcat -a 0 -m 1400 hash.txt /usr/share/wordlists/rockyou.txt
-a 0
: 辞書攻撃を実行-m 1400
: ハッシュタイプはSHA256hash.txt
: 解析対象のハッシュが書かれたファイル/usr/share/wordlists/rockyou.txt
: パスワード候補の辞書ファイル

解析が始まると、現在の状況(ステータス)が表示されます。解析に成功すると、「Recovered」の数が増え、ステータスが「Cracked」になります。解析が完了したら、--show
オプションを使うことで、見つかったパスワードを確認できます。

hashcat -m 1400 hash.txt --show

ステップ4:hashcatを使った実践的なパスワード解析【4つの攻撃モード】

辞書攻撃は基本ですが、hashcatはさらに高度な攻撃モードを備えています。ここでは代表的な4つの攻撃モードを紹介します。
1. 辞書攻撃 (Straight Attack / -a 0)
先ほど試した、辞書ファイルに記載された単語を順番に試していく最も基本的な攻撃です。
2. 総当たり攻撃 (Brute-force Attack / -a 3)
文字の組み合わせを全て試す攻撃です。「マスク」と呼ばれるパターンを指定して攻撃します。例えば、「8文字の小文字アルファベット」を全て試す場合は、以下のように指定します。
hashcat -a 3 -m 1400 hash.txt ?l?l?l?l?l?l?l?l
?l
: 小文字アルファベット (a-z)?u
: 大文字アルファベット (A-Z)?d
: 数字 (0-9)?s
: 記号
3. コンビネーション攻撃 (Combination Attack / -a 1)
2つの辞書ファイルを用意し、それぞれの単語を組み合わせて新しいパスワード候補を作り出す攻撃です。例えば、「name.txt」と「year.txt」を組み合わせて「tanaka1998」のようなパスワードを探すのに有効です。
hashcat -a 1 -m 1400 hash.txt name.txt year.txt
4. ハイブリッド攻撃 (Hybrid Attack / -a 6, -a 7)
辞書攻撃と総当たり攻撃を組み合わせた攻撃です。例えば、辞書にある単語の後ろに4桁の数字を付け加える、といった攻撃が可能です。
# 辞書の単語 + 4桁の数字
hashcat -a 6 -m 1400 hash.txt /usr/share/wordlists/rockyou.txt ?d?d?d?d
ステップ5:hashcatを扱う上での注意点と倫理

hashcatは非常に強力なツールですが、その力を正しく使わなければ、大きな問題を引き起こす可能性があります。ツールを使う前に、以下の点を必ず心に留めておいてください。
法律と倫理を遵守する
最も重要なことです。許可なく第三者のシステムやアカウントに対してhashcatを使用することは、不正アクセス禁止法などの法律に違反する犯罪行為です。 絶対に自分のものではない、あるいは解析の許可を得ていないハッシュに対して使用しないでください。
学習目的での利用に徹する
hashcatは、あくまでセキュリティ技術を学ぶためのツールとして使用してください。具体的には、以下のような環境での利用が推奨されます。
- 自分で構築した検証環境
- CTF (Capture The Flag) などのセキュリティ競技
- 脆弱性診断の業務として、クライアントから正式に許可を得た場合
マシンスペックへの影響を理解する
hashcatはGPUに非常に高い負荷をかけます。長時間の解析を行うと、PCが高温になったり、多くの電力を消費したりします。マシンの冷却性能に注意し、無理な負荷をかけ続けないようにしましょう。
まとめ
この記事では、世界最速のパスワード解析ツールであるhashcatのインストール方法から、基本的な使い方、そして4つの実践的な攻撃モードまでを解説しました。
hashcatのポイントまとめ:
- GPUを使って高速な解析が可能
- コマンドラインで操作し、
-a
(攻撃モード)と-m
(ハッシュタイプ)が重要 - 辞書攻撃、総当たり攻撃など多彩な攻撃手法を持つ
- 使用には法律と倫理の遵守が絶対条件
hashcatを正しく使いこなすことで、パスワードの安全性を評価したり、より高度なセキュリティ技術を身につけたりすることができます。ぜひ、この記事を参考に、責任ある形でhashcatを活用してみてください。
誰でも無料で参加できるハッキング体験会の参加者募集中!!
