PR

フットプリンティング(Footprinting)とは何か

本記事は学習用です。作成には 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. まとめ

フットプリンティングは、攻撃者・防御者の双方にとって重要な「情報偵察」工程である。
技術的手法を理解することにより、潜在的な攻撃経路を予測し、防御を強化できる。
最も重要なのは、「公開情報の管理」と「調査の正当性」である。

A. 参考サイト

B. 関連書籍

コメント