Yuuki

Yuuki's Blog

Hacker. Code Enthusiast.
github
bilibili
twitter

HTTP特徴を使用してルートドメインの資産を収集します。

序文#

通常、侵入テストの情報収集フェーズでは、対象企業のルートドメインを収集し、登録済みのドメインは ICP 登録番号の逆引きや Whois データのクエリを使用して取得できますが、未登録のドメインにはいくつかの特殊な収集方法があります。

対象のルートドメイン資産を収集するために、HTTP の特徴を使用する方法があります。FOFA や Shodan などのセキュリティ関連の検索エンジンを使用して、対象企業に関連するルートドメインを発見することができます。

注意点として、これらの方法で収集されたルートドメイン資産がテスト対象に属しているとは限らないことに注意してください。これらの方法はオプションの拡張機能としてのみ使用されるべきです。これらの方法を使用する際には、収集された情報を慎重に扱う必要があります。

証明書#

FOFA の構文

cert.subject.org="target" && is_domain=true

デモの例

20240415_011618

数字証明書では、発行者、サブジェクト、組織、CommonName などのフィールドが重要な役割を果たしています。

  • 発行者 (Issuer): 証明書を署名および発行したエンティティを示すフィールドです。発行者フィールドには、空でない識別可能な名前 (DN) が含まれている必要があります。
  • サブジェクト (Subject): サブジェクトフィールドは、サブジェクト公開鍵フィールドに関連付けられた公開鍵に関連するエンティティを示します。サブジェクト名は、サブジェクトフィールドおよび / または subjectAltName 拡張で運ばれることがあります。
  • 組織 (O): 組織名は、証明書を保持する組織または会社を識別します。
  • CommonName (CN): 一般名は、個人の場合は個人の名前、サーバー証明書の場合は通常はドメイン名です。

HTTP ヘッダー#

Content-Security-Policy-Report-Onlyヘッダーは、ウェブサイトがクロスオリジンリクエストをどのように処理するかに関する情報を提供することができますが、企業のルートドメインに関する詳細な情報を直接提供する可能性はありません。

Content-Security-Policy-Report-Onlyを使用することで、対象企業に関連するルートドメインを収集することができます。

FOFA の構文

host="target.com" && header="Content-Security-Policy-Report-Only"

デモの例

20240415_010719

同様のヘッダーには Content-Security-Policy、Set-Cookie などもあり、これらのヘッダーにも対象企業に関連するルートドメインが含まれる可能性があります。

NS サーバー#

一部の場合、企業内のドメインは企業内の人員のみがアクセスできれば十分であり、独自の DNS サーバーを使用することで実現できます。

企業内部で構築された NS サーバーに直接アクセスすることはできませんが、以前に解決レコードが存在したことを示すデータを使用して、共有 DNS サーバーの情報をクエリすることができます。

HackerTarget Find Shared DNS Serversツールを使用することで、企業の共有 DNS サーバーを検索することができます。

企業の NS サーバーをクエリする前に、ドメインの NS サーバーをクエリして、NS サーバーの IP アドレスまたはホスト名を取得する必要があります。

$ nslookup -type=ns qq.com
  qq.com	nameserver = ns1.qq.com.
  qq.com	nameserver = ns2.qq.com.
  qq.com	nameserver = ns4.qq.com.
  qq.com	nameserver = ns3.qq.com.

20240415_012958

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。