hacktricks/pentesting-web/domain-subdomain-takeover.md

122 lines
12 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ドメイン/サブドメインのテイクオーバー
{% hint style="success" %}
AWSハッキングを学び、実践する:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
GCPハッキングを学び、実践する: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。**
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
[**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=domain-subdomain-takeover)を使用して、世界で最も高度なコミュニティツールによって駆動される**ワークフローを簡単に構築し、自動化**します。\
今すぐアクセスを取得:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=domain-subdomain-takeover" %}
## ドメインテイクオーバー
もし、**スコープ内のサービスによって使用されているドメインdomain.tld**を発見し、**会社**がその**所有権を失っている**場合、(十分に安価であれば)それを**登録**し、会社に知らせることができます。このドメインが**セッションクッキー**のような**機密情報**を**GET**パラメータや**Referer**ヘッダーを介して受信している場合、これは確実に**脆弱性**です。
### サブドメインテイクオーバー
会社のサブドメインが**未登録の名前のサードパーティサービス**を指している場合、その**サードパーティサービス**に**アカウントを作成**し、使用中の**名前を登録**できれば、サブドメインテイクオーバーを実行できます。
可能なテイクオーバーを確認するための辞書を持ついくつかのツールがあります:
* [https://github.com/EdOverflow/can-i-take-over-xyz](https://github.com/EdOverflow/can-i-take-over-xyz)
* [https://github.com/blacklanternsecurity/bbot](https://github.com/blacklanternsecurity/bbot)
* [https://github.com/punk-security/dnsReaper](https://github.com/punk-security/dnsReaper)
* [https://github.com/haccer/subjack](https://github.com/haccer/subjack)
* [https://github.com/anshumanbh/tko-sub](https://github.com/anshumanbh/tko-subs)
* [https://github.com/ArifulProtik/sub-domain-takeover](https://github.com/ArifulProtik/sub-domain-takeover)
* [https://github.com/SaadAhmedx/Subdomain-Takeover](https://github.com/SaadAhmedx/Subdomain-Takeover)
* [https://github.com/Ice3man543/SubOver](https://github.com/Ice3man543/SubOver)
* [https://github.com/antichown/subdomain-takeover](https://github.com/antichown/subdomain-takeover)
* [https://github.com/musana/mx-takeover](https://github.com/musana/mx-takeover)
* [https://github.com/PentestPad/subzy](https://github.com/PentestPad/subzy)
* [https://github.com/Stratus-Security/Subdominator](https://github.com/Stratus-Security/Subdominator)
* [https://github.com/NImaism/takeit](https://github.com/NImaism/takeit)
### DNSワイルドカードによるサブドメインテイクオーバー生成
ドメインでDNSワイルドカードが使用されている場合、そのドメインの異なるアドレスが明示的にない任意の要求されたサブドメインは**同じ情報に解決されます**。これはA IPアドレスやCNAMEなどです。
例えば、`*.testing.com`が`1.1.1.1`にワイルドカードされている場合、`not-existent.testing.com`は`1.1.1.1`を指します。
しかし、IPアドレスを指すのではなく、システム管理者が**CNAMEを介してサードパーティサービス**に指す場合、例えばG**ithubサブドメイン**`sohomdatta1.github.io`)のように、攻撃者は**自分自身のサードパーティページ**この場合はGihubを作成し、`something.testing.com`がそこを指していると言うことができます。なぜなら、**CNAMEワイルドカード**は攻撃者が**被害者のドメインに対して任意のサブドメインを生成し、自分のページに指すことを許可するからです**。
この脆弱性の例は、CTFの書き込みで見つけることができます: [https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api](https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api)
## サブドメインテイクオーバーの悪用
サブドメインテイクオーバーは、特定のドメインに対するDNSスプーフィングであり、攻撃者がドメインのAレコードを設定できるようにし、ブラウザが攻撃者のサーバーからのコンテンツを表示することを可能にします。この**透明性**はブラウザにおいてドメインをフィッシングに対して脆弱にします。攻撃者はこの目的のために[_タイポスクワッティング_](https://en.wikipedia.org/wiki/Typosquatting)や[_ドッペルゲンガードメイン_](https://en.wikipedia.org/wiki/Doppelg%C3%A4nger)を使用することがあります。特に脆弱なのは、フィッシングメールのURLが正当であるように見えるドメインであり、ユーザーを欺き、ドメインの固有の信頼性によりスパムフィルターを回避します。
詳細についてはこの[投稿を確認してください](https://0xpatrik.com/subdomain-takeover/)
### **SSL証明書**
SSL証明書は、[_Let's Encrypt_](https://letsencrypt.org/)のようなサービスを介して攻撃者によって生成される場合、これらの偽ドメインの正当性を高め、フィッシング攻撃をより説得力のあるものにします。
### **クッキーセキュリティとブラウザの透明性**
ブラウザの透明性は、[同一オリジンポリシー](https://en.wikipedia.org/wiki/Same-origin\_policy)のようなポリシーによって管理されるクッキーセキュリティにも及びます。クッキーは、セッションを管理し、ログイントークンを保存するために使用されることが多く、サブドメインテイクオーバーを通じて悪用される可能性があります。攻撃者は、侵害されたサブドメインにユーザーを誘導することで**セッションクッキーを収集**し、ユーザーデータとプライバシーを危険にさらすことができます。
### **メールとサブドメインテイクオーバー**
サブドメインテイクオーバーのもう一つの側面は、メールサービスに関するものです。攻撃者は**MXレコード**を操作して、正当なサブドメインからメールを受信または送信し、フィッシング攻撃の効果を高めることができます。
### **高次のリスク**
さらなるリスクには**NSレコードのテイクオーバー**が含まれます。攻撃者がドメインの1つのNSレコードを制御すると、彼らは自分の制御下にあるサーバーにトラフィックの一部を指示する可能性があります。このリスクは、攻撃者がDNSレコードの高い**TTL生存時間**を設定する場合、攻撃の期間が延長されるため、さらに増大します。
### CNAMEレコードの脆弱性
攻撃者は、もはや使用されていないか、廃止された外部サービスを指す未請求のCNAMEレコードを悪用する可能性があります。これにより、信頼されたドメインの下にページを作成し、フィッシングやマルウェアの配布をさらに促進することができます。
### **緩和戦略**
緩和戦略には以下が含まれます:
1. **脆弱なDNSレコードの削除** - サブドメインがもはや必要ない場合に効果的です。
2. **ドメイン名の請求** - 関連するクラウドプロバイダーでリソースを登録するか、期限切れのドメインを再購入します。
3. **脆弱性の定期的な監視** - [aquatone](https://github.com/michenriksen/aquatone)のようなツールは、脆弱なドメインを特定するのに役立ちます。組織はまた、DNSレコードの作成がリソース作成の最終ステップであり、リソース破棄の最初のステップであることを確認するために、インフラ管理プロセスを見直すべきです。
クラウドプロバイダーにとって、ドメイン所有権の確認はサブドメインテイクオーバーを防ぐために重要です。一部のプロバイダー、例えば[GitLab](https://about.gitlab.com/2018/02/05/gitlab-pages-custom-domain-validation/)は、この問題を認識し、ドメイン確認メカニズムを実装しています。
## 参考文献
* [https://0xpatrik.com/subdomain-takeover/](https://0xpatrik.com/subdomain-takeover/)
* [https://www.stratussecurity.com/post/subdomain-takeover-guide](https://www.stratussecurity.com/post/subdomain-takeover-guide)
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
[**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=domain-subdomain-takeover)を使用して、世界で最も高度なコミュニティツールによって駆動される**ワークフローを簡単に構築し、自動化**します。\
今すぐアクセスを取得:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=domain-subdomain-takeover" %}
{% hint style="success" %}
AWSハッキングを学び、実践する:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
GCPハッキングを学び、実践する: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。**
</details>
{% endhint %}