Hashcatとは?
Hashcat
は、ハッシュ解析に用いられるオープンソースのツールです。
300を超える幅広いハッシュアルゴリズムや辞書攻撃、ブルートフォース攻撃、マスク攻撃など様々な攻撃手法をサポートしている
hashcat は、世界最速かつ最先端のパスワード回復ユーティリティであり、300 を超える高度に最適化されたハッシュ アルゴリズムに対して 5 つの独自の攻撃モードをサポートしています。 hashcat は現在、Linux、Windows、macOS 上の CPU、GPU、その他のハードウェア アクセラレータをサポートしており、分散パスワード クラッキングを可能にする機能を備えています。
環境
- Kali Linux 2024
Kali Linuxの場合はデフォルトでHashcatが入っています。
Hashcatの動作には最低でもCPUコア2、メモリ4096MBは欲しいです。
構文
基本的な構文は以下になります。
[オプション] [ハッシュファイル] [ワードリスト]
の順で指定します。
hashcat [options]... hash|hashfile|hccapxfile [dictionary|mask|directory]...
[ハッシュファイル]
の部分は文字列として指定することもできます。
$ hashcat -m 100 'd033e22ae348aeb5660fc2140aec35850c4da997' /usr/share/wordlists/rockyou.txt
[ハッシュファイル]
は解析するハッシュ値を保存したテキストファイルなどを指定します。
オプション
主に使用するオプションを紹介します。
-
-m <type>
- ハッシュタイプを指定します
- デフォルトは
0
です
-
-a <mode>
- アタックモードを指定します
- デフォルトは
0
です
-
-o <file name>
- 出力ファイルを指定します
ハッシュアルゴリズムとタイプの特定
-m
で、指定するハッシュタイプの特定方法をいくつか紹介します。
1つ目は、Hashcatの表から探す方法です。
これはハッシュアルゴリズムが分かっている場合に有効です。
生成されるハッシュ値に一定の規則がある場合の検索にも有効です。
2つ目はHash Analyzer
などのハッシュ値分析ツールを使うことです。
誤検知もありますが、ある程度のアルゴリズムは特定できます。
- md5のハッシュ値を解析した場合
ハッシュ解析
いくつのかハッシュ値を解析してみます。
MD5
Hello
という文字列をmd5
でハッシュ化し、ファイルに保存します。
$ echo -n 'Hello' | md5sum
8b1a9953c4611296a827abf8c47804d7 -
$ echo '8b1a9953c4611296a827abf8c47804d7' > md5_hash.txt
ソルトがない場合はモードを0
に指定します。
Hashcat
を実行します。
$ hashcat -m 0 md5_hash.txt /usr/share/wordlists/rockyou.txt
元の文字列を特定できました。
8b1a9953c4611296a827abf8c47804d7:Hello
SHA1
sha1
のハッシュ値を生成します。
元の文字列はadmin
としました。
$ echo -n 'admin' | sha1sum
d033e22ae348aeb5660fc2140aec35850c4da997 -
生成されたハッシュ値を解析します。
ソルトが無いSHA1
は-m 100
を指定します。
$ hashcat -m 100 'd033e22ae348aeb5660fc2140aec35850c4da997' /usr/share/wordlists/rockyou.txt
元の文字列を特定できました。
d033e22ae348aeb5660fc2140aec35850c4da997:admin
HMAC-SHA1
HMAC-SHA1のハッシュ値を解析します。
ハッシュ値とソルトが事前に与えられています。
ハッシュ値: e5d8870e5bdd26602cab8dbe07a942c8669e56d6
ソルト: tryhackme
ソルトがある場合、ハッシュタイプは-m 160
を指定します。
Hashcatを実行します。
$ hashcat -m 160 'e5d8870e5bdd26602cab8dbe07a942c8669e56d6:tryhackme' /usr/share/wordlists/rockyou.txt
元の文字列を特定できました。
e5d8870e5bdd26602cab8dbe07a942c8669e56d6:tryhackme:481616481616
おすすめのTHMルーム
ハッシュ値の解析をするTryHackMeのルームです。
無料で出来ます。
参考サイト