本記事は学習用です。作成には ChatGPT と GitHub Copilot を使用しています。
1. フットプリンティングの概要と目的
フットプリンティング(Footprinting)とは、攻撃者やセキュリティテスターが標的組織の情報を収集する行為を指す。
目的は「侵入前にターゲットの構造・弱点を理解すること」であり、情報セキュリティの攻撃ライフサイクルにおける最初の段階(Reconnaissance/情報偵察)を構成する。
主な目的
- 攻撃対象(IP アドレス範囲、ドメイン、サーバ、システム構成など)の特定
- セキュリティホールを発見する前準備
- ソーシャルエンジニアリングのための組織・人材情報の収集
- ペネトレーションテスト(侵入テスト)における環境理解
2. フットプリンティングの分類
フットプリンティングは、能動的(Active)と受動的(Passive)の 2 種類に大別される。
| 種類 | 概要 | 主な例 |
|---|---|---|
| 受動的(Passive) | 公開情報を利用し、対象と直接通信せずに情報を収集 | WHOIS、DNS レコード検索、SNS 調査など |
| 能動的(Active) | 対象と直接通信を行い情報を取得 | Ping、トレーサルート、ポートスキャン、バナー取得など |
受動的手法は発見されにくいが、得られる情報は限定的なことが多い。
一方、能動的手法は詳細情報が得られる反面、検知リスクが高い。
3. 主なフットプリンティング手法
3.1 WHOIS 情報の確認
WHOIS は、ドメイン所有者・登録者・ネームサーバなどの情報を提供する公開データベースである。
whois example.com
得られる情報例:
- 登録者(Registrant)名
- 管理担当者のメールアドレス
- 登録・更新日
- ネームサーバ情報
3.2 DNS レコードの調査
DNS(Domain Name System)の問い合わせにより、IP アドレス、MX(メールサーバ)情報、TXT レコード(SPF など)を確認できる。
nslookup -type=MX example.com
dig example.com any
3.3 ネットワーク経路の追跡
トレーサルートは通信経路上のルータを順番に表示し、ネットワーク構成を把握する。
- Windows:
tracert example.com
- Linux/macOS:
traceroute example.com
3.4 ポートスキャン
サービスの稼働ポートを検出し、攻撃面を特定する。
代表的なツール:
- nmap
nmap -sS -p 1-1024 example.com
- masscan(高速スキャン用)
3.5 OS 指紋・サービスバナーの取得
OS 指紋は nmap の -O オプションで推定できる。サービスのバナーやバージョン情報は nmap の -sV または nc(netcat)で取得できる。
# バナー/バージョン検出(例)
nmap -sV example.com -p 80
# 手動でのバナー取得(例)
nc example.com 80
応答例から、OS やアプリケーションのバージョンを推測できる。
3.6 Web・SNS 情報収集
- Google Dorking(高度検索演算子)を利用した検索
site:example.com filetype:pdf confidential
- LinkedIn や GitHub、求人情報から技術スタック・従業員名を把握する
4. フットプリンティングで得られる情報の種類
| カテゴリ | 例 |
|---|---|
| ネットワーク情報 | IP レンジ、サブネット構成、ゲートウェイ、DNS 情報 |
| システム情報 | OS の種類、ソフトウェア、サービスバージョン |
| 組織情報 | 部署構成、連絡先、利用サービス(クラウド、プロバイダ) |
| 人的情報 | 管理者名、担当者メール、SNS 上の投稿 |
これらの情報を組み合わせることで、潜在的な攻撃経路のマッピングが可能となる。
5. 防御側から見た対策と留意点
防御側(企業・組織)は、以下の観点から情報漏えいを抑止する必要がある。
5.1 公開情報の管理
- WHOIS 登録情報を代理登録(Privacy Protection)にする
- DNS ゾーン転送(Zone Transfer)を制限
- 不要なサブドメインを削除・無効化
5.2 サービス応答の抑制
- サーババナー(Apache、Nginx、SSH など)の非表示設定
ServerTokens Prod
ServerSignature Off
- 不要なポート・サービスを閉鎖
5.3 外部発信情報の統制
- SNS や求人情報に技術環境や構成情報を記載しない
- 社員教育を通じた情報リテラシーの向上
5.4 ログ監視・IDS の導入
- IDS(Intrusion Detection System)でスキャン行為を検出
- nmap 等の異常トラフィックをアラート化
6. 実践例:nmap を用いた調査の流れ
# 1. ホスト生存確認
nmap -sn 192.168.1.0/24
# 2. ポートスキャン
nmap -sS -p 1-65535 targethost
# 3. サービス検出
nmap -sV targethost
# 4. OS 推定
nmap -O targethost
# 5. HTML レポート生成(例:Zenmap)
このように、段階的に情報を収集することで、ネットワーク全体の可視化が可能になる。
7. 法的・倫理的注意点
フットプリンティングは、攻撃準備にも使われる行為であるため、許可のない対象に対して実施することは違法となる可能性がある。
以下を遵守すること。
- 自社環境、または契約上のペネトレーションテスト範囲内でのみ実施
- 不正アクセス禁止法(日本)を厳守
- 学習・検証環境(仮想環境や CTF 用ネットワーク)で練習する
8. まとめ
フットプリンティングは、攻撃者・防御者の双方にとって重要な「情報偵察」工程である。
技術的手法を理解することにより、潜在的な攻撃経路を予測し、防御を強化できる。
最も重要なのは、「公開情報の管理」と「調査の正当性」である。

コメント