Kali Tools #017|Recon-ng:OSINTを自動化する偵察フレームワークの実力

※本記事は学習用途・自己所有環境のみを対象とし、他者環境への無断スキャンは不正アクセス禁止法に該当します。

内部ネットワークの可視化を行うNetdiscover、Windows環境の列挙を行うEnum4linux。
これらが“内部”を探るツールだとすれば、Recon-ngは“外部”を体系的に収集するための基盤です。

攻撃は、いきなり侵入から始まるわけではありません。多くの場合、その前段階には「公開情報の収集」があります。ドメイン情報、サブドメイン、メールアドレス、WHOISデータ、各種APIから取得できる断片情報——それらを組み合わせることで、組織の輪郭は少しずつ浮かび上がります。

Recon-ngは、そうしたOSINT(Open Source Intelligence)を自動化し、整理し、データベースとして蓄積するフレームワークです。単なる収集ツールではなく、「情報を構造化するための基盤」である点が最大の特徴です。

本記事では、Recon-ngの基本構造と操作フローを整理しながら、実務での使いどころ、そして攻撃者と防御者双方の視点から見たリスクと対策について解説します。公開情報は、すでに攻撃面の一部です。その現実を、Recon-ngを通して確認していきます。


Recon-ngとは何か ― フレームワーク型OSINTの思想


Recon-ngは、Kali Linuxに標準搭載されているOSINT(Open Source Intelligence)フレームワークです。

公開情報の収集を目的としていますが、その本質は「収集」そのものではありません。

最大の特徴は、取得した情報を内部データベースに蓄積し、横断的に管理できる設計にあります。


単機能ツールとの決定的な違い

dnsmapやtheHarvesterのようなツールは、特定の機能に特化しています。例えば「サブドメインを列挙する」「メールアドレスを抽出する」といった単発処理です。

一方、Recon-ngは以下のような構造を持ちます。

  • ワークスペース単位でターゲットを管理

  • モジュール単位で情報を取得

  • 取得結果をSQLiteデータベースに保存

  • 保存データを別モジュールで再利用

つまり、Recon-ngは“ツール”というよりも、OSINT活動を体系化するための基盤です。


ワークスペースという概念

Recon-ngでは、調査対象ごとに「workspace」を作成します。

これにより、

  • 複数ターゲットの同時管理

  • 調査履歴の保持

  • 情報の横断利用

が可能になります。

単発実行型ツールとは異なり、「情報を積み上げていく」思想が組み込まれているのが特徴です。


モジュール構造と拡張性

Recon-ngはモジュール型設計を採用しています。

主なカテゴリは:

  • recon(情報収集)

  • reporting(出力)

  • import(データ取り込み)

さらに、多くのモジュールが外部APIと連携可能です。APIキーを登録することで、検索エンジン、データベース、各種サービスから情報を取得できます。

この拡張性こそが、Recon-ngを“自動化OSINT基盤”たらしめています。


なぜフレームワーク型が重要なのか

現代の情報収集は断片化しています。

  • DNS情報

  • メールアドレス

  • 漏洩データ

  • SNS痕跡

  • サブドメイン

これらを個別に取得するだけでは、全体像は見えません。

Recon-ngは、それらを一つの環境に統合する設計思想を持っています。

そして、この「統合」が攻撃前段階の精度を高める要因となります。


Recon-ngの基本構造と操作フロー

Recon-ngは対話型インターフェースを採用しており、コマンドライン上でフレームワークを操作します。操作自体はシンプルですが、その内部構造を理解しておくことで、運用効率は大きく変わります。

ここでは、最小限の流れに絞って整理します。


① ワークスペースの作成

まずは調査対象ごとにワークスペースを作成します。

workspace create target-company
workspace select target-company

ワークスペースは、調査単位の“箱”です。
ここに取得したデータが保存されます。


② モジュールの検索と読み込み

Recon-ngでは、目的に応じてモジュールを選択します。

modules search
modules load recon/domains-hosts/bing_domain_web

モジュールはカテゴリ別に整理されており、ドメイン列挙、メール収集、API検索など用途に応じた選択が可能です。


③ オプション設定と実行

モジュールを読み込んだら、必要なオプションを設定します。

options set SOURCE example.com
run

実行結果は画面表示されるだけでなく、内部データベースにも保存されます。


④ データベースへの蓄積

Recon-ngの重要なポイントは、取得結果がSQLiteデータベースに格納されることです。

例えば、

  • domains

  • hosts

  • contacts

  • credentials

といったテーブルに情報が整理されます。

これにより、別モジュールが既存データを参照しながら追加調査を行うことが可能になります。


⑤ APIキーの登録(拡張運用)

外部サービスと連携する場合はAPIキーの登録が必要です。

keys add shodan_api XXXXX

API連携により、単なる検索ツールから“外部データ統合基盤”へと進化します。

ただし、APIキーの管理不備は情報漏洩リスクにも直結します。
ここは防御視点でも重要なポイントです。


操作フローまとめ

Recon-ngの基本フローは以下の通りです。

  1. ワークスペース作成

  2. モジュール選択

  3. オプション設定

  4. 実行

  5. データ蓄積・再利用

単純な繰り返しに見えますが、“情報を積み上げる設計”が組み込まれていることが、単発型ツールとの最大の違いです。


代表的な使いどころ

Recon-ngは単なる情報収集ツールではありません。複数の情報源を横断しながら、対象組織の外部公開情報を体系的に整理することに強みがあります。

ここでは、代表的なユースケースを整理します。


① ドメインからのサブドメイン列挙

調査の起点は多くの場合、企業ドメインです。

  • example.com をSOURCEに指定

  • 各種検索エンジンAPIを活用

  • サブドメインを列挙

  • hostsテーブルに蓄積

これにより、公開Webサーバ、開発環境、旧システムなどが可視化される可能性があります。外部に露出している資産の棚卸しという意味でも重要な工程です。


② メールアドレスの収集

contacts系モジュールを使用することで、公開情報からメールアドレスを抽出できます。

  • Webサイト掲載アドレス

  • 過去リークデータ

  • 検索エンジンキャッシュ

メールアドレスは、フィッシングやソーシャルエンジニアリングの足がかりになります。攻撃前段階の「ターゲットリスト生成」に直結する領域です。


③ 外部APIとの連携

APIキーを登録することで、以下のような情報取得が可能になります。

  • 検索エンジンAPI

  • Shodanなどの公開データベース

  • 漏洩情報検索サービス

これにより、単なる“Web検索”を超えた情報統合が可能になります。

特に、公開ポート情報やバナー情報との組み合わせは、攻撃面の精度を高めます。


④ 情報の横断統合

Recon-ngの強みはここにあります。

  • 取得したサブドメイン

  • そこから抽出したメール

  • 関連するIPアドレス

  • WHOIS情報

これらを個別に見るのではなく、一つのワークスペース内で関連付けながら蓄積できる点が最大の特徴です。断片情報が“構造化データ”に変わる瞬間です。


実務的な意味

Recon-ngの活用は、攻撃者だけの話ではありません。

  • レッドチーム演習

  • OSINT監査

  • 自社公開情報の棚卸し

  • M&A時の事前調査

合法的な利用用途も多く存在します。ただし、公開情報がここまで体系化できるという事実は、組織にとって無視できないリスクでもあります。


攻撃者と防御者の視点 ― Recon-ngが示す公開情報の現実

Recon-ngは違法ツールではありません。取得対象はあくまで公開情報です。しかし、問題は「公開されている」という事実ではなく、それらが統合・構造化されることにあります。

ここでは、攻撃者と防御者それぞれの視点から整理します。


攻撃者視点:断片情報が“攻撃設計図”になる

公開情報は一つ一つを見ると無害に見えます。

  • サブドメイン一覧

  • 企業サイトに掲載された代表メール

  • WHOIS情報

  • 過去に公開された資料

しかし、Recon-ngのようなフレームワークで統合されると、状況は変わります。

  • 部門ごとのメール命名規則が推測できる

  • 開発・検証環境の存在が可視化される

  • 管理用サブドメインが発見される

  • 外部に露出した資産の範囲が明確になる

攻撃は、侵入そのものよりも「準備段階」で精度が決まります。Recon-ngは、その準備工程を効率化します。


防御者視点:内部対策だけでは不十分

多くの組織は、ファイアウォールやEDRなど内部対策に重点を置きます。しかし、Recon-ngが扱うのは内部ではなく外部公開情報です。

つまり、

  • 不要なサブドメインの放置

  • 古い環境の公開状態

  • メールアドレスの過剰露出

  • APIキーの管理不備

これらは内部防御では解決できません。公開情報そのものが攻撃面(Attack Surface)になっているためです。


OSINT監査という考え方

防御側が取るべき姿勢は単純です。

「攻撃者に見られる前提で、自組織を観察すること」

具体的には:

  • 定期的な外部資産棚卸し

  • 不要な公開情報の削減

  • メールアドレス表記ルールの見直し

  • APIキーの厳格管理

Recon-ngは攻撃ツールであると同時に、自組織を客観視するための監査ツールにもなり得ます。


公開情報はすでに“攻撃面”である

最も重要なのはこの点です。

公開している情報そのものが悪いのではありません。問題は、それらが統合されることで意味を持つことです。

Recon-ngは、その現実を可視化します。

そしてそれは、「侵入される前」に対策すべき領域が存在することを示しています。


まとめ:OSINTは静かに積み上がる

Recon-ngは、爆発的なスキャンや侵入を行うツールではありません。扱うのは、すでに公開されている情報だけです。

しかし、その公開情報が体系化され、関連付けられ、蓄積されることで、組織の外形は驚くほど明確になります。

攻撃は、侵入の瞬間から始まるわけではありません。その前段階である「情報収集」が精緻であるほど、成功確率は高まります。Recon-ngは、その準備工程を自動化・効率化するフレームワークです。

一方で、この特性は防御側にとって重要な示唆を与えます。

  • 公開情報は無害とは限らない

  • 断片情報の組み合わせがリスクを生む

  • 内部対策だけでは攻撃面は縮小できない

OSINTは静かに、そして継続的に積み上がります。目立たず、検知されにくく、しかし確実に。

Recon-ngを理解することは、単なるツール理解ではありません。公開情報そのものが攻撃面であるという現実を理解することです。

内部防御を固めるだけでなく、外部から見た自組織の姿を把握できるかどうか。それが、これからのセキュリティ設計における分水嶺になります。

▼ 関連記事(Kali Toolsシリーズ)


▼ 関連記事(blog.b-son.net)