「自社の情報がインターネット上にどれだけ出回っているか、把握していますか?」
攻撃者は侵入前にOSINT(オープンソースインテリジェンス)と呼ばれる公開情報収集で標的を丸裸にします。ドメイン情報・社員名・使用技術スタック——これらは意図せず公開されていることが多く、攻撃計画の材料になります。
この記事では、OSINTの定義・攻撃者が使う主要ツール・企業が今日から実施できる「情報露出の最小化」対策を、現場エンジニアの視点で解説します。
OSINTとは?
OSINT(Open Source Intelligence、オープンソースインテリジェンス)とは、公開されている情報源から体系的に情報を収集・分析する技法です。
「オープンソース」はソフトウェアのOSSとは別で、「公開されている情報源」を意味します。元々は諜報機関が軍事・外交目的で使っていた手法ですが、現在はサイバー攻撃の偵察フェーズでも攻撃者に広く使われています。
| OSINTの情報源 | 具体例 |
|---|---|
| WHOIS・ドメイン情報 | ドメイン登録者・メールアドレス・ネームサーバー |
| 求人票・採用サイト | 使用技術スタック・製品名・組織構造 |
| SNS・LinkedIn | 社員名・役職・業務内容・プロジェクト |
| GitHubなどのコードリポジトリ | 認証情報の誤コミット・設定ファイル・内部URL |
| Shodan・Censys | インターネットに公開されたポート・機器情報 |
| Google Cache・Wayback Machine | 削除済みページ・旧バージョンの設定情報 |
| 証明書透明性ログ(CT Log) | サブドメイン一覧・内部ドメイン |
防御側にとっても、OSINTは「攻撃者から自社がどう見えているか」を把握する有効な手段です。攻撃者と同じ視点で自社を調べることを「自己OSINT」と呼び、ペネトレーションテストの初期調査にも含まれています。
攻撃者はOSINTをどう使うか
攻撃者がOSINTを使う目的は、侵入前の「偵察(Reconnaissance)」です。MITREのATT&CKフレームワークでも偵察フェーズの主要技術として定義されています。
1. 標的の特定と絞り込み
攻撃者は最初にWHOISやDNSレコードを調べ、標的企業のIPアドレス範囲・サブドメイン・メールサーバーを特定します。
# WHOISでドメイン登録情報を確認(自社ドメインの調査目的) whois example.com # nslookupでDNSレコードを確認 nslookup -type=MX example.com nslookup -type=TXT example.com # Shodan CLIで自社IPアドレスの公開情報を確認 shodan host 192.0.2.1
証明書透明性ログを使えば、*.example.com のようなサブドメインを一覧化できます。内部向けのステージング環境や管理ポータルが意図せず発見されることもあります。
2. 社員情報の収集(スピアフィッシングの準備)
LinkedInや企業サイトの「メンバー紹介」ページから、役職・氏名・業務内容を収集します。これによってスピアフィッシングのターゲット(経理担当・IT管理者)を特定し、本物らしいなりすましメールを作成します。
メールアドレスの命名規則(例: 名.姓@example.com)は求人票や過去のメール流出情報から推定可能で、攻撃者はリスト化してフィッシングキャンペーンを展開します。
3. 技術スタックの把握
求人票は「使用技術が書かれた攻撃者へのプレゼン資料」と揶揄されることがあります。「Apache 2.4を使ったエンジニア募集」という記載から、サーバーのバージョン情報が外部に漏れてしまいます。
・Wappalyzerなどのツール: WebサイトのCMS・フレームワーク・JavaScriptライブラリを自動判定
・HTTPレスポンスヘッダー: Server: Apache/2.4.51 のようなバージョン情報が残っていると、その版の既知脆弱性と照合できる
・エラーページ: フレームワーク名やスタックトレースが表示されると内部実装が露出する
4. 認証情報の探索
GitHubなどの公開リポジトリに、過去に誤ってコミットされたAPIキー・パスワード・SSH秘密鍵が残っていることがあります。攻撃者は組織名・ドメイン名をキーにリポジトリを検索し、シークレットスキャンツールで自動的に抽出します。
企業の情報露出を確認する方法
1. ドメイン・サブドメインの棚卸し
# crt.sh(証明書透明性ログ)でサブドメインを確認 # ブラウザで https://crt.sh/?q=%25.example.com にアクセス # digでDNSレコードを一覧確認 dig example.com ANY dig _dmarc.example.com TXT # whoisで登録者情報を確認 whois example.com
公開すべきでない管理ポータル(例: admin.example.com・staging.example.com)が証明書ログに含まれていないか確認します。
2. Shodanで公開ポートを確認
Shodanは「インターネットの検索エンジン」とも呼ばれ、スキャンした機器のポートや製品情報を公開しています。自社のIPアドレス・ドメインをShodanで検索し、意図せず公開されているサービスがないか確認します。
・確認すべきポート: 22(SSH)、3389(RDP)、3306(MySQL)、27017(MongoDB)、6379(Redis)など
・意図せず公開されている管理インターフェース: ルーター管理画面・監視ツールのUI・CIサーバー
3. GitHubリポジトリのシークレット漏洩チェック
自社ドメインや組織名でGitHubを検索し、公開リポジトリに認証情報が含まれていないか確認します。
# truffleHogでGitリポジトリのシークレットをスキャン pip install trufflehog trufflehog git https://github.com/your-org/your-repo.git # git-secretsで新規コミットへのシークレット混入を防ぐ git secrets --install git secrets --register-aws
GitHub OrganizationのSecret Scanning機能を有効にすると、プッシュ時に自動でAPIキーや認証情報を検出してアラートを出すことができます。
中小企業でも今日からできること
・Googleで自社名・ドメイン検索: site:example.com や "example.com" filetype:env などのGoogle Dorkで情報露出を確認する
・求人票の見直し: 使用製品名・バージョン・内部システム名を記載しない(「クラウドインフラ構築経験」程度にとどめる)
・Webサーバーのバージョン情報を非表示に: HTTPレスポンスの Server ヘッダーや X-Powered-By ヘッダーを削除・隠蔽する
・WHOIS情報のプライバシー保護: ドメインレジストラの「WHOIS非公開サービス」を活用して連絡先情報を保護する
・GitHubリポジトリを定期確認: 公開設定と過去のコミット履歴に認証情報が含まれていないかチェックする
・退職者のデジタル痕跡を整理: LinkedIn等に残る旧社員紹介が旧システム・旧役職を示していないか定期的に更新する
これらは追加コストなしに着手できる「情報露出の最小化」対策です。攻撃者に使われる前に、自分でOSINTをやってみることが最も確実なリスク把握になります。
よくある誤解と注意点
【誤解1】公開情報を集めるだけなら何をやっても問題ない
OSINTは公開情報を対象にするため基本的に合法ですが、得た情報を使った行為(無断でのポートスキャン・システムへのアクセス)は不正アクセス禁止法に抵触する可能性があります。自社以外のシステムへの能動的なスキャンは実施しないでください。詳細は法律の専門家にご確認ください。
【誤解2】情報を公開しなければ漏れない
意図せず公開される情報も多くあります。証明書ログへのサブドメイン登録・Webアーカイブに残るキャッシュ・社員のSNS投稿——これらは意識していなくても収集されています。「何が公開されているか」の棚卸しが先決です。
【誤解3】大企業しか狙われない
自動化されたOSINTツールは規模を問わず情報を収集します。中小企業でも脆弱な管理ポートが公開されていれば自動スキャンに引っかかります。むしろリソースが限られる中小企業ほど「露出を減らす」という対策が現実的です。
本記事のまとめ
| OSINTの情報源 | 企業側の対策 |
|---|---|
| WHOIS・ドメイン情報 | WHOIS非公開設定・不要なサブドメインを削除 |
| 求人票・SNS | 技術スタック・バージョン情報を含めない |
| GitHubリポジトリ | シークレットスキャン・誤コミット防止ツールの導入 |
| Shodan(公開ポート) | 不要ポートのファイアウォール閉鎖・バージョン情報の非表示 |
| 証明書透明性ログ | 内部向けシステムのサブドメインを外部に露出させない |
OSINTは「攻撃者と同じ目で自社を見る」ための手法でもあります。定期的に自社のデジタル露出を棚卸しし、不要な情報は積極的に削除・隠蔽することが、侵入リスクを下げる地道な第一歩です。
Linuxサーバーのポートや設定情報の非表示化については、姉妹サイトLinuxMaster.JPで詳しく解説しています。
「用語解説・ニュース」の記事を読む
このテーマに関連する解説記事を一覧でまとめています。あわせてご覧ください。
