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

14 KiB
Raw Blame History

Володіння доменом/піддоменом

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

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


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

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

Володіння доменом

Якщо ви виявите якийсь домен (domain.tld), який використовується якоюсь службою в межах але компанія втратила власність на нього, ви можете спробувати зареєструвати його (якщо це достатньо дешево) і повідомити компанію. Якщо цей домен отримує якусь чутливу інформацію, таку як сесійний cookie через GET параметр або в заголовку Referer, це безумовно є вразливістю.

Володіння піддоменом

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

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

Генерація захоплення піддомену через 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). Зловмисник може створити свою власну сторінку третьої сторони (в Gihub у цьому випадку) і сказати, що 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 %}