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

14 KiB
Raw Blame History

Domain/Subdomain takeover

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}


Use Trickest 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

Субдомен компанії вказує на сервіс третьої сторони з незареєстрованим ім'ям. Якщо ви можете створити обліковий запис у цьому сервісі третьої сторони і зареєструвати ім'я, яке використовується, ви можете виконати захоплення субдомену.

Існує кілька інструментів з словниками для перевірки можливих захоплень:

Scanning for Hijackable Subdomains with BBOT:

Перевірки захоплення субдоменів включені в стандартну нумерацію субдоменів BBOT. Підписи беруться безпосередньо з https://github.com/EdOverflow/can-i-take-over-xyz.

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

Використання захоплення піддоменів

Захоплення піддоменів по суті є DNS спуфінгом для конкретного домену в Інтернеті, що дозволяє зловмисникам встановлювати A записи для домену, змушуючи браузери відображати контент з сервера зловмисника. Ця прозорість у браузерах робить домени вразливими до фішингу. Зловмисники можуть використовувати typosquatting або Doppelganger domains для цієї мети. Особливо вразливими є домени, де URL у фішинговому електронному листі виглядає легітимно, обманюючи користувачів і ухиляючись від спам-фільтрів через вроджену довіру до домену.

Перевірте цей пост для додаткових деталей

SSL Сертифікати

SSL сертифікати, якщо їх генерують зловмисники через сервіси, такі як Let's Encrypt, додають легітимності цим фальшивим доменам, роблячи фішингові атаки більш переконливими.

Прозорість браузера також поширюється на безпеку cookie, що регулюється політиками, такими як Політика однакового походження. Cookie, які часто використовуються для управління сесіями та зберігання токенів входу, можуть бути використані через захоплення піддоменів. Зловмисники можуть збирати сесійні cookie, просто перенаправляючи користувачів на скомпрометований піддомен, ставлячи під загрозу дані та конфіденційність користувачів.

Електронні листи та Захоплення Піддоменів

Ще один аспект захоплення піддоменів стосується електронних послуг. Зловмисники можуть маніпулювати MX записями, щоб отримувати або надсилати електронні листи з легітимного піддомену, підвищуючи ефективність фішингових атак.

Вищі Ризики

Подальші ризики включають захоплення NS записів. Якщо зловмисник отримує контроль над одним NS записом домену, він може потенційно перенаправити частину трафіку на сервер під своїм контролем. Цей ризик посилюється, якщо зловмисник встановлює високий TTL (Time to Live) для DNS записів, подовжуючи тривалість атаки.

Вразливість CNAME Записів

Зловмисники можуть експлуатувати непозначені CNAME записи, що вказують на зовнішні сервіси, які більше не використовуються або були закриті. Це дозволяє їм створити сторінку під довіреним доменом, ще більше полегшуючи фішинг або розповсюдження шкідливого програмного забезпечення.

Стратегії Пом'якшення

Стратегії пом'якшення включають:

  1. Видалення вразливих DNS записів - Це ефективно, якщо піддомен більше не потрібен.
  2. Придбання доменного імені - Реєстрація ресурсу у відповідного постачальника хмарних послуг або повторна покупка простроченого домену.
  3. Регулярний моніторинг на вразливості - Інструменти, такі як aquatone, можуть допомогти виявити вразливі домени. Організації також повинні переглянути свої процеси управління інфраструктурою, забезпечуючи, щоб створення DNS записів було останнім кроком у створенні ресурсу та першим кроком у знищенні ресурсу.

Для постачальників хмарних послуг перевірка права власності на домен є критично важливою для запобігання захопленню піддоменів. Деякі, такі як GitLab, визнали цю проблему та впровадили механізми перевірки доменів.

Посилання


Використовуйте Trickest для легкого створення та автоматизації робочих процесів, підтримуваних найсучаснішими інструментами спільноти.
Отримайте доступ сьогодні:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=domain-subdomain-takeover" %}

{% hint style="success" %} Вчіться та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вчіться та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримка HackTricks
{% endhint %}