Shodan、FOFA、ZoomEyeといったメタデータ検索エンジンは、インターネット上に公開されているデバイスやサービスをスキャンするための専門的なツールです。Googleのようにウェブサイトの内容をインデックス化するのではなく、これらのツールは接続されたデバイスに関する技術的な情報メタデータを収集・分類します。

攻撃者はこのメタデータを利用して、設定ミスのあるルーター、古いソフトウェアが動作しているサーバー、公開状態のウェブカメラなど、脆弱なシステムを特定しますこうして、攻撃対象となり得る機器のリストを作成するのです。

Shodan:IoT向けの検索エンジン

Shodanは、サーバーやルーター、ウェブカメラなどインターネットに接続されたデバイスをスキャンして情報を収集するメタデータ検索エンジンです。開いているポート、SSL証明書、バナー情報などを取得し、組織、国、サービスごとにフィルタリングして、公開されているシステムを特定することができます。また、SSLのサブジェクト名やホスト名などのファセットを使って、より詳細に調査することも可能です。

初段の最大の特徴:

  • デバイスの列挙:公開状態のウェブカメラ、ルーター、産業用制御システム(ICS)、サーバーなどを検出
  • フィルタリングとクエリ:たとえば「port:443」「country:US」「org:SomeISP」といったフィルターで絞り込み可能
  • メタデータの洞察:バナー情報からサーバーのバージョンや潜在的な脆弱性などを把握
初段のインターフェイスのスクリーンショット
初段のインターフェイスのスクリーンショット

FOFA:すべてを予見し、見つける

FOFAは中国で開発されたインターネット資産検索エンジンで、Shodanと似た機能を持ちます。公開状態のデバイスやサービスをインデックス化し、高度な検索構文をサポート、フィンガープリント技術を重視しています。脆弱性への反応が速く、高速な検索結果を提供する点が特徴です。

FOFAの最も価値ある特徴

  • 資産の発見:さまざまなプロトコルやポートを対象にスキャンし、接続されたデバイスやアプリケーションの情報を収集
  • 柔軟な構文検索:Shodan同様、例えば「protocol==https」「ip==123.123.123.123」「body==’login’」などの構文に対応
  • 広範なフィンガープリンティング:独自のシグネチャでソフトウェアやフレームワークを識別
FOFAのインターフェイスのスクリーンショット

初段 vs FOFA

どちらのプラットフォームも、インターネット上に公開されたシステムを特定するのに役立ちますが、検索構文やカバー範囲に違いがあります。Shodanが見逃すデバイスをFOFAが発見することもあれば、その逆もあります。セキュリティチームも攻撃者も、両方のツールを活用して情報を相互補完することで、より正確なアタックサーフェスの全体像をつかむことができます。

以下に比較のポイントを紹介します:

初段 外務省
主な焦点 グローバルIoT/ICS、インターネット接続機器全般 中国語圏に重点を置きつつ、グローバルに幅広くカバー
検索機能 高度な検索フィルター、堅牢な構文、ICSへの強いこだわり 高度なクエリ構文、広範なフィンガープリント・ライブラリ
データ範囲 グローバルなインデックス作成、大規模なユーザーベースとデータセット また、グローバルだが、特に中国/アジア太平洋地域でよく採用されている。
ユーザーインターフェース フィルターベースの検索を備えた分かりやすいインターフェース ウェブインターフェイスは複数のフィルタータイプをサポート。中国語/英語のUIはわかりやすさに差があるが、改善されつつある。
APIと統合 包括的なAPIで、オープンソースツールの間で人気があり、セキュリティコミュニティ全体で広く統合されている。 APIは段階的なサブスクリプションで利用可能。
独自の強み 長年の評判とコミュニティ、詳細なICS/IoTカバレッジ フィンガープリント、地域別データ、グローバルなフットプリントの拡大への強い関心

攻撃者が検索エンジンを使って標的を特定する方法

Black Bastaのような攻撃者グループは、まずShodanやFOFAからのデータ収集を自動化し、公開状態のデバイスに関するメタデータを抽出して、後で使用できるようダウンロード可能なアーカイブとして保存します。

次に、ZoomEye(中国発の別の検索エンジン)を使ってターゲットを地域ごとに分類します。ShodanやFOFAと異なり、ZoomEyeはアプリケーション層まで深くスキャンし、独自のフィンガープリント機能を活用することで、複数の国に存在するJenkinsサーバーのような技術をより正確に特定できます。

認証情報を表示するZoomEyeインターフェースのスクリーンショット
認証情報を表示するZoomEyeのインターフェイスのスクリーンショット(※このスクリーンショットはBlack Bastaとは関係ありません。)

攻撃者はターゲット特定後に何をするのか?

インフラの公開状態をマッピングした後、攻撃者は単なる情報収集にとどまらず、すぐにアクティブな攻撃フェーズへと移行します。

たとえばBlack Bastaは、脆弱なターゲットのリストを作成した後、以下の2つの主要な手法でシステムの弱点を突いていきます。

  1. クレデンシャルベースのブルートフォース攻撃
  2. CVEに基づく悪用

デフォルトまたは再利用された認証情報を使用したブルートフォース攻撃

非常に一般的な次のステップが、資格情報を狙ったブルートフォース攻撃です。Black Bastaは、Microsoft RDWeb、Palo Alto GlobalProtect VPN、Citrix NetScaler Gatewayなど、さまざまな技術のログインポータルを標的にしました。

彼らは数百のエンドポイントを収集し、Brute Ratel のようなツールを用いて自動ログインを試行。デフォルトのID・パスワード、複数システム間で使い回された資格情報、過去に漏洩した情報などを使用します。これらの試行はスクリプト化されており、ユーザー名とパスワードのペアがセミコロンで区切られた形式で大量に処理されます。

Black Bastaテクニックの例:

  1. RDWeb ブルートフォース: MicrosoftのリモートデスクトップWebアクセス(RDWeb)エンドポイントを多数収集して攻撃
  2. GlobalProtectポータル(VPN):Palo Alto製のGlobalProtect VPNを広範囲に標的
  3. Citrixポータル:Citrix NetScaler Gatewayに対しても資格情報の総当たり攻撃を実行

これらのポータルは、多要素認証(MFA)などの追加防御が無いことも多く、ユーザー側のパスワード使い回しも相まって、最小限の労力で侵入できるケースがあります。特に振る舞い検知機能が弱い環境では、なおさらです。

CVEに基づく悪用

同時に、攻撃者は既知の脆弱性を突いて認証を完全に回避する手法もとります。

たとえばJenkinsに対してBlack Bastaは、CVE-2024-23897という重大な脆弱性を悪用。この脆弱性を利用すると、認証なしでJenkins CLI経由で任意のファイルを読み取ることが可能になります。/etc/shadowのようなハッシュ化された資格情報ファイルも読み取れるため、完全な侵害につながる可能性があります。

Shodanで脆弱なJenkinsサーバーを検索したスクリーンショット
Shodanで脆弱なJenkinsサーバーを検索したスクリーンショット

攻撃者はShodanやFOFAで得られるメタデータを使って未修正のJenkinsインスタンスを特定し、初期侵入用の自動エクスプロイトを実行します。

このようなCVE主導の攻撃は特に危険です。

  • 認証が不要な場合が多い
  • 攻撃が速く、検出されにくい
  • 管理者権限や機密データへの直接アクセスを得られる

Vectra AIが攻撃連鎖をどう断ち切るか

ここまで見てきた通り、ShodanやFOFAによる自動情報収集からブルートフォースやCVE攻撃に至るまで、攻撃者は短時間で公開されたインフラを侵害に転じることができます。 そこで重要になるのが Vectra AIの存在です。Vectra AI Platformは、環境内の異常な挙動を常時監視し、攻撃者の成功前に侵入の兆候を検出します。

たとえば、RDWeb、VPNポータル、Citrix、Jenkinsなどを通じて盗まれた/推測された資格情報が試され始めた段階で、Vectraは以下のような異常をキャッチします。

  • ログインに何度も失敗する
  • 異常な口座の動き
  • 予期せぬ横方向の動き
  • 特権昇格の試み

要するに、ShodanやFOFAは「何が世界に晒されているか」を示すツールであるのに対し、Vectra AIは「実際に内部で何が起きているか」を可視化します。これにより、Black Bastaのような攻撃が本格的な侵害へと発展する前に、阻止する力をセキュリティチームに与えるのです。

Vectra AIプラットフォームについてもっと知りたいですか?ご連絡いただくか、デモをリクエストしてください!

---

よくあるご質問(FAQ)