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?

Password Cracking(パスワードクラッキング)とは何か —ハッシュ解析の仕組み・攻撃手法・リスク・防御策まで解説

0
Posted at

1. Password Cracking とは

Password Cracking(パスワードクラッキング) とは、
ハッシュ化または暗号化されたパスワードデータから、元の平文パスワードを復元する攻撃手法です。

Password Guessing が「オンラインでログインを試す攻撃」なのに対し、
Password Cracking は次のような特徴を持ちます。

  • 攻撃はオフライン(攻撃者の環境) で行われる
  • ターゲットシステムと通信しない
  • 試行回数に制限がない
  • GPU などを使って超高速に試行できる
  • サーバ側のログには一切残らない

つまり Password Cracking は、
「金庫を盗んで、家に持ち帰ってからゆっくり開ける」タイプの攻撃です。
気づかれにくく、成功したときの被害は非常に大きくなります。


2. Password Cracking の典型的な流れ

Password Cracking は、次のような手順で行われます。

  1. 侵入や情報漏えいにより、パスワードハッシュを入手
    • 例:/etc/shadow, データベースの users テーブル, NTLM ハッシュなど
  2. ハッシュの種類を特定
    • MD5 / SHA1 / SHA256 / bcrypt / NTLM など
  3. 攻撃ツールで解析(試行)
    • Hashcat, John the Ripper など
  4. 一致する入力を見つけ、平文パスワードを復元
  5. そのパスワードを使ってログイン、権限昇格、横展開

重要なのは:

この間、ターゲットのシステムには一切アクセスしない

という点です。
つまり、防御側は 「奪われた時点でほぼ負け」 になりがちです。


3. なぜ Password Cracking は危険なのか?

Password Cracking が特に危険な理由は次の通りです。

  • オフラインなので検知できない
  • 試行回数制限が存在しない
  • GPU により秒間数億〜数十億回の試行が可能
  • 一度割れたパスワードは何度でも使われる

特に次の条件が揃うと、被害は深刻になります。

  • 弱いハッシュ関数(MD5, SHA1 など)
  • ソルトが使われていない
  • 短くて単純なパスワード
  • 同じパスワードの使い回し

この場合、「時間の問題」 でほぼ確実に解読されます。


4. 主な Password Cracking の手法

4.1 辞書攻撃(Dictionary Attack)

  • よく使われるパスワードリストを使ってハッシュ化 → 照合
  • 例:
    • password
    • 123456
    • qwerty
  • 特徴:
    • 非常に高速
    • 成功率も意外と高い
    • ただし複雑なパスワードには弱い

4.2 総当たり攻撃(Brute-force Attack)

  • 可能な文字の組み合わせをすべて生成してハッシュ化 → 照合
  • 特徴:
    • 理論上は必ず当たる
    • ただし文字数が増えると現実的でなくなる
    • 短いパスワードには非常に危険

4.3 ルールベース攻撃(Rule-based Attack)

  • 辞書の単語に「変形ルール」を適用
  • 例:
    • password → Password1!
    • admin → Admin@123
  • 特徴:
    • 人間のパスワード作成癖に非常に強い
    • 実戦で最も“コスパが良い”手法の一つ

4.4 マスク攻撃(Mask Attack)

  • パターンを指定して探索範囲を絞る
  • 例:
    • ?u?l?l?l?d?d(大文字+小文字3+数字2)
  • 特徴:
    • 「形式が分かっているパスワード」に非常に強い
    • 例:社内ルールで決まった形式のパスワードなど

5. 代表的なツール

Hashcat

  • GPU対応、世界最速クラス
  • 多数のハッシュ形式に対応
  • ルール・マスク・辞書攻撃すべて対応
  • 実戦・検証のデファクトスタンダード

John the Ripper

  • 歴史ある定番ツール
  • 多くのフォーマットに対応
  • 解析・検証用途に非常に便利

これらは攻撃ツールであると同時に、
「自社システムのパスワード強度を検証する防御ツール」 でもあります。


6. Password Guessing との違い

項目 Password Guessing Password Cracking
実行場所 オンライン オフライン
通信 必要 不要
検知 されやすい ほぼ不可能
試行回数 制限される 無制限
速度 遅い 非常に速い
危険度

簡単に言うと:

  • Password Guessing:正面からドアをガチャガチャする
  • Password Cracking:鍵そのものを奪って、裏で複製する

後者のほうが、静かで、確実で、被害も大きくなりがちです。


7. 防御策(最重要ポイント)

Password Cracking 対策で本当に重要なのは、次の点です。

強いハッシュ関数を使う

  • bcrypt
  • Argon2
  • scrypt
  • PBKDF2

※ MD5 や SHA1 は論外です。

必ずソルトを使う

  • 同じパスワードでもハッシュが変わる
  • レインボーテーブル攻撃を防げる

ストレッチング(計算コストを上げる)

  • 1回のハッシュ計算を重くする
  • GPU でも“遅くてしんどい”状態にする

長くてユニークなパスワードを使う

  • 長さは正義
  • 使い回しは即死フラグ

8. まとめ

  • Password Cracking は、ハッシュを奪われた時点で始まるオフライン攻撃
  • 検知されず、高速で、大量試行が可能
  • 弱いハッシュ・短いパスワードは時間の問題で破られる
  • 防御の本質は:
    • 強いハッシュアルゴリズム
    • ソルト
    • ストレッチング
    • 長くユニークなパスワード

正直に言うと、
「侵入されるかどうか」より「侵入された後に耐えられるか」 が、ここで決まります。
Password Cracking 対策は、まさに最後の防衛線です。

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?