Gobuster の DNS スキャン結果に IP アドレスを表示する

Beginner
オンラインで実践に進む

はじめに

Gobuster は、URI(ディレクトリやファイル)、DNS サブドメイン、Amazon S3 バケットなどをブルートフォースするための強力なツールです。サイバーセキュリティおよびペネトレーションテストの文脈において、サブドメインの発見は偵察フェーズにおける重要なステップです。これらのサブドメインに関連付けられた IP アドレスを知ることは、組織のネットワークインフラストラクチャに関する貴重な洞察を提供し、潜在的な攻撃ベクトルや設定ミスを特定するのに役立ちます。

この実験では、Gobuster を使用して DNS サブドメイン列挙を実行する方法を説明します。具体的には、特定のフラグを活用して、発見されたサブドメインとともに IP アドレスを表示する方法を学び、ターゲットインフラストラクチャを効果的にマッピングする能力を高めます。

基本的な gobuster DNS スキャンを実行する

このステップでは、Gobuster を使用して基本的な DNS サブドメインスキャンを実行します。これにより、DNS スキャンのデフォルトの出力が示され、通常は対応する IP アドレスなしで発見されたサブドメインのみがリストされます。ターゲットドメインとして example.com と一般的なサブドメインの単語リストを使用します。

まず、Gobuster がインストールされていることを確認してください。インストールされていない場合は、sudo apt install gobuster を使用してインストールできます。

次に、ターミナルで次のコマンドを実行します。

gobuster dns -d example.com -w /usr/share/wordlists/dirb/common.txt -q
  • gobuster dns: DNS サブドメインスキャンを実行したいことを指定します。
  • -d example.com: ターゲットドメインとして example.com を設定します。
  • -w /usr/share/wordlists/dirb/common.txt: サブドメインのブルートフォースに使用する単語リストを指定します。これは、多くの Linux ディストリビューションで利用可能な一般的な単語リストです。
  • -q: バナーと進行状況の出力を抑制し、結果のみを表示します。

example.com に対して見つかったサブドメインのリストが表示されます。サブドメイン名のみが表示されていることに注意してください。

Found: www.example.com
Found: mail.example.com
Found: ftp.example.com
Found: blog.example.com
Found: dev.example.com

-i フラグを使用してスキャンを再実行する

このステップでは、Gobuster DNS スキャンを再実行しますが、今回は -i フラグを含めます。-i フラグは、発見された各サブドメインに関連付けられた IP アドレスを表示するように Gobuster に指示します。これは、ターゲットのインフラストラクチャのより完全な全体像を把握するために重要です。

ターミナルで次のコマンドを実行します。

gobuster dns -d example.com -w /usr/share/wordlists/dirb/common.txt -i -q

前のコマンドとの唯一の違いは、-i フラグが追加されたことです。

出力を注意深く観察してください。発見された各サブドメインの横に IP アドレスが表示されているはずです。

Found: www.example.com (93.184.216.34)
Found: mail.example.com (93.184.216.34)
Found: ftp.example.com (93.184.216.34)
Found: blog.example.com (93.184.216.34)
Found: dev.example.com (93.184.216.34)

ここに表示されている IP アドレスは example.com のものであり、デモンストレーション目的で通常はすべてのサブドメインに対して単一の IP を指します。実際のシナリオでは、異なるサブドメインに対して異なる IP アドレスが表示され、異なるサーバーまたはサービスを示している可能性があります。

-i フラグの有無による出力の比較

このステップでは、前の 2 つの Gobuster コマンドの出力を視覚的に比較します。この比較により、偵察プロセスにおいて -i フラグがもたらす顕著な違いが明らかになります。

ステップ 1(-i なし)からの出力を思い出してください。

Found: www.example.com
Found: mail.example.com
Found: ftp.example.com
Found: blog.example.com
Found: dev.example.com

そして、ステップ 2(-i あり)からの出力です。

Found: www.example.com (93.184.216.34)
Found: mail.example.com (93.184.216.34)
Found: ftp.example.com (93.184.216.34)
Found: blog.example.com (93.184.216.34)
Found: dev.example.com (93.184.216.34)

主な違いは、-i フラグが使用されたときに各サブドメインの横に (IP_ADDRESS) が表示されていることです。この追加情報は、基盤となるインフラストラクチャを理解するために不可欠です。IP アドレスがない場合、サブドメインの名前しかわかりません。IP アドレスがある場合、それらのサブドメインが解決される場所がわかり、特定のサーバー、クラウドサービス、またはネットワークの異なる部分を指し示す可能性があります。

この比較は、単純なフラグが偵察活動の有用性をどのように大幅に向上させるかを示しています。

各サブドメインに関連付けられた IP アドレスを特定する

このステップでは、前のステップで発見されたサブドメインに関連付けられた IP アドレスを特定し、書き留めます。example.com ではすべてのサブドメインで同じ IP が表示されるかもしれませんが、実際のシナリオでは、このステップでは潜在的に異なる IP アドレスを特定することになります。

ステップ 2 のコマンドの出力から:

Found: www.example.com (93.184.216.34)
Found: mail.example.com (93.184.216.34)
Found: ftp.example.com (93.184.216.34)
Found: blog.example.com (93.184.216.34)
Found: dev.example.com (93.184.216.34)

example.com では、リストされているすべてのサブドメインが IP アドレス 93.184.216.34 に解決されることがわかります。

実際の偵察シナリオで、別のドメインをスキャンした場合、以下のような結果が得られる可能性があります。

  • sub1.target.com192.168.1.10 に解決される
  • sub2.target.com192.168.1.11 に解決される
  • cdn.target.com203.0.113.50(CDN の IP)に解決される
  • admin.target.com10.0.0.5(公開されている場合、内部 IP)に解決される

これらの異なる IP を特定することは、以下の点で役立ちます。

  • サーバーのフィンガープリント: 異なる IP は、異なるサーバー、オペレーティングシステム、または Web サーバーソフトウェアを示している可能性があります。
  • クラウドサービスの特定: 既知のクラウドプロバイダー(AWS、Azure、GCP)に属する IP は、特定のクラウドサービスの利用を明らかにすることができます。
  • ネットワークのセグメンテーション: 異なる IP 範囲は、組織内の異なるネットワークセグメントまたは部門を示唆している可能性があります。

このステップは、サブドメインを見つけるだけでなく、それらのネットワーク上の場所を理解することの重要性を強調しています。

これがインフラストラクチャマッピングにどのように役立つかを理解する

この最終ステップでは、DNS スキャン結果に IP アドレスを表示することのより広範な意味、特に偵察中のインフラストラクチャマッピングにどのように役立つかを理解します。

インフラストラクチャマッピングとは、ターゲットのネットワークとシステムの詳細な図または理解を作成するプロセスです。サブドメイン列挙と IP アドレス解決を組み合わせることで、いくつかの利点が得られます。

  1. ホスティングプロバイダーの特定: 異なる IP 範囲は、多くの場合、異なるホスティングプロバイダー(例:AWS、Google Cloud、DigitalOcean)に属しています。これを知ることで、組織のインフラストラクチャのさまざまな部分がどこでホストされているかを理解するのに役立ちます。
  2. 隠されたサービスの発見: 場合によっては、サブドメインがメインウェブサイトから直接リンクされていない内部サービスまたはあまり知られていないサービスを指していることがあります。それらの IP を解決することで、それらが同じサーバー上にあるのか、別のサーバー上にあるのか、あるいは別のネットワークセグメント上にあるのかを明らかにすることができます。
  3. 攻撃対象領域の特定: 複数のサブドメインが同じ IP に解決される場合、複数のサービスをホストする単一のサーバーを示している可能性があり、攻撃ベクトルが統合されている可能性があります。逆に、異なる IP は分散されたサービスを示唆しており、それぞれが独自の潜在的な脆弱性を持っています。
  4. WAF/CDN のバイパス: メインドメインが Web アプリケーションファイアウォール(WAF)またはコンテンツデリバリーネットワーク(CDN)の後ろにある場合、オリジン IP(実際のサーバー IP)に解決されるサブドメインを見つけることで、WAF/CDN をバイパスし、サーバーと直接対話できるようになります。
  5. ネットワークセグメンテーション分析: 異なる IP アドレスブロックは、組織内の異なる部門、地理的な場所、またはネットワークセグメントを示している可能性があります。これは、ターゲットの内部ネットワーク構造を理解するのに役立ちます。

Gobuster で -i フラグを使用することにより、単純なサブドメインリストを価値のあるインフラストラクチャインテリジェンスの断片に変え、偵察能力を大幅に向上させます。この情報は、ポートスキャン、脆弱性分析、およびターゲット攻撃などの後続のペネトレーションテストステップを計画するために不可欠です。

まとめ

この実験では、DNS サブドメイン列挙のために Gobuster を効果的に使用する方法、そしてより重要なことに、発見された各サブドメインに関連付けられた IP アドレスを表示する方法を学びました。まず基本的な Gobuster DNS スキャンを実行し、そのデフォルトの出力を確認し、次に -i フラグを付けてスキャンを再実行して IP アドレスを含めました。比較を通じて、このフラグがもたらす重要な違いを理解しました。最後に、これらの IP アドレスを特定することが、サイバーセキュリティにおける包括的なインフラストラクチャマッピングと偵察の基礎であることを探求しました。このスキルは、ターゲットのネットワークランドスケープに対するより深い洞察を得て、潜在的な攻撃対象領域を特定するために非常に価値があります。