はじめに
パッシブ・リコネとは、対象に直接アクセス(ポートスキャンやICMP ping 等)せずに公開済み情報を集める手法です。公開WHOIS、DNSレコード、検索エンジン、Shodan 等を使って攻撃面を増やす(攻撃者が見つける)情報を把握します。
パッシブ vs アクティブ
- パッシブ(P):Facebookの会社ページを見る、公開WHOISを調べる、検索エンジンで情報収集。対象に直接接続しない。
-
アクティブ(A):ターゲットへ ping を送る、ポートスキャン、ソーシャルエンジニアリングで直接情報を引き出す。
→ 不確実なら「これはPかAか?」という問題では、接触(送信)があればA と考えるのが安全。
主要ツール(コマンド例付き)
1) whois — 登録情報の確認
用途:ドメイン登録日、登録事業者(Registrar)、ネームサーバ、連絡先(公開されている場合)などを取得。
使い方:
whois example.com
参考(教材の例):
- TryHackMe.com 登録日:
2018-07-05→ 表示例20180705 - Registrar:
namecheap.com - Name servers:
cloudflare.com
注意:多くのドメインはプライバシー保護サービスで連絡先を隠しています。WHOISは頻繁にフォーマットが変わるのでパースは慎重に。
2) nslookup / dig — DNS レコード確認
用途:A/AAAA/CNAME/MX/TXT/SOA 等を取得。攻撃面(サーバIP、メール運用、TXT 内の痕跡等)を把握。
nslookup(手軽)
# A レコード(IPv4)
nslookup -type=A tryhackme.com 1.1.1.1
# MX レコード(メール)
nslookup -type=MX tryhackme.com
# TXT レコード
nslookup -type=TXT thmlabs.com
dig(詳細・TTL 表示あり)
# MX レコードを Cloudflare(1.1.1.1)で問い合わせ
dig @1.1.1.1 tryhackme.com MX
# TXT
dig thmlabs.com TXT
教材で確認した例:
-
nslookup -type=A tryhackme.com 1.1.1.1→ 複数の IPv4 アドレス(例:172.67.69.208,104.26.11.229, ...) - thmlabs.com の TXT レコードにあるフラグ(教材):
THM{a5b83929888ed36acb0272971e438d78}
Tips:MXからメールホスティング(例:Google Workspace)を確認→メール関連の攻撃面(フィッシング/メール設定ミス)を検討できる。
3) DNSDumpster — サブドメイン可視化
用途:公開ソースや過去の記録からサブドメイン、関連IP、MX/A/TXT等を可視化。グラフやエクスポート機能が便利。
教材で出た面白いサブドメイン(例):remote(remote.example.com のようなエントリが見つかることがある)
使い方:ウェブでドメインを検索して、テーブル/グラフを確認する(ブラウザ上操作)。
4) Shodan — インターネット接続デバイスの探索
用途:インターネット上で公開されているサーバや装置をサービス/バージョン/ポートで検索。
教材の例クエリ:Apache を検索すると統計情報が得られる。
教材での抜粋例:
- 「Apache が多い国」→ United States(検索タイミングによる)
- Apache の 3rd most common port →
8080(教材時点の結果)
注意:Shodanの統計は変動するため、都度確認が必要。
実習・Q&A(教材に沿った回答例)
学習用に出た問いと解答例をそのまま整理します(TryHackMe教材から):
- Facebookページで社員名を集める行為は? → P(パッシブ)
- IPへ ping を送るのは? → A(アクティブ)
- WHOIS での登録日(TryHackMe.com)→
20180705(2018-07-05) - WHOIS の Registrar →
namecheap.com - TryHackMe のネームサーバは? →
cloudflare.com -
thmlabs.comの TXT にある flag →THM{a5b83929888ed36acb0272971e438d78} - DNSDumpster でわかる興味深いサブドメイン(例)→
remote - Shodan で最も公開されている Apache の国 →
United States - Shodan による Apache の 3rd most common port →
8080
注:上の値のうち DNS / Shodan は時間で変わります。復習用に教材当時の答えを示していますが、実務では最新の結果を必ず取得してください。
実務でのチェックリスト(パッシブ調査時)
- WHOIS:Registrar / 作成日 / 更新日 / 期限 / ネームサーバの確認
- DNS(A/AAAA/MX/TXT/CNAME/SOA):IP・メール運用・TXT(SPF/DKIM)の確認
- サブドメイン列挙:DNSDumpster、crt.sh、PassiveTotal、検索エンジン、WaybackMachine
- Shodan/Censys:公開サービス・バナー・ポート・場所を確認(可視化)
- ソーシャル:採用情報や社員名、公開Gitリポジトリ、漏洩情報(データブリーチ)
- 法的確認:範囲がクライアント管理下か、許可があるか必ず確認
よくある落とし穴と対策
- WHOIS の情報は信用しすぎない:プライバシー保護や古い情報が残る場合がある。
-
DNS キャッシュ/TTL に注意:A レコードがキャッシュされていて古い情報を参照することがある。
dig +traceで権威サーバへ確認。 - Shodan データはスナップショット:OS/サービスバージョンは変化する。確認は都度。
- パッシブとアクティブの線引き:疑わしければ「接続したか」を基準にA/P判定。法的リスクを必ず考慮。
まとめ
-
whois→ 基本情報(登録日・Registrar・NS)を押さえる -
nslookup/dig→ A/MX/TXT/CNAME等、サーバ情報とメール設定を確認 - DNSDumpster / crt.sh / Shodan → サブドメインや公開サービスを補完
- 収集した情報から攻撃面(メール、旧サービス、公開管理画面等)を洗い出す
- いつでも合法性と許可を最優先に。許可がなければアクティブな検査は行わない