Hashcatは、パスワード復元ツールとして広く知られています。以前は
プロプライエタリソフトウェアでしたが、
2015年にオープンソース化され、
Linux、macOS、Windowsといった主要なOSで利用できるようになりました。このツールの特徴は、多岐にわたる
暗号学的ハッシュ関数に対応している点にあります。具体的には、LMハッシュ、MD4、
MD5、SHAシリーズ、crypt、
MySQL、Cisco PIXで使用されるアルゴリズムなどが含まれます。
Hashcatが注目を集める理由の一つに、その高度な最適化技術があります。開発者自身が発見した他のソフトウェアの脆弱性を基にした最適化も行われており、例えば、1Passwordのパスワードマネージャーのハッシュ化スキームの脆弱性などが活用されています。また、
USENIXの出版物で他の類似ツールと比較されたり、
Ars Technicaでその詳細が解説されるなど、学術的、技術的な側面からも高い評価を得ています。
バージョンの変遷と対応環境
以前のHashcatには、以下の2つのバージョンが存在していました。
hashcat: CPUベースのパスワード復元ツール
oclHashcat/cudaHashcat: GPUを利用したパスワード復元ツール
v3.00以降、これらのバージョンは統合され、単一の「hashcat」として提供されるようになりました。ただし、
CPUのみを使用するバージョンは「hashcat-legacy」として残されました。両バージョンとも
OpenCLを必要とします。多くのアルゴリズムはGPUを使用するhashcatの方が高速に処理できますが、bcryptのように、データ依存の分岐や逐次処理、メモリなどの要因により、GPUでの高速化が難しいアルゴリズムも存在します。そのため、hashcat-legacyは完全に置き換えられることはありませんでした。
hashcat-legacyは
Linux、macOS、Windowsで利用可能です。一方、hashcatは
OpenCLに対応したGPU、
CPU、
FPGAなどのアクセラレータカードを備えた環境で利用可能です。
使用例
以下は、Hashcatの実行例です。
bash
hashcat -d 2 -a 0 -m 400 -O -w 4 example400.hash example.dict
この例では、以下の情報が出力されます。
使用されるOpenCLプラットフォームとデバイス
ハッシュの種類
辞書ファイルの読み込み状況
復元されたパスワード
処理速度
ハードウェアの監視情報
攻撃手法
Hashcatは、以下のような様々な攻撃手法をサポートしています。
総当たり攻撃
コンビネータ攻撃
辞書攻撃
フィンガープリント攻撃
ハイブリッド攻撃
マスク攻撃
置換攻撃
ルールベース攻撃
ルックアップテーブル攻撃
トグルケース攻撃
PRINCE攻撃
特に、従来の総当たり攻撃は効率が悪いとされ、Hashcatの中心チームはマスク攻撃を推奨しています。
大会での実績
Hashcatの開発チームは、「Crack Me If you Can」などのパスワードクラッキング大会で複数回優勝しています。これにより、その実力と信頼性が証明されています。
関連情報
詳細については、以下のリンクを参照してください。
総当たり攻撃: パスワードクラッキングの基本手法
力まかせ探索: 総当たり攻撃と同義
Openwall Project: セキュリティ関連のプロジェクト
パスワードクラック: パスワードの解析技術
外部リンク
公式ウェブサイト
Hashcatによるパスワードクラッキングガイド
Derbycon 2015でのoclHashcatに関する講演
*
Derbycon 2016でのHashcatの現状に関する講演