情報漏洩データがOSINTに使える理由

過去のデータ侵害(Data Breach)で流出した情報は、時間が経っても消えることなくインターネット上を流通し続けます。攻撃者はこれらのデータを:

  • クレデンシャルスタッフィング攻撃(同じID/パスワードの使い回しを悪用)
  • スピアフィッシング(個人情報を使って巧妙な標的型攻撃を準備)
  • ソーシャルエンジニアリング(漏洩情報から個人の行動パターンや関係性を分析)

に活用します。セキュリティ担当者が同じデータを調査することで、自組織や個人がどれだけ露出しているかを把握し、先手を打った対策が可能になります。

漏洩データの取り扱いに注意

情報漏洩データそのものを収集・保有・配布することは、各国の個人情報保護法や不正競争防止法に抵触する場合があります。本記事で紹介するのは、公式に提供されているAPIやサービスを通じた確認方法のみです。生の漏洩データを直接取得・配布する行為は行わないでください。


Have I Been Pwned(HIBP)

HIBPとは

Have I Been Pwned は、セキュリティ研究者のTroy Hunt氏が2013年に構築した情報漏洩確認サービスです。Adobe、LinkedIn、Yahoo、Dropboxなど数百件のデータ侵害から流出した100億件以上のメールアドレス(2024年時点)を収録しています。

主な機能:

  • 特定のメールアドレスが過去の漏洩に含まれているか確認
  • 特定のパスワードが漏洩済みかどうか確認(Pwned Passwords)
  • ドメイン単位での漏洩確認(法人向け・要認証)

HIBP APIを使ったメールアドレス確認

メールアドレスの漏洩確認(APIキーが必要)

APIキーは https://haveibeenpwned.com/API/Key で取得

HIBP_API_KEY=“your-api-key-here” EMAIL=“user@example.com

curl -s
-H “hibp-api-key: ${HIBP_API_KEY}”
-H “user-agent: MySecurityAuditTool/1.0”
https://haveibeenpwned.com/api/v3/breachedaccount/${EMAIL}” |
jq ’[.[] | {name: .Name, date: .BreachDate, dataClasses: .DataClasses}]‘

結果例(漏洩が見つかった場合):

[

{

“name”: “LinkedIn”,

“date”: “2012-05-05”,

“dataClasses”: [“Email addresses”, “Passwords”]

},

{

“name”: “Adobe”,

“date”: “2013-10-04”,

“dataClasses”: [“Email addresses”, “Password hints”, “Passwords”, “Usernames”]

}

]

漏洩が見つからない場合は 404 が返る

レートリミット: 1リクエスト/1500ms(API経由)

Pwned Passwords API — パスワードの安全確認

HIBPのPwned Passwords機能は、パスワードが漏洩データベースに含まれているかを確認できます。プライバシーを守るために**k-匿名性(k-Anonymity)**という仕組みを使っています。

仕組み:

  1. パスワードのSHA-1ハッシュを計算
  2. ハッシュの先頭5文字のみをAPIに送信
  3. APIはその5文字で始まるすべてのハッシュのリストを返す
  4. ローカルで完全なハッシュと照合

実際のパスワードやハッシュ全体がサーバーに送信されないため安全です。

パスワード “password123” が漏洩済みか確認

PASSWORD=“password123”

SHA-1ハッシュを計算

HASH=$(echo -n “$PASSWORD” | shasum -a 1 | tr ’[:lower:]’ ’[:upper:]’ | cut -d’ ’ -f1) echo “Full hash: $HASH”

先頭5文字を送信

PREFIX=${HASH:0:5} SUFFIX=${HASH:5}

curl -s “https://api.pwnedpasswords.com/range/$PREFIX” |
grep -i “$SUFFIX” |
awk -F: ‘{print “このパスワードは ” $2 ” 件の漏洩データで発見されました”}‘

結果例:

このパスワードは 2467867 件の漏洩データで発見されました

→ このパスワードは絶対に使用してはいけない

シェルスクリプト化(複数パスワードのチェック)

check_password() { local pwd=“$1” local hash=$(echo -n “$pwd” | shasum -a 1 | tr ’[:lower:]’ ’[:upper:]’ | awk ‘{print $1}’) local prefix=”${hash:0:5}” local suffix=”${hash:5}” local count=$(curl -s “https://api.pwnedpasswords.com/range/$prefix” | grep -i “$suffix” | awk -F: ‘{print $2}’) if [ -n “$count” ]; then echo “PWNED: $pwd ($count 件の漏洩)” else echo “SAFE: $pwd” fi }

Pwned PasswordsをサービスのパスワードポリシーにAPI統合

HIBPのPwned Passwords APIは商用利用を含め無料で使えます。ユーザーが新しいパスワードを設定する際にこのAPIを呼び出し、漏洩済みパスワードをリジェクトすることで、クレデンシャルスタッフィング攻撃に対するパスワード品質を向上させることができます。NIST SP 800-63Bでもこのアプローチが推奨されています。


クレデンシャルスタッフィングとの繋がり

情報漏洩データが危険なのは、多くのユーザーが同じID/パスワードを複数サービスで使い回すからです。

攻撃の流れ

1. 攻撃者が漏洩DBを入手
   (例: 2012年のLinkedIn漏洩 — 1億6千万件)

2. 自動化ツール(Sentry MBA、OpenBullet等)でID/パスワードを試行

3. 同じID/パスワードで別サービス(銀行、ECサイト等)に不正ログイン

4. 個人情報の窃取・不正購入・アカウントの転売

クレデンシャルスタッフィングの対策

対策説明
多要素認証(MFA)パスワードが正しくても、2段階目で阻止できる
レートリミット短時間の大量ログイン試行を検知・ブロック
異常ログイン検知普段と異なる国・デバイスからのアクセスをアラート
Pwned Passwords連携漏洩済みパスワードの登録を拒否
パスワードマネージャーの推奨各サービスに固有の強いパスワードを使わせる

Pastebin監視

PastebinとはOSINT視点で何か

Pastebin(pastebin.com)は、テキストデータを一時的に共有するサービスです。プログラマーがコードスニペットを共有するために使いますが、攻撃者が漏洩したクレデンシャル・設定ファイル・内部ドキュメントを公開する場所としても悪用されます。

Pastebinで発見される情報の種類

  • ユーザー名/パスワードのリスト(Combo List)
  • 内部システムのAPIキー・トークン
  • データベースのダンプデータ
  • 設定ファイル(database.yml、.env ファイルなど)
  • 社内ドキュメント・メールの内容

Pastebin で特定組織の情報を検索

site:pastebin.com “example.com” “password” site:pastebin.com “example.com” “@example.com”

設定ファイルの漏洩を検索

site:pastebin.com “DB_PASSWORD” “example.com” site:pastebin.com “api_key” “example.com”

その他のPastebinサイト(類似サービス)

site:hastebin.com “example.com” site:ghostbin.co “example.com” site:rentry.co “example.com”

Psbdmp.ws — Pastebinの過去データ検索エンジン

https://psbdmp.ws/api/search/example.com

自動モニタリングツール

Psbdmp API を使ったドメイン監視例(概念コード)

DOMAIN=“example.com” PSBDMP_API=“https://psbdmp.ws/api/search/${DOMAIN}“

最新の投稿を検索

curl -s “$PSBDMP_API” |
jq ‘.data[] | {id: .id, time: .time, preview: .text[0:100]}’ |
head -50

定期実行(cronで毎日実行)

0 9 * * * /path/to/pastebin_monitor.sh >> /var/log/pastebin_monitor.log 2>&1

商用の脅威インテリジェンスサービス

自動監視を本格的に行うなら、商用の脅威インテリジェンスサービスの導入を検討してください。

  • Digital Shadows(ReliaQuest): ダークウェブ・Pastebin・SNSを継続監視
  • Recorded Future: AIによる脅威インテリジェンス
  • SpyCloud: 漏洩クレデンシャルのリアルタイムアラート
  • KELA Darkbeast: 日本語対応ダークウェブ監視

ダークウェブマーケットの概要(教育目的)

ダークウェブとは

ダークウェブはTorネットワーク上の、通常のブラウザからアクセスできないWebサービスの総称です。匿名性の高い通信を利用して、違法なマーケットプレイスやフォーラムが運営されています。

ダークウェブへのアクセスについて

ダークウェブへのアクセス自体は技術的には可能ですが、違法コンテンツへのアクセス・取引は厳しく処罰される可能性があります。本セクションはセキュリティ担当者が脅威の全体像を理解するための教育的な概要説明に過ぎません。実際にダークウェブマーケットにアクセスすることはお勧めしません。

漏洩データの流通経路(概念図)

データ侵害発生

攻撃者グループ内で使用(標的型攻撃)

ダークウェブフォーラムで小規模に販売

大手ダークウェブマーケットで広く販売

バルクで転売・Pastebinなどに一部公開

セキュリティ研究者がHIBP等に提供

情報の価格感(参考:2023年〜2024年の研究報告より)

データの種類ダークウェブでの価格感
一般的なメール/パスワードコンボ$1〜$5 / 1000件
フルセット個人情報(Full Info)$10〜$50 / 件
銀行口座アクセス情報残高の10〜20%
RDPアクセス(企業)$10〜$200 / 件
ランサムウェアアクセスの初期侵入$500〜$数千

自組織の漏洩対策と監視体制

対策の優先順位

  1. MFAの全組織展開 — 漏洩クレデンシャルが使われても被害を防ぐ最初の防線
  2. パスワードマネージャーの導入 — 使い回し防止とランダムな強いパスワードの生成
  3. HIBP APIの認証システム統合 — 漏洩済みパスワードの登録をリジェクト
  4. 定期的なメールドメイン監視 — HIBPのドメイン監視(法人向け機能)
  5. SIEM/SOARへの脅威フィード統合 — 漏洩クレデンシャルの自動ブロック

インシデント発生時の対応手順

#!/bin/bash

自組織ドメインのメールアドレス漏洩を一括チェック

事前にHIBP APIキーを取得し、env変数として設定すること

HIBP_API_KEY=”${HIBP_API_KEY:?APIキーが設定されていません}” DOMAIN=“example.com” EMAILS_FILE=“employees.txt” # メールアドレスリスト(1行1件)

check_email() { local email=“$1” local response response=$(curl -s -w “\n%{http_code}”
-H “hibp-api-key: $HIBP_API_KEY”
-H “user-agent: OrgAuditTool/1.0”
https://haveibeenpwned.com/api/v3/breachedaccount/${email}?truncateResponse=false”)

local status_code status_code=$(echo “$response” | tail -1) local body body=$(echo “$response” | head -1)

case “$status_code” in 200) echo “PWNED: $email” ; echo “$body” | jq -r ’.[].Name’ | sed ‘s/^/ - /’ ;; 404) echo “CLEAN: $email” ;; 429) echo “RATE_LIMIT: $email — 待機中…” ; sleep 2 ; check_email “$email” ;; *) echo “ERROR($status_code): $email” ;; esac

sleep 1.5 # レートリミット遵守(1500ms/リクエスト) }

while IFS= read -r email; do check_email “$email” done < “$EMAILS_FILE”

漏洩を発見したら何をすべきか

HIBPで自組織のメールアドレスが漏洩済みとわかった場合の対応手順:

  1. 該当ユーザーへの即時通知 — どのサービスで漏洩したか、何のデータが含まれるかを通知
  2. パスワードの強制リセット — 対象ユーザーの全サービスのパスワード変更を促す
  3. 異常ログインの調査 — 漏洩日以降の不審なアクセスログを確認
  4. MFA未設定ユーザーへの優先対応 — 漏洩アカウントでMFAが未設定なら即時設定
  5. セキュリティ教育 — パスワードの使い回しをやめ、パスワードマネージャーを導入させる

理解度チェック

HIBP(Have I Been Pwned)の Pwned Passwords API がk-匿名性(k-Anonymity)を使う理由はどれですか?