OSINT技術解説ーペネトレーションテストにおける情報収集の実践
はじめに
本稿の執筆を担当する、TIS ペネトレーションテストチームの魏赫です。
現代のサイバーセキュリティでは、情報収集は攻撃者と防御者の双方にとって極めて重要な要素です。
特に、ペネトレーションテスト(侵入テスト)においては、対象システムに関する情報を効率的かつ合法的に収集する能力が、テストの成否を左右する重要な要因となります。
近年、インターネット上で公開されている情報は爆発的に増加しています。ソーシャルメディア、企業ウェブサイト、公開データベース、技術文書など、多様な情報源から価値ある情報を入手できるようになりました。
しかし、この膨大な情報群の中から必要な情報を適切に収集し、分析し、活用するためには、体系的なアプローチと専門的な技術が求められます。
本稿では、OSINT(Open Source Intelligence:オープンソースインテリジェンス)について、基本概念から実践的な応用までを包括的に解説します。
特に、ペネトレーションテストにおけるOSINTの重要性、具体的な技術手法、そして実際の活用事例について、実務的な観点から詳しく紹介します。
OSINTとは何か
OSINTの定義と概念
OSINT(Open Source Intelligence)とは、公開されている情報源から合法的に収集された情報を指します。この「公開されている情報源」には、インターネット上のウェブサイト、ソーシャルメディア、ニュース記事、学術論文、政府文書、企業の公開資料、公開データベース、書籍、雑誌などが含まれます。
OSINTの特徴は、情報収集の過程が合法的かつ倫理的であるという点にあります。これは、不正アクセスやハッキングといった違法な手段を用いることなく、誰でもアクセス可能な情報を収集し、分析することを意味します。
OSINTの歴史的背景
OSINTという概念自体は、軍事・諜報活動の分野で長い歴史を持っています。第二次世界大戦中、各国の情報機関は新聞、ラジオ放送、公開された軍事文書などから貴重な情報を収集していました。冷戦時代には、この技術はさらに洗練され、体系化されました。
しかし、インターネットの普及により、OSINTは大きな変化を遂げました。1990年代後半からのインターネットの急速な発展により、公開情報の量が飛躍的に増加し、同時にその収集・分析の手法も大きく進化しました。現在では、軍事・諜報分野だけでなく、民間企業のセキュリティ部門、法執行機関、ジャーナリスト、そしてペネトレーションテスターなど、多様な分野で活用されています。
OSINTの情報源の分類
OSINTで活用される情報源は、以下のように分類できます:
-
インターネット上の公開情報
- 企業のウェブサイトおよび関連ドメイン
- ソーシャルメディアプラットフォーム(LinkedIn、X、Facebookなど)
- オンラインフォーラムとコミュニティサイト
- ブログおよび個人ウェブサイト
- オンラインニュースメディア -
公開データベースとレジストリ
- WHOIS情報(ドメイン登録情報)
- DNS記録
- SSL/TLS証明書情報
- IPアドレス割り当て情報(ARIN、RIPEなど)
- 商標・特許データベース -
ソーシャルメディアと人的情報
- プロフェッショナルネットワーク(LinkedIn)
- 一般的なソーシャルメディア(X、Instagram、Facebook)
- ビジネスレビューサイト
- 求人情報サイト -
技術的情報源
- GitHubなどのコードリポジトリ
- 技術文書とマニュアル
- APIドキュメント
- エラーメッセージと技術フォーラム -
画像・メタデータ
- オンライン画像とその位置情報
- EXIFデータ
- 衛星画像
- ストリートビュー
OSINTとCSINT、HUMINTの違い
情報収集の分野では、OSINT以外にもCSINT(Closed Source Intelligence:非公開情報インテリジェンス)やHUMINT(Human Intelligence:人的情報収集)といった概念が用いられています。
CSINTは、アクセスが制限された情報源からの情報収集を指します。例えば、有料データベース、会員制サイト、内部文書などがこれに該当します。
ペネトレーションテストの文脈では、CSINTは通常、契約に基づいてクライアントから提供された内部情報が含まれる場合があります。
※CSINT(Closed Source Intelligence)という用語は文献や教育分野で用いられることがあり、本稿では『契約や権限に基づいてアクセス可能な非公開情報』を指すものとして使用する
HUMINTは、人間を情報源とする情報収集活動であり、インタビューや会話、ソーシャルエンジニアリングなどを通じて情報を得る手法です。
一方、OSINTは、完全に公開された情報のみを扱い、特別なアクセス権限や人的接触を必要としないという点で区別されます。
※原則として公開情報を扱うが、各情報源の利用規約や法的・倫理的制約を考慮する必要がある
OSINTの倫理的側面
OSINTの実施にあたっては、合法性と倫理性の両面に注意を払う必要があります。
情報が「公開されている」というだけでは、その収集や利用が常に適切とは限りません。
以下の倫理的原則を遵守することが重要です:
- 合法性の確保: 情報収集活動が常に法律の範囲内で行われること
- プライバシーの尊重: 個人のプライバシー権を侵害しないこと
- 目的の正当性: 情報収集の目的が正当であり、悪意がないこと
- 透明性: 必要に応じて、情報収集の目的と方法を開示できること
- 責任ある開示: 発見した脆弱性やセンシティブな情報を適切に扱うこと
特にペネトレーションテストの文脈では、クライアントとの契約に基づき、明確なスコープと制限の下でOSINT活動を実施することが重要です。
ペネトレーションテストにおけるOSINTの重要性
ペネトレーションテストのライフサイクルとOSINT
ペネトレーションテストは、一般的に以下のフェーズで構成されます:
- 計画とスコープ定義
- 情報収集
- 脆弱性分析
- エクスプロイテーション(侵入)
- 権限昇格と横移動
- 永続化
この中で、OSINTは主に情報収集フェーズにおいて中心的な役割を果たします。しかし、その重要性は単なる一フェーズにとどまりません。
収集された情報は、その後のすべてのフェーズの基盤となり、テスト全体の方向性と成功率を大きく左右します。
OSINTがペネトレーションテストに与える価値
1. 攻撃対象領域の特定
OSINTを通じて、テスト対象組織の攻撃対象領域(Attack Surface)を包括的に把握できます。これには以下が含まれます:
- 技術的資産: サーバー、ドメイン、IPアドレス範囲、使用している技術スタック
- 人的資産: 従業員の情報、組織構造、連絡先
- デジタルフットプリント: ソーシャルメディアプレゼンス、オンラインサービスの利用状況
- 第三者との関係: ベンダー、パートナー、子会社
適切なOSINTにより、クライアント自身が認識していない潜在的な攻撃経路を発見できる場合があります。
2. ソーシャルエンジニアリング攻撃の準備
現代のサイバー攻撃の多くは、技術的脆弱性だけでなく、人間の心理的脆弱性を悪用します。
OSINTは、効果的なソーシャルエンジニアリング攻撃を設計するための重要な情報源となります:
- ターゲットのプロフィール: 役職、責任範囲、興味関心
- 組織の文化と慣行: コミュニケーションスタイル、セキュリティ意識
- 信頼関係: 組織内外の人間関係、取引先情報
- 時事的なコンテキスト: 組織で進行中のプロジェクト、イベント、ニュース
この情報を活用することで、より現実的で成功率の高いフィッシング攻撃やプリテキスティング攻撃をシミュレートすることができます。
3. 技術的脆弱性の特定
OSINTは、技術的脆弱性の特定に繋がる場合があります:
- 使用技術の特定: 特定のソフトウェアやフレームワークに存在する既知の脆弱性
- 設定ミスの発見: 誤って公開された設定ファイル、APIキー、認証情報
- 古いバージョンの特定: サポートが終了している、または脆弱性が報告されているバージョンの使用
- コードリポジトリの分析: GitHubなどに公開されたコードから得られる情報
4. 効率化と時間短縮
OSINTを効果的に活用することで、ペネトレーションテスト全体の効率を大幅に向上させることができます:
- 標的型アプローチ: 収集した情報に基づき、最も有望な攻撃ベクトルに焦点を絞ることができる
- 試行錯誤の削減: 対象システムの構造を事前に理解することで、無駄なテストを減らすことができる
- リソースの最適化: 限られたテスト時間を、最も重要な領域に集中させることができる
5. 現実世界の脅威モデリング
実際の攻撃者もOSINTを活用します。ペネトレーションテストでOSINTを適切に実施することは、実際の攻撃者が用いる手法をシミュレートすることにつながります。
その結果、組織が現実世界でどのような脅威に直面しているかを、より正確に評価できます。
OSINTの成熟度モデル
組織のOSINT能力は、以下のような成熟度レベルで評価することができます:
レベル1: 基本的な検索
- Google検索、WHOIS検索などの基本的なツールの使用
- 表面的な情報収集
- 体系的なアプローチの欠如
レベル2: 構造化された収集
- 複数の専門ツールの使用
- 情報の体系的な記録とカタログ化
- 基本的な分析の実施
レベル3: 高度な分析
- 高度な検索技術の活用
- 複数の情報源からの情報の相関分析
- 自動化ツールの活用
レベル4: 統合されたインテリジェンス
- OSINT情報と他のインテリジェンスソースの統合
- 予測的分析の実施
- 継続的なモニタリング体制
レベル5: 最適化とイノベーション
- カスタムツールの開発
- 機械学習とAIの活用
- インテリジェンス主導型のペネトレーションテスト
ペネトレーションテスターとして、継続的にこれらのレベルを向上させていくことが重要です。
OSINTの限界と補完的アプローチ
OSINTは強力なツールですが、万能ではありません。以下のような限界があります:
- 情報の鮮度: 公開情報は常に最新とは限らない
- 情報の正確性: 意図的または非意図的な誤情報の存在
- アクセスの制限: 最も価値のある情報は公開されていない可能性がある
- 技術的な障壁: 一部の情報は技術的に収集が困難
これらの限界を認識し、OSINTを他の情報収集手法(アクティブスキャン、ソーシャルエンジニアリングなど)と組み合わせることで、より包括的なペネトレーションテストが可能となります。
推奨学習リソース
[TCM Security Academy - OSINT Fundamentals コース]
[TCM Security Academy - OSINT Fundamentals コース](https://academy.tcm-sec.com/p/osint-fundamentals)
OSINT技術を体系的に学習するための優れたリソースとして、TCM Security AcademyのOSINT Fundamentalsコースを推奨します。
コース概要
このコースは、オープンソースインテリジェンス(OSINT)の戦術と技術に焦点を当て、調査能力の向上を目的として設計されています。
合計9時間以上のオンデマンドトレーニングで構成されており、実践的なスキルを身につけることができます。
対象者
このコースは、以下のような方に最適です:
- OSINT技術に関する理解を深めたい方
- 調査スキルセットを向上させたい方
- 全体的な調査方法論を改善したい方
- 個人のOPSEC(Operational Security)を向上させたい方
- ペネトレーションテスターまたはセキュリティアナリストとしてのスキルを強化したい方
学習内容
コースでは、以下のトピックが含まれています:
| トピック | 概要 |
|---|---|
| 1.OSINTの概要 |
|
| 2.効果的なノート管理 |
|
| 3.ソックパペットアカウントの作成 |
|
| 4.基本および高度な検索エンジンOSINT |
|
| 5.画像OSINT |
|
| 6.電子メールアドレスOSINT |
|
| 7.侵害されたデータのOSINT |
|
| 8.人物OSINT |
|
| 9.電話番号OSINT |
|
| 10.ユーザー名OSINT |
|
| 11.ウェブサイトOSINT |
|
| 12.ソーシャルメディアOSINT |
|
| 13.無線ネットワークOSINT |
|
| 14.ツールを使用したOSINT |
|
| 15.OSINTの自動化 |
|
| 16.レポート作成 |
|
OSINTの具体的な技術と手法
1. 検索エンジンを活用したOSINT
Google検索の高度な演算子
検索エンジンは、OSINTの最も基本的かつ強力なツールです。特にGoogle検索には、一般的なユーザーにはあまり知られていない高度な検索演算子があります。
基本的な演算子:
- site: - 特定のウェブサイトまたはドメインに検索を限定
site:example.com "admin"
- filetype: または ext: - 特定のファイルタイプを検索
site:example.com filetype:pdf
- intitle: - ページタイトルに特定のキーワードを含むページを検索
intitle:"index of" password
- inurl: - URL内に特定の文字列を含むページを検索
inurl:admin site:example.com
- "引用符" - 完全一致検索
"error establishing database connection"
- - - 特定の用語を除外
site:example.com -www
高度な検索戦略:
- サブドメイン列挙:
site:*.example.com -www
- 公開された設定ファイルの発見:
※複数の拡張子をOR条件で指定することで、幅広く探索できます。
site:example.com ext:xml | ext:conf | ext:cnf | ext:reg | ext:inf | ext:rdp | ext:cfg | ext:txt | ext:ora | ext:ini
- ログインページの検索:
site:example.com inurl:login | inurl:signin | inurl:admin
- エラーメッセージの検索:
site:example.com "Warning: mysql_connect()" | "SQL syntax" | "MySQL Error"
- 公開されたディレクトリの発見:
ntitle:"index of" site:example.com
Google Dorking(Google Hacking)
Google Dorkingは、Googleの高度な検索演算子を使用して、セキュリティ上の脆弱性や機密情報を発見する技術です。
代表的なGoogle Dorks:
- 認証情報の発見:
intext:"username" intext:"password" filetype:log
- データベースダンプ(SQLダンプファイル):
"SET PASSWORD" "MySQL" filetype:sql
- 認証が不十分なウェブカメラ:
inurl:/view/index.shtml
- 公開されたAPIキー:
site:github.com "api_key" | "apikey"
- 機密文書:
site:example.com ext:xls "confidential"
Google Dorking Database: Google Dorkingの例を収集したデータベースを参照することで、より多くの有用なクエリを学ぶことができます。
(例:exploit-db.comのGoogle Hacking Database)
代替検索エンジン
Googleだけでなく、他の検索エンジンも特定の目的に有用です:
- Bing: 異なるインデックスアルゴリズムにより、Googleで見つからない結果が見つかることがある
- DuckDuckGo: プライバシー重視の検索、特定の検索で役立つ
- Shodan: インターネット接続デバイスの検索に特化
- Censys: インターネットホストとデバイスの検索
- Wayback Machine: 削除済みまたは過去のウェブコンテンツの閲覧
2. ドメインとネットワークの情報収集
WHOIS検索
WHOIS情報は、ドメイン登録に関する有用な情報を提供します:
- 登録者の名前と連絡先情報(プライバシー保護されていない場合)
- ドメインの登録日と有効期限
- ネームサーバー情報
- 登録事業者情報
ツールとリソース:
- オンラインWHOISサービス: [whois.com](http://whois.com), [who.is](http://who.is)
- コマンドライン: whois example.com
- 一括WHOIS検索ツール
DNS情報の収集
DNSレコードは、組織のインフラストラクチャに関する多くの情報を把握する手がかりとなります:
主要なDNSレコードタイプ:
- Aレコード: ドメインとIPアドレスのマッピング
- AAAAレコード: IPv6アドレス
- MXレコード: メールサーバー情報
- NSレコード: ネームサーバー
- TXTレコード: SPF、DKIM、DMARCなどのセキュリティ設定
- CNAMEレコード: ドメインエイリアス
DNSツール:
- dig example.com ANY (※近年は制限されている場合あり)
- nslookup example.com
- オンラインDNS検索ツール: [dnsdumpster.com](http://dnsdumpster.com), [mxtoolbox.com](http://mxtoolbox.com)
サブドメイン列挙
サブドメインの発見は、攻撃対象領域を拡大する重要な手法です:
手法:
- 証明書透明性(Certificate Transparency)ログ:
-[crt.sh](http://crt.sh), [censys.io](http://censys.io)
-SSL/TLS証明書に記録されたサブドメインを検索 - DNSブルートフォース:
-サブドメインワードリストを使用した自動検索
-ツール: sublist3r, Amass, dnsenum - 検索エンジンを使用:
site:*.example.com
- DNSゾーン転送:
-設定ミスのDNSサーバーから情報を取得
dig axfr @nameserver example.com
IPアドレス情報
IPアドレスに関する情報は、ターゲットのインフラストラクチャを理解するのに役立ちます:
- 地理的位置: IPジオロケーションツール
- 所有組織: WHOIS、RIPE、ARIN、APNIC
- ASN情報: 自律システム番号(ネットワークの管理単位)
- 逆DNS検索: IPアドレスから関連ドメインを発見
3. ソーシャルメディアOSINT
LinkedInの活用
LinkedInは、組織の人的資産に関する重要な情報源です:
収集できる情報:
- 組織構造: 従業員の役職と部門
- 技術スタック: プロフィールに記載されたスキルと経験
- 最近の活動: 採用情報、プロジェクト、イベント
- 人間関係: つながりのネットワーク
- キャリアの変遷: 従業員の入退社履歴
技術:
- 高度な検索フィルター:
-会社名、役職、場所などでフィルタリング
-Boolean検索の活用 - 従業員の特定:
-セキュリティチーム、IT部門、経営陣の特定
-潜在的なソーシャルエンジニアリングターゲット - 技術情報の抽出:
-求人情報から使用技術を特定
-プロフィールのスキルセクションから技術スタックを推測
Twitter/X OSINT
Twitterは、リアルタイム性の高い公開情報源です:
技術:
- 高度な検索:
-日付範囲、位置情報、言語でフィルタリング
-特定のユーザーやドメインに言及するツイートを検索 - ハッシュタグとトレンド分析:
-組織に関連するハッシュタグの追跡
-イベントやキャンペーンの監視 - ユーザーアクティビティの分析:
-投稿パターンと時間帯
-つながりとフォロワー分析
その他のソーシャルメディアプラットフォーム
- Facebook: 個人情報、グループメンバーシップ、イベント参加
- Instagram: 写真のメタデータ、位置情報、ビジュアルインテリジェンス
- Reddit: 特定のトピックに関するディスカッション、技術フォーラム
- GitHub: 公開コードリポジトリ、コミット履歴、開発者情報
4. 画像とメタデータのOSINT
逆画像検索
逆画像検索は、画像の出所や関連情報を特定するのに役立ちます:
ツール:
- Google Images
- TinEye
- Yandex Images
- Bing Visual Search
用途:
- プロフィール写真の検証
- 偽アカウントの特定
- 画像の元の出所の特定
EXIFデータの抽出
デジタル写真には、有用なメタデータが含まれていることがあります:
EXIFデータに含まれる情報:
- GPS座標(位置情報)
- カメラのモデルと設定
- 撮影日時
- ソフトウェア情報
- 著作権情報
ツール:
- ExifTool
- オンラインEXIFビューアー
- Fotoforensics(改ざん検出)
注意: 多くのソーシャルメディアプラットフォームは、アップロード時にEXIFデータを削除しますが、常にではありません。
地理空間インテリジェンス(GEOINT)
画像から位置情報を特定する技術です:
手法:
- ランドマークの特定
- 太陽の角度分析
- 影の方向と長さ
- 植生と地形
- 建築様式
- 標識と文字
ツール:
- Google Earth / Google Maps
- Google Street View
- Wikimapia
- OpenStreetMap
5. 電子メールOSINT
電子メールアドレスの検証と発見
検証ツール:
- [Hunter.io](http://hunter.io): ドメインに関連するメールアドレスを検索
- EmailHippo: メールアドレスの有効性を検証
メールフォーマットの推測
組織のメールフォーマットを特定することで、対象となるメールアドレスを推測できます:
一般的なフォーマット:
- [firstname.lastname@example.com](mailto:firstname.lastname@example.com)
- [firstnamelastname@example.com](mailto:firstnamelastname@example.com)
- [first.last@example.com](mailto:first.last@example.com)
- [f.lastname@example.com](mailto:f.lastname@example.com)
データ漏洩の確認
侵害されたデータベースを用いて、特定のメールアドレスが漏洩していないかを確認します:
ツール:
- Have I Been Pwned (HIBP)
- DeHashed
- LeakCheck
価値:
- パスワード再利用攻撃の可能性を評価
- ソーシャルエンジニアリング攻撃の材料
6. ツールによるOSINT自動化
統合OSINTフレームワーク
Maltego:
- ビジュアル関係マッピング
- 多数のデータソースの統合
- 自動化された情報収集と分析
SpiderFoot:
- 自動化されたOSINTツール
- 多数のデータソースからの情報収集
- Web UIとCLIインターフェース
Recon-ng:
- モジュール式のWeb偵察フレームワーク
- コマンドラインインターフェース
- データベース統合
theHarvester:
- 電子メール、サブドメイン、従業員名の収集
- 複数の公開データソースをサポート
- シンプルで効果的
専門ツール
Shodan:
- インターネット接続デバイスの検索エンジン
- ポート、サービス、バナー情報
- 脆弱性の特定に有用
Censys:
- インターネットホストの包括的な検索
- 証明書、サービス、設定の分析
- APIアクセス
7. ソーシャルエンジニアリングのためのOSINT
プリテキスト構築
収集した情報を使用して、説得力のあるプリテキスト(口実)を構築します:
要素:
- ターゲットの名前、役職、責任
- 組織の構造と報告関係
- 現在進行中のプロジェクトやイニシアチブ
- 業界用語と社内用語
- 最近のニュースやイベント
フィッシングキャンペーンにおけるOSINT活用
OSINTは、効果的なフィッシング攻撃の設計に不可欠です:
情報の活用:
- パーソナライゼーション: 受信者の名前、役職、プロジェクトに言及
- タイミング: 重要なイベントや締め切りに合わせて攻撃
- 信頼性: 実際のパートナーやベンダーを装う
- 緊急性: 実際の組織の状況に基づいた緊急のシナリオ
8. 継続的モニタリング
アラート設定
継続的な情報収集のためにアラートを設定します:
Google Alerts:
- 特定のキーワードやドメインに関する新しいコンテンツの通知
- 組織名、重要人物、製品名などを監視
ソーシャルメディアモニタリング:
- TweetDeckやHootsuiteを使用したリアルタイム監視
- 特定のハッシュタグやキーワードの追跡
ドメインとSSL証明書の監視:
- 新しいサブドメインやSSL証明書の発行を追跡
- 潜在的なフィッシングサイトの早期発見
実践的なペネトレーションテストでの活用事例
以下の事例は経験およびインターネット上で公開されている事例に基づいており、実際のお客様事例ではありません。
ケーススタディ1: 外部ペネトレーションテスト
シナリオ: 中規模の企業(仮称: TechCorp)に対する外部ペネトレーションテストが実施されることになりました。
フェーズ1: 初期情報収集
ドメインとサブドメインの発見:
-
WHOIS検索:
- メインドメイン [example.com] の登録情報を取得
- ネームサーバーとDNSプロバイダーを特定
- 登録者情報から追加の連絡先情報を収集
-
サブドメイン列挙:
- 証明書透明性ログを検索し、30以上のサブドメインを発見
- 発見されたサブドメイン:
-[api.example.com]
-[dev.example.com]
-[staging.example.com]
-[admin.example.com]
-[portal.example.com]
-
DNS情報収集:
- MX記録から、Microsoft Office 365を使用していることを特定
- TXT記録のSPFレコードから、使用しているメールサービスを確認
- NS記録から、CloudflareをDNSプロバイダーとして使用していることを特定
発見された初期リスク:
- [dev.example.com] と [staging.example.com] が公開されており、開発環境が外部からアクセス可能
- 古いサブドメインtest.example.comが、使用されていないようだが解決可能
フェーズ2: 技術スタックの特定
ウェブアプリケーションのフィンガープリンティング:
1.Google Dorkingを使用:
site:example.com "powered by"
- 複数のページでWordPressの使用を確認
2.GitHubリポジトリの検索:
org:example language:javascript
- 公開リポジトリから、React.jsとNode.jsを使用していることを確認
- 古いコードコミットに、現在は使用されていない可能性のあるAPIエンドポイントのURLが含まれていることを発見
3.求人情報の分析:
- LinkedInの求人ページで「Python Django」「AWS」「PostgreSQL」を使用していることを確認
- セキュリティエンジニアの求人から、現在のセキュリティツールスタックを推測
収集された技術情報:
- フロントエンド: React.js
- バックエンド: Node.js, Python Django
- データベース: PostgreSQL
- クラウドプロバイダー: AWS
- CMS: WordPress(一部のページ)
- CDN/WAF: Cloudflare
フェーズ3: 人的情報の収集
LinkedInでの従業員リサーチ:
-
キーパーソンの特定:
- CEO、CTO、セキュリティチーム
- 合計250名の従業員を特定
-
組織構造の理解:
- IT部門: 約30名
- セキュリティチーム: 5名
- 開発チーム: 80名
-
メールフォーマットの推測:
- LinkedInのプロフィールとHunter.ioから、メールフォーマットが [firstname.lastname@example.com] である可能性が高いことを確認
- このフォーマットに基づき、主要な従業員のメールアドレスを推測
ソーシャルメディア分析:
-
Twitterでの活動:
- CTOが最近のカンファレンスで自社の技術アーキテクチャについてプレゼンテーション
- スライドに含まれるアーキテクチャ図から、システム構成の詳細を把握
-
Facebook/Instagram:
- 従業員が投稿した社内イベントの写真から、オフィスのレイアウトと物理的セキュリティ対策を観察
フェーズ4: 脆弱性の特定
データ漏洩の確認:
-
Have I Been Pwnedでの検索:
- 30名の従業員のメールアドレスが過去のデータ侵害に含まれていることを発見
-
Pastebin/GitHub検索:
- 古い設定ファイルがGitHubに誤ってコミットされており、データベース接続に関する設定情報が含まれていることを発見
- コミット履歴から削除されていたが、履歴から復元可能
公開された機密情報:
- [dev.example.com] で、デバッグモードが有効になっており、詳細なエラーメッセージが表示される
- robots.txtファイルに、管理パネルへのパスが記載されている
- /admin-panel-v2/ という非標準のパスが存在
フェーズ5: 攻撃経路の計画
収集した情報に基づき、以下の攻撃ベクトルを特定:
-
パスワードスプレー攻撃:
- 漏洩したパスワードを使用して、アカウントへのアクセスを試行
- 一般的に使用されがちなパスワードパターン
-
フィッシング攻撃:
- 最近のカンファレンスを装ったフィッシングメールを設計
- ITヘルプデスクを装って、パスワードリセットを要求
-
開発環境の悪用:
- [dev.example.com] と [staging.example.com] へのセキュリティ設定の検証を実施
- 緩いセキュリティ設定の可能性を悪用
-
APIエンドポイントの探索:
- GitHubから発見したAPIエンドポイントに対して、認証バイパスや不適切なアクセス制御をテスト
結果: OSINTフェーズで収集した情報により、実際の侵入テストフェーズで:
- 開発環境への不正アクセスに成功
- パスワードスプレー攻撃で2つのアカウントへのアクセスに成功
ケーススタディ2: ソーシャルエンジニアリング評価
シナリオ: 金融サービス企業(仮称: FinanceSecure)が、従業員のセキュリティ意識を評価するために、ソーシャルエンジニアリング評価を依頼しました。
フェーズ1: OSINT
ターゲット従業員の選定:
-
LinkedInリサーチ:
- 経理部門、人事部門、ITサポートの従業員を特定
- 各部門から5名ずつ、合計15名をターゲットとして選定
- 各人の役職、勤続年数、スキルセットを記録
-
ソーシャルメディアプロファイリング:
- Facebookで、ターゲットの一人が最近、家族に関するライフイベントを共有していることを確認
- 別のターゲットが大学のマラソンチームに所属していたことを確認
- 第三のターゲットが、週末に園芸が趣味であることを投稿
-
組織情報の収集:
- 会社のプレスリリースから、新しいモバイルバンキングアプリのローンチが近いことを確認
- 人事部門が新しい福利厚生プログラムを開始したことをニュースで発見
- ITサポートが使用しているチケットシステム(Jira)を求人情報から特定
フェーズ2: プリテキストの開発
収集した情報に基づき、3つの異なるプリテキストを開発:
プリテキスト1: IT部門からのセキュリティアラート
- ターゲット: 経理部門の従業員
- プリテキスト: 最近のランサムウェア攻撃の増加に対応して、全従業員がパスワードを更新する必要があるという偽のIT部門からのメール
- OSINT活用:
-実際のIT部門の連絡先情報を使用
-会社が実際に使用しているITサポートポータルのURLを模倣
-最近の業界全体のランサムウェア攻撃のニュースを引用
プリテキスト2: 人事部門からの福利厚生更新
- ターゲット: 全部門
- プリテキスト: 新しい福利厚生プログラムへの登録を促す偽の人事部門からのメール
- OSINT活用:
実際にプレスリリースされた新しい福利厚生プログラムに言及
人事部門の実際のメールフォーマットとロゴを使用
「期限は今週末」という緊急性を追加
プリテキスト3: 個人的な関心に基づくスピアフィッシング
- ターゲット: 園芸が趣味の従業員
- プリテキスト: 「あなたの庭が地元の園芸雑誌に掲載されます」という偽のメール
- OSINT活用:
ターゲットの趣味に関する具体的な言及
地元の実在する園芸コミュニティを参照
個人的な関心を利用して信頼感を醸成
期待される発見
- 高いクリック率: OSINTを活用したカスタマイズされたメッセージは、高い成功率を示した
- 権威への信頼: IT部門や人事部門からのメッセージは、特に効果的
- 個人情報の漏洩: ソーシャルメディアでの過度な共有が、標的型攻撃のリスクを高めている
- 検証の欠如: 従業員は、メールの送信元やリンクの正当性を十分に検証していない
ケーススタディ3: 内部脅威シミュレーション
シナリオ: 大規模な製造業企業(仮称: ManufactureCo)における、不満や動機的リスクを抱えた従業員による情報漏洩のシナリオをシミュレートしたいと考えています。
フェーズ1: OSINT
企業の知的財産の特定:
-
特許検索:
- USPTOとEPOのデータベースで、ManufactureCoの特許を検索
- 25件の活性特許を発見、主に製造プロセスとロボット工学に関連
- 重要な発明者と研究者を特定
-
学術出版物:
- Google Scholarで、会社の研究者による論文を検索
- 数件の論文が、商業的に機密性の高い可能性のある研究を示唆
-
企業ウェブサイトとプレスリリース:
- 新製品ラインの開発に関する発表
- 特定の技術的優位性が言及されている
フェーズ2: ターゲットの特定
高価値な従業員の調査:
-
LinkedInでの検索:
- 研究開発部門の上級エンジニアと科学者を特定
- 職務満足度やキャリア志向の変化を示唆する公開情報に注目
-
ソーシャルメディア分析:
- ある上級エンジニア(仮称: TargetA)が、Twitterで会社の方針に対する微妙な批判を投稿
- LinkedInのプロフィールが最近更新され、「新しい機会を探している」ことを示唆
-
公開データの相関:
- TargetAが、競合他社の採用担当者とLinkedInで最近つながったことを発見
- Glassdoorでの会社のレビューで、研究開発部門に対する不満が表明されている
※これらの情報は必ずしも不正行為を示すものではないが、リスク評価の観点では注視対象となる
フェーズ3: 外部接点の特定
競合他社の分析:
-
競合企業の特定:
- 業界レポートとニュース記事から、主要な競合他社を特定
- 特に、類似の製品ラインを持つ企業に注目
-
採用活動の監視:
- 競合他社が、ManufactureCoの専門分野に合致する職位を積極的に採用していることを発見
- 求人情報から、競合が類似の技術を開発していることを示唆
-
関係のマッピング:
- TargetAと競合企業の従業員とのLinkedInでのつながりを発見
- 業界会議での共通の参加歴
フェーズ4: シミュレーションの実行
仮定されたシナリオ: TargetAが、不満と競合他社からの魅力的なオファーにより、会社の機密情報を不正に持ち出す可能性がある状況を仮定します。
OSINTから導かれる攻撃経路:
-
データの特定:
- TargetAは、特許データベースとプレスリリースから、最も価値のある知的財産を特定
- 内部アクセスを利用して、これらの資産の正確な場所を見つける
-
外部通信:
- 個人のメールアカウントやLinkedInメッセージを使用して、競合と通信
- OSINTを通じて、どの情報が外部で最も価値があるかを理解
-
データ抽出:
- USBドライブ、クラウドストレージ、個人のメールアカウントを使用してデータを抽出
- 検出を避けるために、通常の作業パターンを装う
-
転職と漏洩:
- 競合他社への転職
- 盗んだ情報を新しい雇用主に提供
防御策の評価
シミュレーションの結果、以下の防御策の欠如が特定されました:
- データ損失防止(DLP): 機密ファイルの外部転送を検出および防止するシステムに改善の余地
- ユーザー行動分析(UBA): 異常なデータアクセスパターンを検出する能力に改善の余地
- 内部脅威プログラム: 不満を持った従業員を特定し対処するプロセスに改善の余地
- オフボーディングプロセス: 退職者のアクセス権の運用に改善の余地
まとめ
OSINTの重要性の再確認
本稿を通じて、OSINT(Open Source Intelligence)が現代のサイバーセキュリティ、特にペネトレーションテストにおいて、いかに重要な役割を果たしているかを詳しく見てきました。
OSINTは、単なる情報収集手法ではなく、組織のセキュリティ態勢を評価し、脆弱性を特定し、現実世界の脅威をシミュレートするための基盤となる専門領域(discipline)です。公開されている情報源から合法的かつ倫理的に情報を収集する能力は、効果的なペネトレーションテストの成功を左右する重要な要素となっています。
OSINTの主要な利点
- 包括的な攻撃対象領域の把握: OSINTにより、組織の技術的、人的、プロセス的な攻撃対象領域を完全に理解することができます。
- コスト効率: 適切なOSINTは、その後のテストフェーズの効率を大幅に向上させ、時間とリソースを節約します。
- 脅威のシミュレーション: 実際の攻撃者がOSINTを使用するため、これを含めることでより現実的なテストが可能になります。
- 法的および倫理的: OSINTは完全に合法的であり、契約の範囲内で実施できます。
- 継続的な価値: 一度確立されたOSINT能力は、単一のペネトレーションテストを超えて価値を提供し続けます。
継続的な学習の重要性
サイバーセキュリティの分野は常に進化しており、OSINT技術もまた例外ではありません。
新しいツール、技術、情報源が継続的に登場し、既存の手法は洗練されていきます。
継続的な学習のための推奨事項:
- 定期的なトレーニング: 年に少なくとも1-2回、OSINT関連のトレーニングや認定の更新を検討
- コミュニティへの参加: OSINTコミュニティ、フォーラム、カンファレンスに積極的に参加
- 実践的な練習: 定期的にOSINT技術を許可された、または模擬的なシナリオ(合法的な範囲で)で練習
- ツールの探索: 新しいOSINTツールや技術を継続的に探索し、評価
- 知識の共有: 学んだことをブログ、プレゼンテーション、または社内トレーニングで共有
倫理とプロフェッショナリズム
OSINTを実践する際には、常に高い倫理基準とプロフェッショナリズムを維持することが不可欠です:
倫理的考慮事項:
- 合法性の厳守: 常に法律の範囲内で活動
- プライバシーの尊重: 個人のプライバシー権を侵害しない
- 透明性: クライアントに対して、実施する活動を明確に説明
- 責任ある開示: 発見した脆弱性やセンシティブな情報を適切に扱う
- 目的の正当性: 情報収集の目的が常に正当であることを確認
組織への推奨事項
企業や組織がOSINTを効果的に活用するための推奨事項:
攻撃側の視点(ペネトレーションテスト):
- OSINTをペネトレーションテストの標準的な一部として確立
- 専門的なOSINT能力を持つチームメンバーを育成
- 適切なツールとインフラに投資
- OSINT発見事項を明確に文書化し、クライアントに伝達
防御側の視点:
- 定期的に自社のデジタルフットプリントを監査
- 従業員に対するソーシャルメディアガイドラインを確立
- データ漏洩モニタリングサービスを利用
- OSINTから得られるインテリジェンスを脅威モデリングに統合
- セキュリティ意識向上トレーニングにOSINTの脅威を含める
技術的な進化
OSINT分野は、以下のような技術的進化により、今後も発展し続けることが予想されます:
新興トレンド:
- 人工知能と機械学習: 大量のデータからパターンを自動的に識別
- ビッグデータ分析: より大規模なデータセットの処理と分析
- 自動化とオーケストレーション: OSINT作業の効率化
- ダークウェブOSINT: より深いレイヤーでの情報収集
- IoTとモバイルOSINT: 新しいデバイスとプラットフォームからの情報収集
まとめ
OSINT(Open Source Intelligence)は、デジタル時代における不可欠なスキルセットです。
適切に実施されたOSINTは、組織のセキュリティ態勢を大幅に向上させ、潜在的な脅威を早期に特定し、効果的な防御戦略を策定するための確かな基盤を提供します。
ペネトレーションテスターとして、または情報セキュリティプロフェッショナルとして、OSINTスキルの継続的な開発と洗練は、個人のキャリアの成功だけでなく、組織全体の安全性向上にも直接的に貢献します。
行動への呼びかけ:
- 学習を始める: OSINTの基礎を体系的に学ぶ(例:TCM SecurityのOSINT Fundamentals)
- 実践する: 学んだ技術を、許可された・合法的なシナリオで実践
- 証明する: 認定(例:PORP)を通じてスキルを客観的に証明
- 共有する: 得た知識や気づきを組織やコミュニティと共有
- 継続する: OSINTは旅であり、目的地ではありません。継続的な学習と改善を追求しましょう
最後に、OSINTの力は非常に大きい一方で、それに伴う責任もまた重大です。
常に倫理的かつ法的な枠組みの中で活動し、収集した情報を責任を持って取り扱うことで、サイバーセキュリティコミュニティ全体の信頼と価値を高めていくことが求められます。
最後までお読みいただき、誠にありがとうございました。
参考リソース:
TCM Security Academy - OSINT Fundamentals: [https://academy.tcm-sec.com/p/osint-fundamentals]
Practical OSINT Research Professional (PORP) Certification: [https://certifications.tcm-sec.com/porp/]
OSINT Framework: [https://osintframework.com/]
Bellingcat: 調査ジャーナリズムにおけるOSINTの応用例
執筆者について:
本稿は、サイバーセキュリティおよびペネトレーションテストの実務経験に基づいて作成されました。
OSINTは、現代のセキュリティプラクティスにおいて不可欠な要素であり、その重要性は今後も増大し続けるでしょう。
免責事項:
本稿で説明されているすべての技術と手法は、教育目的および合法的かつ許可されたペネトレーションテストの文脈でのみ使用されるべきです。許可なく他者のシステムやデータにアクセスすることは違法であり、倫理に反します。常に適切な許可と契約を得た上で、OSINT活動を実施してください。
関連リンク
IoT検索エンジン「Shodan」の活用方法 | 特集・レポート | ITソリューションのTIS株式会社:[https://www.tis.jp/special/security-diagnosis-column-001/]