LoginSignup
1
1

Hashcatとは?

Hashcatは、ハッシュ解析に用いられるオープンソースのツールです。
300を超える幅広いハッシュアルゴリズムや辞書攻撃、ブルートフォース攻撃、マスク攻撃など様々な攻撃手法をサポートしている

hashcat は、世界最速かつ最先端のパスワード回復ユーティリティであり、300 を超える高度に最適化されたハッシュ アルゴリズムに対して 5 つの独自の攻撃モードをサポートしています。 hashcat は現在、Linux、Windows、macOS 上の CPU、GPU、その他のハードウェア アクセラレータをサポートしており、分散パスワード クラッキングを可能にする機能を備えています。

Hashcat GitHub より

環境

  • 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の表から探す方法です。
これはハッシュアルゴリズムが分かっている場合に有効です。

生成されるハッシュ値に一定の規則がある場合の検索にも有効です。

  • 例:ハッシュ値からアルゴリズムを検索する
    bcryot.png

2つ目はHash Analyzerなどのハッシュ値分析ツールを使うことです。

誤検知もありますが、ある程度のアルゴリズムは特定できます。

  • md5のハッシュ値を解析した場合

Hash analyzer.png

ハッシュ解析

いくつのかハッシュ値を解析してみます。

MD5

Helloという文字列をmd5でハッシュ化し、ファイルに保存します。

$ echo -n 'Hello' | md5sum
8b1a9953c4611296a827abf8c47804d7  -
$ echo '8b1a9953c4611296a827abf8c47804d7' > md5_hash.txt

ソルトがない場合はモードを0に指定します。

md5.png

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を指定します。

sha1.png

$ hashcat -m 100 'd033e22ae348aeb5660fc2140aec35850c4da997' /usr/share/wordlists/rockyou.txt

元の文字列を特定できました。

d033e22ae348aeb5660fc2140aec35850c4da997:admin

HMAC-SHA1

HMAC-SHA1のハッシュ値を解析します。
ハッシュ値とソルトが事前に与えられています。

ハッシュ値: e5d8870e5bdd26602cab8dbe07a942c8669e56d6
ソルト: tryhackme

ソルトがある場合、ハッシュタイプは-m 160を指定します。

HMAC-sha1.png

Hashcatを実行します。

$ hashcat -m 160 'e5d8870e5bdd26602cab8dbe07a942c8669e56d6:tryhackme' /usr/share/wordlists/rockyou.txt

元の文字列を特定できました。

e5d8870e5bdd26602cab8dbe07a942c8669e56d6:tryhackme:481616481616

おすすめのTHMルーム

ハッシュ値の解析をするTryHackMeのルームです。
無料で出来ます。

参考サイト

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1