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

123 lines
14 KiB
Markdown
Raw 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 Hacking:<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 Hacking: <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) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на GitHub.
</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), який **використовується якоюсь службою в межах** але **компанія** **втратила** **власність** на нього, ви можете спробувати **зареєструвати** його (якщо це достатньо дешево) і повідомити компанію. Якщо цей домен отримує якусь **чутливу інформацію**, таку як сесійний cookie через **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/m4ll0k/takeover](https://github.com/m4ll0k/takeover)
* [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 Wildcard
Коли в домені використовується DNS wildcard, будь-який запитуваний піддомен цього домену, який не має іншої адреси, буде **вирішено на ту ж інформацію**. Це може бути A IP-адреса, CNAME...
Наприклад, якщо `*.testing.com` wildcard на `1.1.1.1`. Тоді `not-existent.testing.com` буде вказувати на `1.1.1.1`.
Однак, якщо замість вказування на IP-адресу, системний адміністратор вказує його на **сервіс третьої сторони через CNAME**, наприклад, піддомен G**ithub** (`sohomdatta1.github.io`). Зловмисник може **створити свою власну сторінку третьої сторони** (в Gihub у цьому випадку) і сказати, що `something.testing.com` вказує туди. Оскільки **CNAME wildcard** дозволяє зловмиснику **генерувати довільні піддомени для домену жертви, вказуючи на його сторінки**.
Ви можете знайти приклад цієї вразливості в звіті CTF: [https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api](https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api)
## Експлуатація захоплення піддомену
Захоплення піддомену по суті є DNS спуфінгом для конкретного домену в Інтернеті, що дозволяє зловмисникам встановлювати A записи для домену, змушуючи браузери відображати контент з сервера зловмисника. Ця **прозорість** у браузерах робить домени вразливими до фішингу. Зловмисники можуть використовувати [_typosquatting_](https://en.wikipedia.org/wiki/Typosquatting) або [_Doppelganger domains_](https://en.wikipedia.org/wiki/Doppelg%C3%A4nger) для цієї мети. Особливо вразливими є домени, де URL у фішинговому електронному листі виглядає легітимно, обманюючи користувачів і ухиляючись від спам-фільтрів через вроджену довіру до домену.
Перевірте цей [пост для отримання додаткових деталей](https://0xpatrik.com/subdomain-takeover/)
### **SSL Сертифікати**
SSL сертифікати, якщо їх генерують зловмисники через сервіси, такі як [_Let's Encrypt_](https://letsencrypt.org/), додають легітимності цим фальшивим доменам, роблячи фішингові атаки більш переконливими.
### **Безпека Cookie та прозорість браузера**
Прозорість браузера також поширюється на безпеку cookie, якою керують політики, такі як [Політика однакового походження](https://en.wikipedia.org/wiki/Same-origin\_policy). Cookie, які часто використовуються для управління сесіями та зберігання токенів входу, можуть бути експлуатовані через захоплення піддомену. Зловмисники можуть **збирати сесійні cookie**, просто перенаправляючи користувачів на скомпрометований піддомен, ставлячи під загрозу дані та конфіденційність користувачів.
### **Електронні листи та захоплення піддомену**
Ще один аспект захоплення піддомену стосується електронних послуг. Зловмисники можуть маніпулювати **MX записями**, щоб отримувати або надсилати електронні листи з легітимного піддомену, підвищуючи ефективність фішингових атак.
### **Вищі ризики**
Подальші ризики включають **захоплення NS записів**. Якщо зловмисник отримує контроль над одним NS записом домену, він може потенційно направити частину трафіку на сервер під своїм контролем. Цей ризик посилюється, якщо зловмисник встановлює високий **TTL (Time to Live)** для DNS записів, подовжуючи тривалість атаки.
### Вразливість 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 Hacking:<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 Hacking: <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) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на GitHub.
</details>
{% endhint %}