0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Hashcat がサポートする `-m`(Hash Mode)とは— ハッシュタイプの指定と正しい選び方

0
Posted at

はじめに

Hashcat で最も重要なパラメータの一つが -m です。
-mHash Mode(ハッシュモード) を指定するオプションで、次の意味を持ちます。

「このハッシュは、どのアルゴリズム/形式で作られたものか?」

例えば:

  • -m 0 → MD5
  • -m 100 → SHA1
  • -m 1000 → NTLM
  • -m 3200 → bcrypt

この指定を間違えると、Signature unmatched というエラーが出たり、いつまで経っても解析できなかったりします。
つまり -m の選択は、Hashcat 成功の鍵 です。


Hashcat は何種類の -m をサポートしているのか?

結論から言うと:

Hashcat は 数百種類 の Hash Mode(-m)をサポートしています。

その範囲は非常に広く、次のようなものを含みます。

  • 一般的なハッシュアルゴリズム
    • MD5, SHA1, SHA256, SHA512 など
  • OS のパスワード形式
    • NTLM, LM, Unix crypt 系(md5crypt, sha512crypt など)
  • 強度の高い KDF
    • bcrypt, PBKDF2 など
  • 無線・プロトコル系
    • WPA/WPA2 など
  • ファイル形式のパスワード
    • ZIP, RAR, 7z, MS Office, PDF など

単なる「ハッシュ関数」だけでなく、ソフトウェアやファイル形式ごとの独自フォーマットまで含めてサポートしているのが Hashcat の強みです。


どうやってサポートされている -m を確認する?

1. すべての一覧を見る(ページャ推奨)

hashcat -h | less

これで Hash Mode の一覧をスクロールしながら確認できます。
/md5/sha1 のように検索も可能です。


2. 特定の種類だけ絞り込む(実用的)

例えば:

hashcat -h | grep -i md5
hashcat -h | grep -i sha1
hashcat -h | grep -i ntlm
hashcat -h | grep -i wpa
hashcat -h | grep -i bcrypt

必要なものだけ表示できるので、実戦ではこの方法が一番よく使われます。


3. その -m が要求する「正しい形式」を確認する(重要)

Hash Mode によっては、単なるハッシュ文字列ではなく、

  • hash:salt の形式
  • 特定のプレフィックス付き
  • 複数フィールドを含む形式

などを要求するものがあります。
それを確認するには次のコマンドを使います。

hashcat --example-hashes -m 100

例えば:

hashcat --example-hashes -m 1000   # NTLM
hashcat --example-hashes -m 3200   # bcrypt
hashcat --example-hashes -m 22000  # WPA/WPA2

これにより、そのモードでどんな形式の入力が必要かが一目で分かります。
Signature unmatched を避けるための最重要コマンドです。


よく使われる -m の代表例(実戦向け)

-m ハッシュ形式
0 MD5
100 SHA1
1400 SHA2-256 (SHA256)
1700 SHA2-512 (SHA512)
1000 NTLM
3000 LM
3200 bcrypt
500 md5crypt (Unix $1$)
1500 descrypt (Unix)
1800 sha512crypt (Unix $6$)
2500 WPA/WPA2(旧ハンドシェイク)
22000 WPA/WPA2(PBKDF2-PMKID+EAPOL)
12500 RAR3
13000 RAR5
13600 WinZip
17200 PKZIP
9400 MS Office 2007
9500 MS Office 2010
9600 MS Office 2013/2016
10500 PDF 1.4–1.6
10700 PDF 1.7(Acrobat 10+)

実際によく遭遇するのは:

MD5 / SHA1 / NTLM / bcrypt / WPA / ZIP / RAR / Office / PDF

あたりです。


正しい -m の選び方(おすすめ手順)

  1. ハッシュを観察する

    • 文字数(32 / 40 / 64 hex など)
    • :$、salt の有無
  2. 初期判定ツールを使う

    hashid hash.txt
    
  3. Hashcat で候補を探す

    hashcat -h | grep -i sha1   # 例
    
  4. 候補の -m を選ぶ

  5. フォーマットを確認

    hashcat --example-hashes -m XXX
    
  6. 自分のハッシュと形式が一致するか確認してから実行


よくあるエラー:Signature unmatched

このエラーはほぼ確実に、

❌ 指定した -m と、入力したハッシュの形式が一致していない

という意味です。
対処法は:

  • hashcat --example-hashes -m XXX で形式を確認する
  • もしくは別の -m を試す

これで大抵解決します。


まとめ

  • -m は Hashcat における ハッシュ形式指定の中核パラメータ
  • Hashcat は 数百種類 の Hash Mode をサポートしている
  • 覚える必要はない:
    • hashcat -h | grep
    • hashcat --example-hashes -m XXX
      で調べれば十分
  • 正しい -m を選べるかどうかで、解析の成否がほぼ決まる

最後に一言で言うと:

Hashcat 上級者は「-m を暗記している人」ではなく、
「正しい -m を素早く調べて当てられる人」 です。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?