ドメイン/サブドメインのテイクオーバー

Reading time: 11 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

ドメインテイクオーバー

もし、スコープ内のサービスによって使用されているドメイン(domain.tld)を発見し、会社がその所有権失っている場合、登録を試みることができます(十分に安価であれば)そして会社に知らせることができます。このドメインがGETパラメータやRefererヘッダーを介してセッションクッキーのような機密情報を受信している場合、これは確実に脆弱性です。

サブドメインテイクオーバー

会社のサブドメインが登録されていない名前の第三者サービスを指している場合、あなたがこの第三者サービスアカウント作成し、使用中の名前登録できれば、サブドメインテイクオーバーを実行できます。

可能なテイクオーバーを確認するための辞書を持つツールがいくつかあります:

DNSワイルドカードによるサブドメインテイクオーバー生成

ドメインでDNSワイルドカードが使用されている場合、そのドメインの異なるアドレスが明示的に指定されていないすべての要求されたサブドメインは同じ情報に解決されます。これはA IPアドレスやCNAMEなどです。

例えば、*.testing.com1.1.1.1にワイルドカードされている場合、not-existent.testing.com1.1.1.1を指します。

しかし、IPアドレスを指す代わりに、システム管理者がCNAMEを介して第三者サービスに指す場合、例えばGithubのサブドメインsohomdatta1.github.io)のように、攻撃者は自分自身の第三者ページ(この場合はGihub)を作成し、something.testing.comがそこを指していると言うことができます。なぜなら、CNAMEワイルドカードが攻撃者に被害者のドメインに対して任意のサブドメインを生成することを許可するからです

この脆弱性の例はCTFのレポートで見つけることができます:https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api

サブドメインテイクオーバーの悪用

サブドメインテイクオーバーは、特定のドメインに対するDNSスプーフィングであり、攻撃者がドメインのAレコードを設定できるようにし、ブラウザが攻撃者のサーバーからのコンテンツを表示することを可能にします。この透明性はブラウザにおいてドメインをフィッシングに対して脆弱にします。攻撃者はこの目的のためにtyposquattingDoppelganger domainsを使用することがあります。特に脆弱なのは、フィッシングメールのURLが正当であるように見えるドメインであり、ドメインの固有の信頼性によりユーザーを欺き、スパムフィルターを回避します。

詳細についてはこの投稿を確認してください

SSL証明書

SSL証明書は、Let's Encryptのようなサービスを介して攻撃者によって生成される場合、これらの偽のドメインの正当性を高め、フィッシング攻撃をより説得力のあるものにします。

クッキーセキュリティとブラウザの透明性

ブラウザの透明性は、同一生成元ポリシーのようなポリシーによって管理されるクッキーセキュリティにも及びます。クッキーは、セッションを管理し、ログイントークンを保存するために使用されることが多く、サブドメインテイクオーバーを通じて悪用される可能性があります。攻撃者は侵害されたサブドメインにユーザーを誘導することによってセッションクッキーを収集し、ユーザーデータとプライバシーを危険にさらすことができます。

CORSバイパス

すべてのサブドメインがメインドメインまたは他のサブドメインからCORSリソースにアクセスできる可能性があります。これを攻撃者が悪用して機密情報にアクセスすることができます。

CSRF - Same-Siteクッキーのバイパス

サブドメインが、クッキーのSame-Site属性によって防止されていたドメインまたは他のサブドメインにクッキーを送信することが許可されている可能性があります。ただし、適切に実装されている場合、anti-CSRFトークンはこの攻撃を防ぐことができます。

OAuthトークンのリダイレクト

侵害されたサブドメインがOAuthフローのredirect_uri URLで使用されることが許可されている可能性があります。これを攻撃者が悪用してOAuthトークンを盗むことができます。

CSPバイパス

侵害されたサブドメイン(またはすべてのサブドメイン)が、例えばCSPのscript-srcで使用されることが許可されている可能性があります。これを攻撃者が悪用して悪意のあるスクリプトを注入し、潜在的なXSS脆弱性を悪用することができます。

メールとサブドメインテイクオーバー

サブドメインテイクオーバーのもう一つの側面は、メールサービスに関するものです。攻撃者はMXレコードを操作して、正当なサブドメインからメールを受信または送信し、フィッシング攻撃の効果を高めることができます。

高次のリスク

さらなるリスクにはNSレコードのテイクオーバーが含まれます。攻撃者がドメインの1つのNSレコードを制御すると、彼らはトラフィックの一部を自分の制御下にあるサーバーに向けることができます。このリスクは、攻撃者がDNSレコードのTTL(Time to Live)を高く設定することで増幅され、攻撃の持続時間が延長されます。

CNAMEレコードの脆弱性

攻撃者は、もはや使用されていないか、廃止された外部サービスを指す未請求のCNAMEレコードを悪用する可能性があります。これにより、彼らは信頼されたドメインの下にページを作成し、フィッシングやマルウェアの配布をさらに促進することができます。

緩和戦略

緩和戦略には以下が含まれます:

  1. 脆弱なDNSレコードの削除 - サブドメインがもはや必要ない場合に効果的です。
  2. ドメイン名の請求 - 関連するクラウドプロバイダーでリソースを登録するか、期限切れのドメインを再購入します。
  3. 脆弱性の定期的な監視 - aquatoneのようなツールは、脆弱なドメインを特定するのに役立ちます。組織はまた、インフラ管理プロセスを見直し、DNSレコードの作成がリソース作成の最終ステップであり、リソース破棄の最初のステップであることを確認する必要があります。

クラウドプロバイダーにとって、ドメイン所有権の確認はサブドメインテイクオーバーを防ぐために重要です。例えば、GitLabのように、この問題を認識し、ドメイン確認メカニズムを実装しているプロバイダーもあります。

参考文献

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする