目次
はじめに
ペネトレーションテストやレッドチーム演習の第一段階は、ターゲットの情報を集めて攻撃範囲を可視化する「情報収集(Reconnaissance)」です。Try Hack Me の演習では最初から IP アドレスが提示されますが、実務では自ら IP やドメインを特定しなければなりません。本記事では、公開情報の活用からアクティブスキャンまで、段階的な調査フローと Kali Linux で利用できる代表的なツールを丁寧に解説いたします。
1. 公開情報を活用したパッシブ情報収集
1-1. WHOIS と DNS レコードの確認
- whois: ドメイン登録者やネームサーバー情報を取得できます。
- dig / dnsrecon: A・MX・TXT など各種レコードを列挙し、サブドメインの手がかりを得ます。
whois example.com
dig example.com A +short
dnsrecon -d example.com
1-2. サブドメイン列挙
- Amass や Sublist3r で、検索エンジンや Certificate Transparency ログを横断的に調査します。
amass enum -passive -d example.com -o subdomains.txt
1-3. OSINT フレームワークの利用
- recon-ng でモジュールを組み合わせ、メールアドレスや公開リポジトリから追加情報を自動収集します。
2. アクティブスキャンによる生存ホスト確認
2-1. 軽量 ICMP スキャン
- fping・nmap -sn で最小限のパケットを送り、生きているホストを絞り込みます。
fping -a -g 203.0.113.0/24
nmap -sn 203.0.113.0/24
2-2. 大規模レンジの高速ポートスキャン
- masscan は数万 pps の速度で TCP/UDP ポートを走査し、後段の詳細解析に繋げられます。
3. 内部ネットワークでのホスト探索
オンサイトや VPN で内部セグメントに接続した場合は、ARP や DHCP パケットからデバイス情報を抽出します。
用途 | 推奨ツール | 概要 |
---|---|---|
ARP ベースの生存確認 | netdiscover | 受動/能動モードで MAC と IP をマッピング |
ブロードキャスト解析 | arp-scan | /24 程度なら高速で網羅可能 |
パケットキャプチャ | tcpdump / Wireshark | mDNS、LLMNR、NBNS などを監視し、ホスト名を発見 |
4. IP アドレスが露出する典型パターン
- 証明書透過ログ: 新規発行証明書からバックエンドの FQDN が見える場合があります。
- メールヘッダー:
Received:
ラインに送信元グローバル IP が残る例があります。 - 誤設定の公開ログ: GitHub や Pastebin に誤ってコミットされた設定ファイルからレンジが判明することがあります。
5. Kali Linux での効率的ワークフロー(例)
# ワークスペース作成
mkdir ~/recon/example.com && cd $_
# 1. パッシブ列挙
amass enum -passive -d example.com -o amass.txt
theHarvester -d example.com -b all -f harvester.xml
# 2. ICMP で生存確認
awk '{print $1}' amass.txt > hosts.txt
nmap -sn -iL hosts.txt -oG ping_sweep.gnmap
# 3. 詳細ポートスキャン
grep Up ping_sweep.gnmap | awk '{print $2}' > live_ips.txt
nmap -sS -A -iL live_ips.txt -oN full_scan.txt
各段階を分離することで、不要なパケット送信や誤検知のリスクを最小限に抑えられます。
6. まとめ
- パッシブ情報収集で得たドメイン・サブドメインを起点に、アクティブスキャンを少しずつ拡大することが、安全かつ効率的な調査の鍵です。
- Kali Linux には、whois・dig から masscan まで一連のツールが標準/公式リポジトリで整備されており、学習環境としても最適です。
- 実案件ではターゲットごとに許容ポリシーが異なります。必ず事前に同意範囲を確認し、法令・社内規定を順守してください。
参考資料・ツール公式サイト
- Kali Linux Documentation
- OWASP Amass Project
- Nmap Reference Guide
- masscan GitHub リポジトリ
- recon-ng Wiki