• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Захват субдоменов и автоматизация [ Subdomain Takeover ]

grozdniyandy

White-Hat
Premium
Регистрация
11.08.2023
Сообщения
522
Реакции
677
Гарант сделки
2

"vulnerable": true​

Эта статья посвящена захвату поддомена и простой автоматизации.

Содержание​

  • Что такое домен?
  • Ближе к теме, что такое захват поддомена?
  • Что за странная атака?
  • Лаборатории
  • Инструмент
  • Zaxvat (Захват)

Что такое домен?​

Домен - это адрес, который используется для доступа к веб-сайтам. Максимальная длина доменного имени составляет 253 символа. Интервалы между точками не могут превышать 63 символов. Например, "www.xss.pro " имеет три метки: "www" (3 символа), "xss" (3 символа) и "is" (2 символа) плюс две точки. Итак, общая длина равна 3+3+2+2=10 символам.

Что такое DNS (Domain Name System)?
Система доменных имен - это система присвоения имен любому ресурсу, подключенному к сети. Основная цель DNS - преобразовать имена в IP-адреса, которые используются для идентификации друг друга в сети.

Что такое TLD (Top-Level Domain) / ccTLD (Country Code Top-Level Domain)k?
Домен верхнего уровня (TLD) - это последняя часть доменного имени, которая начинается после последней точки. Например: .com; .org; .int
Домен верхнего уровня с кодом страны (ccTLD) - это домены верхнего уровня, принадлежащие странам. Например: .ru, .is, .us

Домены типа .com.ru принадлежат России. Как указано выше, последняя часть идентифицирует TLD.

Что такое поддомен?
Поддомен - это подмножество более крупного домена. Он создается путем добавления префикса к основному доменному имени, разделенного точкой. Самый известный поддомен - "www".

Какие записи DNS существуют?
Вот некоторые основные записи.
A (Адрес): Сопоставляет домен с IPv4-адресом.
AAAA (IPv6-адрес): Сопоставляет домен или поддомен с IPv6-адресом.
CNAME (Canonical Name): CNAME используется для создания псевдонима. Это позволяет одному домену указывать на другой домен, совместно используя его записи DNS
MX (Mail Exchange): Указывает почтовые серверы, ответственные за получение электронной почты от имени домена.
TXT (текст): Содержит текстовую информацию. Он часто используется для различных целей, таких как проверка владения доменом или для предоставления информации внешним источникам.

Обычно, когда мы настраиваем веб-сайт, мы сначала добавляем запись A, которая является IP-адресом нашего сервера, затем добавляем другие записи по мере необходимости. Например, чтобы доказать Google, что домен принадлежит нам, мы добавляем запись TXT.

В случае с Cloudflare распространенной ошибкой является сначала добавление IP реального сервера в DNS. При настройке cloudflare вы должны сначала добавить записи cloudflare в свой DNS, а затем добавить свой IP-адрес через cloudflare, чтобы по пути не произошла утечка IP-адреса вашего реального сервера.

Ближе к теме, что такое захват поддомена?

Из записей, которые вы узнали выше, давайте проверим возможные случаи. Итак, компания создала, скажем, поддомен для блога. Пусть это будет "blog.xss.pro". Запись A показывает IP-адрес. Если в один прекрасный день блог закроется и кто-то каким-то образом сможет получить этот IP-адрес. Тогда этот человек может разместить что угодно на своем сервере, и это будет показано в "blog.xss.pro". Этот случай очень маловероятен и происходит только в том случае, если записи не изменились после закрытия блога и если каким-то образом кто-то смог получить IP-адрес в записи A.

Существует 2 (частых) способа использования основного домена и поддомена www.
Первый способ: Перенаправление, когда вы открываете xss.pro , вы перенаправляетесь, например, на www.xss.pro. В этом случае записи DNS, очевидно, отличаются.
Второй способ: они одинаковы. Здесь используется запись CNAME, независимо от того, открываете ли вы xss.pro или www.xss.pro страница будет такой же, как при использовании CNAME.

Первый способ используется в большинстве мест, например google.com. Второй способ не так распространен, он есть в ilo.org например.

Независимо от того, открываете ли вы https://ilo.org/global/lang--en/index.htm или https://www.ilo.org/global/lang--en/index.htm , вы получите тот же результат.

Во-первых, мы проверяем записи ilo.org
1.png

Изображение [1]​

Теперь мы проверяем www.ilo.org и видим, что у него есть CNAME, указывающий на www2019.ilo.org - у которого запись A такая же, как в ilo.org
2.png

Изображение [2]

3.png

Изображение [3]​

Теперь, когда кто-то пытается получить доступ к "www.ilo.org," распознаватель DNS сначала просматривает запись CNAME, а затем использует связанное с ней каноническое имя "www2019.ilo.org " чтобы получить соответствующий IP-адрес.

Что за странная атака?​

Таким образом, это зависит исключительно от того факта, что кто-то забыл изменить записи, а другой может просто каким-то образом получить эти записи?На самом деле, да...

Компании используют сторонние сервисы, такие как Wordpress, AWS, Airee и другие. Они добавляют записи CNAME. Теперь представьте, что компания больше не использует поддомен, и они просто удаляют свой профиль или удаляют домен из своего профиля (aws/airee), поскольку он больше не нужен, но забывают удалить запись CNAME. Хакер просто зарегистрируется на AWS и добавит домен, так как будто он принадлежит хакеру.

Почему сервисы не запрашивают подтверждение, как это делает Google с TXT записью?
Они это делают, но просят добавить запись CNAME, которая уже была добавлена компанией. Единственное, что нужно сделать хакеру, это зарегистрироваться, добавить домен и вуаля.

Лаборатории​

Для этой атаки нет лабораторий. Только случаи, которые произошли. Давайте начнем с моего случая и продолжим дальше. Итак, как обычно, я стажер, которому нечего делать, и я вместе с одним из моих приятелей. Итак, он приходит ко мне и говорит: "Чувак, наш поддомен взломали и проиндексировали" (как в американских киношках). С того дня и по сей день я ненавижу слово "индекс". Вы можете спросить меня "Где ваши старшие хакеры?", вы мне не поверите, но у ред тима был отпуск, за исключением стажеров. Итак, это были 2 стажера-пентестера и синие (blue team). Мы подумали, что кто-то нашел способ загрузить файл index.html, потому что наши серверы не были взломаны, и это был простой блог-сайт. Проблема в том, что на сайте была только 1 страница с текстом "взломан", а админ-панель даже не была доступна. Итак, мы проверили записи и поняли, что веб-сайт был размещен на стороннем сервисе с указанием CNAME на него. Просто отправили запрос чтобы те убрали запись и проблема исправлена.

Проблемой в большинстве компаний является отсутствие коммуникации между отделом разработки, операционной деятельностью и службой безопасности. Вот причина, по которой, даже если мы являемся важной частью компании, мы понятия не имели, где размещается этот домен.

Меньше обо мне, больше о делах. В hackerone есть тонны отчетов о захвате поддоменов, а также инструментов и т.д. Давайте проверим 2 случая и инструмент.

История захвата турецкого поддомена Mercedes, который индексируется Google.
Так.... Мы гуглим “Mercedes Subdomain Takeover”


4.png

Изображение [4]

5.png

Изображение [5]


Действительно ли основной домен принадлежит Mercedes?
6.png

Изображение [6]​

Как это произошло?
Компания использовала Microsoft Azure и, похоже, после того, как поддомен стал бесполезен, перестала его использовать и, вероятно, удалила домен из учетной записи. Хакер зарегистрировал и добавил домен. Вуаля

7.png

Изображение [7]​

Обнаружит ли это наш инструмент?

8.png

Изображение [8]​

Захват поддомена, где уязвимость была обнаружена в сторонней компании.
Хакер смог завладеть доменом info.hacker.one. В этом случае - https://hackerone.com/reports/202767 у стороннего сервиса был 0day, который был обнаружен хакером. Хакер обнаружил уязвимость в их "API, который позволяет любому пользователю претендовать на любой домен с записью DNS, указывающей на -> unbouncepages.com" Я расскажу вам, почему я также привел этот короткий
пример.

Инструмент​

Я пишу это не для того, чтобы объяснить, почему мой инструмент "круче" других. Я пишу это, чтобы объяснить разницу, которую я сделал, потому что я ленивый и не разработчик.

SubJack - https://github.com/haccer/subjack
Fingerprints - это список, который помогает обнаружить уязвимость, последний раз обновлявшийся в этом репозитории 3 года назад. Он устарел. Кроме того, fingerprints, которые они использовали, относятся не к записям, а к содержимому сайта при открытии домена. Содержимое может меняться со временем, они могут оставить пустую страницу и просто код статуса 500.


9.png

Изображение [9]

10.png

Изображение [10]

ItsOver - https://github.com/SaadAhmedx/Subdomain-Takeover
Выглядит великолепно, написано на python и обновлено 6 м есяцев назад. Итак, я проверил код, к сожалению, он использует постоянные fingerprint, которые проверяют содержимое веб-сайта, но не записи DNS. Та же логика и, возможно, "ошибка", что и выше,


11.png

Изображение [11]

12.png

Изображение [12]


SubOver - https://github.com/Ice3man543/SubOver
Обновлено 5 лет назад? Проходим мимо - Они также используют постоянный список fingerprint.

13.png

Изображение [13]​

Zaxvat (Захват)​

Ссылка: https://xss.pro/threads/102053/
Обновления от - https://github.com/EdOverflow/can-i-take-over-xyz - так что, даже если я умру от передозировки кофеина, мой инструмент будет в актуальном состоянии. Единственный случай, в котором он перестанет работать должным образом, - это если "can-i-take-over-xyz" будет закрыт. И даже в этом случае вы можете просто добавить URL-адрес в любого другого файлa .json, и он будет извлекать данные оттуда.

Функция main служит точкой входа в программу, первоначально проверяя правильное количество аргументов командной строки. В случае недостаточного количества аргументов он выводит правильное использование и завершает работу программы. Впоследствии основная функция извлекает fingerprint с помощью функции getFingerprints и проверяет наличие любых ошибок. После этого выводится сообщение, указывающее на процесс проверки уязвимости программой для указанного домена, и вызывается функция checkVulnerability.

Функция getFingerprints, ответственная за получение отпечатков пальцев, выполняет запрос к файлу JSON. Затем тело ответа размешивается в фрагмент структур отпечатков пальцев с использованием пакета "encoding/json".

Функция checkVulnerability, принимающая домен и фрагмент отпечатков пальцев в качестве входных данных, инициируется путем извлечения CNAME для указанного домена с помощью функции getCNAME. Впоследствии он выполняет итерацию по каждому отпечатку пальца, сравнивая CNAME домена со значениями CNAME в отпечатках пальцев. При обнаружении совпадения он выводит информацию об уязвимой службе, включая название службы, статус, обсуждение и документацию.

Функция getCNAME, использующая пакет "net", выполняет поиск в DNS для получения записи CNAME для указанного домена.

Обсуждение - это обсуждение, в ходе которого люди делятся своим опытом работы с сервисом и пытаются понять, уязвим ли он для захвата поддомена или нет. Также в будущем, если однажды сервис больше не будет уязвим, люди напишут об этом в разделе "обсуждение", и отпечатки пальцев будут изменены.

Автор grozdniyandy

Источник https://xss.pro/​

 
Последнее редактирование:
ItsOver - https://github.com/SaadAhmedx/Subdomain-Takeover
Выглядит великолепно, написано на python и обновлено 6 м есяцев назад. Итак, я проверил код, к сожалению, он использует постоянные fingerprint, которые проверяют содержимое веб-сайта, но не записи DNS. Та же логика и, возможно, "ошибка", что и выше,
...
SubOver - https://github.com/Ice3man543/SubOver
Обновлено 5 лет назад? Проходим мимо - Они также используют постоянный список fingerprint.
...
этот "подходящий" пример точно так же использует фиксированный список fingerprint с содержимым сайта, как и "неподходящие" примеры выше.

Код:
    "fingerprint": "NXDOMAIN",
    "fingerprint": "NXDOMAIN",
    "fingerprint": "The specified bucket does not exist",
    "fingerprint": "Web Site Not Found",
    "fingerprint": "Sorry, this page is no longer available.",
    "fingerprint": "\u041e\u0448\u0438\u0431\u043a\u0430 402. \u0421\u0435\u0440\u0432\u0438\u0441 \u0410\u0439\u0440\u0438.\u0440\u0444 \u043d\u0435 \u043e\u043f\u043b\u0430\u0447\u0435\u043d",
    "fingerprint": "",
    "fingerprint": "The page you were looking for does not exist.",
    "fingerprint": "Repository not found",
    "fingerprint": "Trying to access your account?",
    "fingerprint": "Company Not Found` `There is no such company. Did you enter the right URL?",
    "fingerprint": "404 Not Found",
    "fingerprint": "ViewerCertificateException",
    "fingerprint": "Please try again or try Desk.com free for 14 days.",
    "fingerprint": "Domain uses DO name servers with no records in DO.",
    "fingerprint": "NXDOMAIN",
    "fingerprint": "Site Not Found Well, this is awkward. The site you're looking for is not here.",
    "fingerprint": "Fastly error: unknown domain:",
    "fingerprint": "The feed has not been found.",
    "fingerprint": "",
    "fingerprint": "404 Not Found",
    "fingerprint": "We couldn't find servicedesk.victim.tld Maybe this is still fresh! You can claim it now at http://www.freshservice.com/signup",
    "fingerprint": "404 - Page Not Found` `Oops\u2026 looks like you got lost",
    "fingerprint": "404: This page could not be found.",
    "fingerprint": "With GetResponse Landing Pages, lead generation has never been easier",
    "fingerprint": "Site unavailable\\.|Failed to resolve DNS path for this host",
    "fingerprint": "There isn't a GitHub Pages site here.",
    "fingerprint": "",
    "fingerprint": "<?xml version='1.0' encoding='UTF-8'?><Error><Code>NoSuchBucket</Code><Message>The specified bucket does not exist.</Message></Error>",
    "fingerprint": "The requested URL was not found on this server. That\u2019s all we know.",
    "fingerprint": "404 Blog is not found",
    "fingerprint": "We could not find what you're looking for.",
    "fingerprint": "No settings were found for this company:",
    "fingerprint": "HTTP_STATUS=301",
    "fingerprint": "No such app",
    "fingerprint": "This page isn't available",
    "fingerprint": "",
    "fingerprint": "Uh oh. That page doesn't exist.",
    "fingerprint": "is not a registered InCloud YouTrack",
    "fingerprint": "",
    "fingerprint": "No Site For Domain",
    "fingerprint": "It looks like you\u2019re lost...",
    "fingerprint": "HTTP_STATUS=500",
    "fingerprint": "We can't find that page It looks like you're trying to reach a page that was built by Mailchimp but is no longer active.",
    "fingerprint": "Unrecognized domain",
    "fingerprint": "NXDOMAIN",
    "fingerprint": "Not Found - Request ID:",
    "fingerprint": "Tunnel .*.ngrok.io not found",
    "fingerprint": "404 error unknown site!",
    "fingerprint": "Sorry, couldn't find the status page",
    "fingerprint": "The creators of this project are still working on making everything perfect!",
    "fingerprint": "The link you have followed or the URL that you entered does not exist.",
    "fingerprint": "",
    "fingerprint": "Sorry, this shop is currently unavailable.",
    "fingerprint": "Link does not exist",
    "fingerprint": "This job board website is either expired or its domain name is invalid.",
    "fingerprint": "Domain is not configured",
    "fingerprint": "",
    "fingerprint": "",
    "fingerprint": "",
    "fingerprint": "PAGE NOT FOUND.",
    "fingerprint": "project not found",
    "fingerprint": "Account not found.",
    "fingerprint": "Please renew your subscription",
    "fingerprint": "Whatever you were looking for doesn't currently exist at this address",
    "fingerprint": "The URL you've accessed does not provide a hub.",
    "fingerprint": "The requested URL was not found on this server.",
    "fingerprint": "page not found",
    "fingerprint": "This UserVoice subdomain is currently available!",
    "fingerprint": "DEPLOYMENT_NOT_FOUND.",
    "fingerprint": "",
    "fingerprint": "The page you are looking for doesn't exist or has been moved.",
    "fingerprint": "Looks Like This Domain Isn't Connected To A Website Yet!",
    "fingerprint": "Do you want to register .*.wordpress.com?",
    "fingerprint": "Hello! Sorry, but the website you&rsquo;re looking for doesn&rsquo;t exist.",
    "fingerprint": "Help Center Closed",

NXDOMAIN - 4 строки из 76, или 5% от всех перечисленных фингерпринтов.
 
...

...

этот "подходящий" пример точно так же использует фиксированный список fingerprint с содержимым сайта, как и "неподходящие" примеры выше.

Код:
    "fingerprint": "NXDOMAIN",
    "fingerprint": "NXDOMAIN",
    "fingerprint": "The specified bucket does not exist",
    "fingerprint": "Web Site Not Found",
    "fingerprint": "Sorry, this page is no longer available.",
    "fingerprint": "\u041e\u0448\u0438\u0431\u043a\u0430 402. \u0421\u0435\u0440\u0432\u0438\u0441 \u0410\u0439\u0440\u0438.\u0440\u0444 \u043d\u0435 \u043e\u043f\u043b\u0430\u0447\u0435\u043d",
    "fingerprint": "",
    "fingerprint": "The page you were looking for does not exist.",
    "fingerprint": "Repository not found",
    "fingerprint": "Trying to access your account?",
    "fingerprint": "Company Not Found` `There is no such company. Did you enter the right URL?",
    "fingerprint": "404 Not Found",
    "fingerprint": "ViewerCertificateException",
    "fingerprint": "Please try again or try Desk.com free for 14 days.",
    "fingerprint": "Domain uses DO name servers with no records in DO.",
    "fingerprint": "NXDOMAIN",
    "fingerprint": "Site Not Found Well, this is awkward. The site you're looking for is not here.",
    "fingerprint": "Fastly error: unknown domain:",
    "fingerprint": "The feed has not been found.",
    "fingerprint": "",
    "fingerprint": "404 Not Found",
    "fingerprint": "We couldn't find servicedesk.victim.tld Maybe this is still fresh! You can claim it now at http://www.freshservice.com/signup",
    "fingerprint": "404 - Page Not Found` `Oops\u2026 looks like you got lost",
    "fingerprint": "404: This page could not be found.",
    "fingerprint": "With GetResponse Landing Pages, lead generation has never been easier",
    "fingerprint": "Site unavailable\\.&#124;Failed to resolve DNS path for this host",
    "fingerprint": "There isn't a GitHub Pages site here.",
    "fingerprint": "",
    "fingerprint": "<?xml version='1.0' encoding='UTF-8'?><Error><Code>NoSuchBucket</Code><Message>The specified bucket does not exist.</Message></Error>",
    "fingerprint": "The requested URL was not found on this server. That\u2019s all we know.",
    "fingerprint": "404 Blog is not found",
    "fingerprint": "We could not find what you're looking for.",
    "fingerprint": "No settings were found for this company:",
    "fingerprint": "HTTP_STATUS=301",
    "fingerprint": "No such app",
    "fingerprint": "This page isn't available",
    "fingerprint": "",
    "fingerprint": "Uh oh. That page doesn't exist.",
    "fingerprint": "is not a registered InCloud YouTrack",
    "fingerprint": "",
    "fingerprint": "No Site For Domain",
    "fingerprint": "It looks like you\u2019re lost...",
    "fingerprint": "HTTP_STATUS=500",
    "fingerprint": "We can't find that page It looks like you're trying to reach a page that was built by Mailchimp but is no longer active.",
    "fingerprint": "Unrecognized domain",
    "fingerprint": "NXDOMAIN",
    "fingerprint": "Not Found - Request ID:",
    "fingerprint": "Tunnel .*.ngrok.io not found",
    "fingerprint": "404 error unknown site!",
    "fingerprint": "Sorry, couldn't find the status page",
    "fingerprint": "The creators of this project are still working on making everything perfect!",
    "fingerprint": "The link you have followed or the URL that you entered does not exist.",
    "fingerprint": "",
    "fingerprint": "Sorry, this shop is currently unavailable.",
    "fingerprint": "Link does not exist",
    "fingerprint": "This job board website is either expired or its domain name is invalid.",
    "fingerprint": "Domain is not configured",
    "fingerprint": "",
    "fingerprint": "",
    "fingerprint": "",
    "fingerprint": "PAGE NOT FOUND.",
    "fingerprint": "project not found",
    "fingerprint": "Account not found.",
    "fingerprint": "Please renew your subscription",
    "fingerprint": "Whatever you were looking for doesn't currently exist at this address",
    "fingerprint": "The URL you've accessed does not provide a hub.",
    "fingerprint": "The requested URL was not found on this server.",
    "fingerprint": "page not found",
    "fingerprint": "This UserVoice subdomain is currently available!",
    "fingerprint": "DEPLOYMENT_NOT_FOUND.",
    "fingerprint": "",
    "fingerprint": "The page you are looking for doesn't exist or has been moved.",
    "fingerprint": "Looks Like This Domain Isn't Connected To A Website Yet!",
    "fingerprint": "Do you want to register .*.wordpress.com?",
    "fingerprint": "Hello! Sorry, but the website you&rsquo;re looking for doesn&rsquo;t exist.",
    "fingerprint": "Help Center Closed",

NXDOMAIN - 4 строки из 76, или 5% от всех перечисленных фингерпринтов.
Этот пример это не «инструмент» это репо как раз для этого и полагается не только на тот «фингерпринт» а также на cname. Я как раз поставил чек с cname. Прошу чекнуть инструмент и убрать кавычки.

Пиши с уважением автору.
 
Этот пример это не «инструмент» это репо как раз для этого и полагается не только на тот «фингерпринт» а также на cname. Я как раз поставил чек с cname. Прошу чекнуть инструмент и убрать кавычки.

Пиши с уважением автору.
да, действительно, увидел в твоём коде
Код:
func checkVulnerability(domain string, fingerprints []Fingerprint) {
    cname, err := getCNAME(domain)
    if err != nil {
        log.Fatalf("Error fetching CNAME for %s: %v\n", domain, err)
    }

    fmt.Printf("CNAME for %s: %s\n", domain, cname)

    for _, fp := range fingerprints {
        for _, fpCname := range fp.CNAME {
            if strings.Contains(cname, fpCname) {
                fmt.Printf("CNAME for %s matches with a service in the list:\n", domain)
                ...

итого проверяется 26 сервисов, из интересных вижу только Azure, Discourse и Wordpress, остальные намного менее популярны.


Код:
service: AWS/Elastic Beanstalk
cname:
elasticbeanstalk.com

service: AWS/S3
cname:
s3.amazonaws.com

service: Agile CRM
cname:
agilecrm.com

service: Airee.ru
cname:
airee.ru

service: Anima
cname:
animaapp.io

service: Bitbucket
cname:
bitbucket.io

service: Discourse
cname:
trydiscourse.com

service: Gemfury
cname:
furyns.com

service: Ghost
cname:
ghost.io

service: HatenaBlog
cname:
hatenablog.com

service: Help Juice
cname:
helpjuice.com

service: Help Scout
cname:
helpscoutdocs.com

service: Helprace
cname:
helprace.com

service: JetBrains
cname:
youtrack.cloud

service: LaunchRock
cname:
launchrock.com

service: Microsoft Azure
cname:
cloudapp.net
cloudapp.azure.com
azurewebsites.net
blob.core.windows.net
cloudapp.azure.com
azure-api.net
azurehdinsight.net
azureedge.net
azurecontainer.io
database.windows.net
azuredatalakestore.net
search.windows.net
azurecr.io
redis.cache.windows.net
azurehdinsight.net
servicebus.windows.net
visualstudio.com

service: Ngrok
cname:
ngrok.io

service: Readme.io
cname:
readme.io

service: SmartJobBoard
cname:
52.16.160.97

service: Strikingly
cname:
s.strikinglydns.com

service: Surge.sh
cname:
na-west1.surge.sh

service: SurveySparrow
cname:
surveysparrow.com

service: Uberflip
cname:
read.uberflip.com

service: Uptimerobot
cname:
stats.uptimerobot.com

service: Wordpress
cname:
wordpress.com

service: Worksites
cname:
worksites.net
69.164.223.206
 
да, действительно, увидел в твоём коде
Рад что понравилось! Очень приятно когда пользователям приятно то что я делаю.
 

Domain takeover​

​If you discover some domain (domain.tld) that is being used by some service inside the scope but the company has lost the ownership of it, you can try to register it (if cheap enough) and let know the company. If this domain is receiving some sensitive information like a sessions cookie via GET parameter or in the Referer header, this is for sure a vulnerability.

Subdomain takeover​

A subdomain of the company is pointing to a third-party service with a name not registered. If you can create an account in this third party service and register the name being in use, you can perform the subdomain take over.
There are several tools with dictionaries to check for possible takeovers:

Scanning for Hijackable Subdomains with BBOT:​

Subdomain takeover checks are included in BBOT's default subdomain enumeration. Signatures are pulled directly from https://github.com/EdOverflow/can-i-take-over-xyz.

bbot -t evilcorp.com -f subdomain-enum

..............

и тд. Автор - https://twitter.com/0xpatrik


https://book.hacktricks.xyz/pentesting-web/domain-subdomain-takeover

2019 г или ранее
 

Domain takeover​

If you discover some domain (domain.tld) that is being used by some service inside the scope but the company has lost the ownership of it, you can try to register it (if cheap enough) and let know the company. If this domain is receiving some sensitive information like a sessions cookie via GET parameter or in the Referer header, this is for sure a vulnerability.

Subdomain takeover​

A subdomain of the company is pointing to a third-party service with a name not registered. If you can create an account in this third party service and register the name being in use, you can perform the subdomain take over.
There are several tools with dictionaries to check for possible takeovers:

Scanning for Hijackable Subdomains with BBOT:​

Subdomain takeover checks are included in BBOT's default subdomain enumeration. Signatures are pulled directly from https://github.com/EdOverflow/can-i-take-over-xyz.

bbot -t evilcorp.com -f subdomain-enum

..............

и тд. Автор - https://twitter.com/0xpatrik


https://book.hacktricks.xyz/pentesting-web/domain-subdomain-takeover

2019 г или ранее
Шпаргалка хорошая, всегда хвалю хектрикс, но к статье отношения не имеет (исключая темы конечно же).
 
Обновления от - https://github.com/EdOverflow/can-i-take-over-xyz - так что, даже если я умру от передозировки кофеина,

но к статье отношения не имеет

можно пояснить это

There are several tools with dictionaries to check for possible takeovers:

это чье?
Если я вижу, что на скрипты претендует два автора - возникает некоторый когнитивный диссонанс, мягко выражаясь...

И вообще - активность хорошо, с интересом пробежалась по содержанию, я даже , скорее всего, вникну в саму тему, ибо постоянно связана с доменами, в разных планах....
смущает сейчас только авторство.

Сюда же, до кучи
 
можно пояснить это



это чье?
Если я вижу, что на скрипты претендует два автора - возникает некоторый когнитивный диссонанс, мягко выражаясь...

И вообще - активность хорошо, с интересом пробежалась по содержанию, я даже , скорее всего, вникну в саму тему, ибо постоянно связана с доменами, в разных планах....
смущает сейчас только авторство.

Сюда же, до кучи
Ты либо не знаешь что означает статья, либо не знаешь что такое гитхаб. Если статья, либо проект был бы не авторским, зачем форуму за это платить?

Если серьезно считаешь что я у меня копи-паст, перевод или что то еще, отпиши жалобу. Таким образом и спама не будет и если окажешься прав(а), то будет помощь форуму, меньше таким "мошенникам" как я платить будут и в бан уйдем.
 
ы либо не знаешь что означает статья, либо не знаешь что такое гитхаб. Если статья, либо проект был бы не авторским, зачем форуму за это платить?
я знаю что такое перехват доменов, игры с резолвингом, добыча уника с дропов. Да и тема в 2020 подымалась намного изощренней чем сейчас.
Я проверила, что статья не конкурсная, и малину не сломаю, а вто то что она оплачена, я не знала...думала, вдруг ты бесплатно написал xD
Раньше статьи бесплатно писали. и детей, к слову, бесплатно рожали, а не для "получения материнского капитала".

Если серьезно считаешь что я у меня копи-паст, перевод или что то еще, отпиши жалобу. Таким образом и спама не будет и если окажешься прав(а), то будет помощь форуму, меньше таким "мошенникам" как я платить будут и в бан уйдем.

Не считаю, но предполагаю, что так. Но это для меня несерьезно. Так, рожки немножко подтупить))
Экономии админских денег в планах нет.
Интересней расширение и углубление темы.

Ну и не забывай. Все за всеми следят...
Будет время, детальней буду разбираться во всем, что здесь изложено.
 
Не считаю, но предполагаю, что так. Но это для меня несерьезно. Так, рожки немножко подтупить))
Ты не первый(ая) с такими предположениями. Я их без ответов не оставляю, но люблю когда есть основа, желательно техническая, чтобы это было не "ссора", а объяснение того что мог бы не понять читатель.

Например то что выше написал Дред, тех. недопонимание на что я и ответил.

Ну ты хорош(а) что не настаиваешь на своем и пишешь что предполагаешь (За это респект)

Что касается платы статей, я стараюсь развиваться на этом форуме и тем самым внести положительный вклад. На данный момент я живу на плате от статей и не скрывал/ю это. Также это дает мне неплохую репутацию если честно.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх