mcpField
F
find-leaks-in-the-wild

find-leaks-in-the-wild

github.com/useosintセキュリティ571.7k 回インストール12 週間前に更新
リポジトリ

find-leaks-in-the-wild について

公開されている漏えいデータを調べるセキュリティ調査担当者向けのガイドです。ペーストサイト、フォーラム、Telegramを扱い、データの真正性評価、リスク管理、継続監視の方法を示します。

主な機能

  1. 01手掛かりに応じた情報源の選択
  2. 02ペースト内容の発見方法の解説
  3. 03侵害データと再流通リストの評価
  4. 04公開 Telegram チャンネルの調査
  5. 05単発検索と継続監視の区別

活用シーン

  1. 01データセットが実際の侵害を示すか確認
  2. 02認証情報リストが旧データの再利用か判定
  3. 03公開 Telegram チャンネルの内容を安全に確認
  4. 04ドメイン漏えいの継続監視を計画

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/useosint/skills --skill find-leaks-in-the-wild

インストール後、Claude Code で/find-leaks-in-the-wildを入力して読み込まれたか確認します。

同梱ファイルreference/authenticity-triage.mdreference/source-catalogue.md

詳細

流出情報を実際の現場で見つける

データは、何かにインデックスされる前にここに現れます。また、見つかる情報の大半は、何年も前に流出した情報を組み合わせ直したものです。多くの人が陥る間違いは、主に2つあります。ペーストホスト独自の検索機能でペーストを見つけられると思い込むことと、コンボリストを情報漏えいとして報告することです。前者は1日を無駄にし、後者は成果物に事実誤認を含めることになり、いずれ発覚します。

手元にある情報から始める

手元にあるものまず調べる場所理由
メールアドレスまたはユーザー名まずは厳選された情報漏えいサービス費用が安く、出典が明確で、ほとんどの疑問に答えられます — what-leaked-about-you
現在出回っていると思われる検索対象ペーストホストを対象にした site: 検索、その後にペーストアグリゲーター検索エンジンは対象が限られますが無料です。アグリゲーターなら、クロールされなかった情報にもアクセスできます
削除されたペースト過去のペーストコーパス削除されるのが普通ですが、一部のサービスは内容を保持しています
特定企業の情報漏えいだという主張まずは企業自身の開示情報、次に規制当局への届出信頼できる情報源が1つあれば、フォーラムの大量の投稿より確かな情報が得られます
広告されているデータセットサンプルの構造分析問いに答えるためにデータセット全体が必要になることは、ほとんどありません
防御対象のドメインベンダーの監視と独自のカナリア検索対象1回限りの検索では、その間に投稿された情報をすべて見逃します

ソースごとのアクセスモデルとリスクについては、 reference/source-catalogue.md を参照してください。

ペーストサイトの検索が機能しない理由

ペーストは、デフォルトで非公開です。インデックスページもディレクトリもなく、URLからしかアクセスできません。そのため、ホストが検索対象にできるものも、クローラーがたどれるものもありません。ホストがデータをリアルタイムで取得できるフィードやスクレイピング用インターフェースを提供している場合でも、通常はIPアドレスの許可リストに登録された有料アカウントに制限されています。オープンな仕組みが悪用されたためです。データ量は膨大で、保持期間は短いものです。

そこで人々は、主に次の4つの方法でペーストを見つけています。おおよその有効度の高い順に、ペーストホストを継続的にスクレイピングして内容をインデックスするサードパーティのアグリゲーター、元のペーストが削除された後も内容を保持する過去のペーストコーパス、ページがリンクされず公開期間も短いため対象は限られますが費用のかからない検索エンジンの site: クエリ、そして情報漏えいと併せてペーストもインデックスする厳選された情報漏えいサービスです。

まずは無料の方法から試してください。クエリの形式は google-like-a-spy に記載されています。ペーストのエコシステムは、よく知られたホストよりもはるかに広範囲に及ぶことに注意してください。シンプルな最新のペーストサービス、コードサンドボックス、gist、ウェブ公開されたドキュメント、そしてクライアント側で暗号化するペーストソフトウェアなどがあります。クライアント側で暗号化するソフトウェアはサーバー自体が内容を読み取れないため、現存するすべてのアグリゲーターから見えません。

フォーラム:ライフサイクルを持つカテゴリ

サイト名を覚えるのではなく、パターンを覚えてください。フォーラムにユーザーとデータが集まり、認知されたマーケットプレイスになると、法執行機関の注目を集め、差し押さえられるか運営者が逮捕されます。そして数週間以内に、継続性を主張する後継サイトが現れます。スタッフが同じで、ユーザーデータベースを引き継いでいることもよくあります。名前は変わりますが、カテゴリは変わりません。

行動を変えるべき3つの結果があります。

  • 差し押さえ後に「復旧」したフォーラムは、法執行機関が運営または監視している可能性があります。 実際に起きたことがあります。登録すると、あなたの情報が証拠の一部になります。
  • 登録には長期的なリスクが伴います。 フォーラムのデータベースは流出し、差し押さえられ、公開されることがあります。作成したアカウントは、メールアドレス、IPアドレスの履歴、投稿とともに、いずれ公開されると考えてください。
  • 未登録の訪問者に見えるのは、宣伝であってデータではありません。 評判のランクや有料の壁の向こうに実際のデータセットがあるからこそ、アクセス料金の支払いによって法的リスクが高まるのです。

多くの組織では、調査担当者がこれらのサイトに一切アクセスすることを禁止し、契約上そのリスクを引き受けているベンダーから情報を購入しています。これは正当な選択肢であり、逃げではありません。

Telegram は配布レイヤーです

流行ではなく、構造上の理由があります。チャンネルは無制限の登録者に一斉配信でき、大容量ファイルを直接添付でき、チャンネルが禁止されても数分で再作成でき、公開チャンネルには招待なしでアクセスできます。

プラットフォームの公開プレビューを使って、ブラウザーで公開チャンネルを閲覧してください。 アカウントも参加も不要です。参加するとアカウント情報が露出しますが、公開チャンネルを読むだけなら何のメリットもありません。まずはこれを行い、ほとんどの調査ではこれだけで十分です。

難しいのは発見です。アプリ内検索は、まだ知らないチャンネルを見つけるには不十分です。サードパーティーのチャンネルインデックスやチャンネル検索サービスを利用するのが現実的な方法であり、チャンネル自体では得られない登録者数の推移や投稿アーカイブも確認できます。

知っておく価値のある、プラットフォーム固有の点が二つあります。転送されたメッセージには発信元チャンネルの情報が付くため、転送の連鎖から配布経路を再構成でき、多くの場合は発信元までたどれます。また、ボットは流出データベースの検索用フロントエンドとして使われます。ボットに問い合わせるとアカウントが露出し、検索条件も運営者に渡るため、そのようなボットは自分を標的にした情報収集ツールとして扱ってください。

チャンネルは消滅し、アーカイブも一緒に失われます。投稿、ファイル一覧、メタデータは、見つけた時点ですぐに保存してください。

アカウントが必要な場合は、本人名義ではない電話番号を使った専用アカウントを用意し、初回起動前に発見と連絡先同期の設定を厳重に制限してください。investigate-without-getting-made では環境全体を扱っています。ここで独自の方法を試さないでください。

本物の流出か、再利用されたコンボリストか

新たな侵害として提示されたものは、まず古いデータを再構成したものだと考えてください。実際、ほとんどがそうだからです。その主張は、証拠によって裏付けられる必要があります。

最も強力な証拠は外部から得られるものです。被害を受けた組織自身による公表、または規制当局や CERT からの通知です。データに触れる前に確認してください。

構造面では、本物のソースダンプには、元のアプリケーションに由来するスキーマが引き継がれています。列の順序に一貫性があること、削除されたレコードに対応する欠番がある整合的な内部 ID、サービスが実際に運用されていた期間全体にわたる登録日時、その時代として妥当なハッシュ方式、ユーザーベースに合致したメールドメインの分布、そして最も強い肯定的な兆候として、そのサービスだけが収集するはずのフィールド(サブスクリプションのプランやゲームのキャラクター名など)があることです。

コンボリストはそのどれにも当てはまりません。2 列のみでメタデータがなく、並べ替えと重複排除が済んでおり、レコード数が不自然にきりのよい数字で、複数のハッシュ形式が混在し、同じパスワードを使った、出所が明確な過去の侵害データとの重複が多く見られます。認証情報を使い回す人がいるため、ある程度の重複は普通です。測定すべきなのは、その割合です。

さらに、除外すべき誤判定が二つあります。ハッキングと称して宣伝された公開情報のスクレイピング。この場合、すべてのフィールドはプラットフォームがすでに表示していたものです。もう一つは、別の名前ですでに流通していたデータセットです。発表文の特徴的な文字列(正確なレコード数、ファイル名、販売者の言い回し)を、ペーストサイトやフォーラムのデータ全体から検索して確認してください。

チェックリストと評価基準の全文: reference/authenticity-triage.md.

継続的な監視と一度限りの検索

一度限りの検索で分かるのは「今、そこにあるかどうか」であり、検索と検索の間に投稿されたものは見つかりません。一般的なペーストサイトの保持期間を考えると、見逃すのは大半です。継続的な流出には継続的な収集が必要であり、実際にはベンダーの監視サービスを購入することになります。こうした情報源を自分で収集することは、まさに避けようとしていたリスクだからです。購入する前に、ひとつだけ確認してください。収集をいつ開始したかです。カバレッジはその時点から始まり、収集していなかった情報を後から補うことはできません。

次に、監視サービスの精度を測定します。保護対象のシステムに、カナリア用の識別子、つまり一意のメールアドレスや識別子を、ベンダーごと、パートナーごとに別々に設定します。カナリアがあれば、情報流出が発生したことだけでなく、どの下流の関係者が流出させたかも分かります。このため、検知だけでなく流出元の特定まで可能にする唯一の方法です。また、監視ベンダーが主張どおりの情報を確認できているかも、独立して測定できます。

うまくいかないケース

  • コンボリストは情報の出所を分からなくします。 一致したとしても、その組み合わせがどこかに現れたことしか分からず、調査における本来の価値である情報源は分かりません。
  • 申告された日付は宣伝文句です。 漏えいの日付、最初に流通した日付、情報源が取り込んだ日付はそれぞれ異なり、何年も離れていることもよくあります。
  • 見つからないことからは何も判断できません。 識別子が見つからなくても、アクセス可能なデータ群に含まれていないというだけです。流出情報の大半は、そもそも公開投稿されません。
  • 販売者は、範囲を広くも狭くも偽ります。 価格を上げるために誇張したり、注目を避けるために過小申告したりします。スクレイピングしたデータが、ベンダーも含め、常に侵害データとして誤って表示されています。
  • 検索内容は記録されます。 ベンダーのプラットフォーム、ボット、フォーラムの検索ボックスに記録されます。検索した識別子はすべて、誰かに保存されているものと考えてください。
  • 告知の数はインシデントの数ではありません。 同じデータセットが多くの再販業者によって繰り返し告知されるため、投稿数を数えると実態以上に見えます。
  • リークサイトのミラーやクローンでは、マルウェアやフィッシングが目的です。 こうしたサイトは、新しいドメインを検索して訪れる人を特に狙っています。

信頼度の分類

  • 確認済み — 被害を受けたとされる組織、または規制当局がインシデントを公表しており、サンプルの構造もその公表内容と一致しています。
  • 可能性が高い — 公表はないものの、サービス固有のフィールド、一貫性のある内部識別子、妥当なタイムスタンプとハッシュがあり、既存のデータ群との重複も少ない状態です。
  • 未確認 — 信頼できるサンプルはあるものの、公表がなく、特徴的な構造も確認できない状態です。または、販売者の説明でしか確認していないデータセットです。
  • 否定 — 同じパスワードで過去の侵害情報と高い重複がある、2列形式のコンボリストである、レコード件数が被害組織の想定されるユーザー数を超えている、スクレイピングデータを侵害情報として提示している、または別の名称で以前に出回っていた場合です。

文書では、次の3つの主張を分けて記述してください。データセットが存在し、流通していること、そのデータセットに対象に関するレコードが含まれていること、そして対象のシステムが侵害されたことです。3つ目ははるかに強い主張です。また、対象のデータは、サプライヤー、パートナー、過去の買収先、無関係なサービスから流出することもあります。

実例

クライアントが利用している特定の SaaS プロバイダーについて、「新たに発覚した 240 万件の情報漏えい」を宣伝する Telegram の投稿に、クライアントのドメインが登場します。

ベンダーは情報を公表しておらず、規制当局への通知もありません。販売者が公開しているサンプルは、参加せずにチャンネルの公開ウェブプレビューから確認できるもので、email:password の 2 列が並び、ソートされています。ユーザー ID、登録日、その製品固有のフィールドはありません。

行き詰まり:ペーストサイトのデータベース全体を対象に、正確なレコード数とファイル名を検索しても、それ以前のものは見つかりませんでした。そのため、「別の名前で既に流通していた」という検証は、裏付けにも反証にもならず、結論が出ません。

重複の照合で決着がつきます。サンプルの 12 件を、厳選された情報漏えいデータベースで確認したところ、出所が明確な 3 件の古い情報漏えいに、同一のパスワードとともに含まれていました。丸められた件数で、スキーマはなく、ほぼ全面的に重複しています。認知度の高いブランド名を冠して販売されたコンボリストです。

報告内容:クライアントの従業員に関するレコードが流通している可能性がある — 可能性が高い。プロバイダーが侵害された — 否定。その判断理由も記録しました。認証情報は出所にかかわらず流通しているため、クライアントはどちらの場合もパスワードを変更する必要があります。

次の調査先

新たな手掛かり調査先
ダンプ内のメールアドレスwhat-an-email-reveals、what-leaked-about-you
ユーザー名とハンドルhunt-a-handle
電話番号whose-number-is-this
リスト内のドメインとホスト名who-owns-this-domain、find-hidden-subdomains
販売投稿内のウォレットアドレスfollow-the-crypto
販売者またはチャンネル運営者の人物像find-anyone、graph-the-network
添付された文書と画像secrets-in-file-metadata、is-this-photo-real
リポジトリに由来すると追跡された認証情報またはキーsecrets-in-git-history
その後削除された投稿またはチャンネルread-deleted-pages

法的事項と取り扱いに関する注意

漏えいした認証情報を使って、いかなるものにも認証してはいけません。 アカウントの存在を確認するためでも、一度だけでも、クライアントから口頭で許可されていても同様です。クレデンシャルスタッフィングは、ほとんどの法域でコンピューター不正利用法に基づく不正アクセスであり、パスワードが公開されていることは抗弁になりません。パスワードリセットや、復元したセキュリティ質問への回答にも同じことが当てはまります。

漏えいデータを購入、要求、または取引してはいけません。 取引への資金提供になるだけでなく、購入や要求は、多くの法域で公開ページを読むこととは異なり、犯罪に当たります。調査を犯罪行為に変えてしまう境界線はここにあります。

所持の適法性は法域によって異なります。 入手方法を問わず、特定の種類の盗難データの所持を犯罪とする法域もあれば、データ保護規則に従う適法な処理として扱う法域もあります。何かをダウンロードする前に、自分に適用される法制度を確認してください。また、ダウンロードを検討する業務では、その判断を書面に残してください。

実務上は、データセット全体を取得せずサンプルを分析し、保管するデータは最小限に抑え、保存時に暗号化してアクセスを記録し、認証情報は決して保管せず、作業開始時に書面で定めたスケジュールに従って削除し、保管する各項目が必要だった理由を記録します。GDPR および同等の制度では、これは個人データであり、多くの場合、特別カテゴリーのデータに該当します。その処理には適法な根拠が必要です。../../ETHICS.md を参照してください。

コメント