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

126 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.

# Domain/Subdomain takeover
{% hint style="success" %}
Learn & practice 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">\
Learn & practice 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>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=domain-subdomain-takeover) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
Get Access Today:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=domain-subdomain-takeover" %}
## Domain takeover
Якщо ви виявите якийсь домен (domain.tld), який **використовується якоюсь службою в межах** але **компанія** втратила **власність** на нього, ви можете спробувати **зареєструвати** його (якщо це достатньо дешево) і повідомити компанію. Якщо цей домен отримує якусь **чутливу інформацію**, таку як cookie сесії через **GET** параметр або в заголовку **Referer**, це безумовно є **вразливістю**.
### Subdomain takeover
Субдомен компанії вказує на **сервіс третьої сторони з незареєстрованим ім'ям**. Якщо ви можете **створити** **обліковий запис** у цьому **сервісі третьої сторони** і **зареєструвати** **ім'я**, яке використовується, ви можете виконати захоплення субдомену.
Існує кілька інструментів з словниками для перевірки можливих захоплень:
* [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)
#### Scanning for Hijackable Subdomains with [BBOT](https://github.com/blacklanternsecurity/bbot):
Перевірки захоплення субдоменів включені в стандартну нумерацію субдоменів BBOT. Підписи беруться безпосередньо з [https://github.com/EdOverflow/can-i-take-over-xyz](https://github.com/EdOverflow/can-i-take-over-xyz).
```bash
bbot -t evilcorp.com -f subdomain-enum
```
### Піддомени та їх захоплення через DNS Wildcard
Коли в домені використовується DNS wildcard, будь-який запитуваний піддомен цього домену, який не має іншої адреси, буде **вирішено на ту ж інформацію**. Це може бути A IP-адреса, CNAME...
Наприклад, якщо `*.testing.com` wildcard налаштовано на `1.1.1.1`. Тоді `not-existent.testing.com` буде вказувати на `1.1.1.1`.
Однак, якщо замість вказування на IP-адресу, системний адміністратор вказує на **сервіс третьої сторони через CNAME**, наприклад, **піддомен github** (`sohomdatta1.github.io`). Зловмисник може **створити свою власну сторінку третьої сторони** (в даному випадку на GitHub) і стверджувати, що `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/)
<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 %}