Bug Bounty, Bug Hunting, Subdomain

#8 Bug Bounty v.2 — Простой взлом поддомена

Здравствуйте, дорогие друзья.

Другой чрезвычайно популярной уязвимостью является захват поддоменов. Несмотря на то, что эта уязвимость значительно уменьшилась, она по-прежнему очень распространена в дикой природе. Если вы не знакомы с этим типом уязвимостей, то, согласно Google, “Атаки на захват поддомена — это класс проблем безопасности, при которых злоумышленник может захватить контроль над поддоменом организации с помощью облачных сервисов, таких как AWS или Azure”.

Захват поддомена

Захват поддомена происходит, когда поддомен указывает на другой домен (ИМЯ), которого больше не существует. Если злоумышленник зарегистрирует несуществующий домен, то целевой поддомен теперь будет указывать на ваш домен, что фактически даст вам полный контроль над поддоменом цели. Что делает эту уязвимость такой интересной, так это то, что в одну минуту вы можете быть в безопасности, а в следующую минуту одно изменение DNS может сделать вас уязвимым.

одно изменение DNS может сделать вас уязвимым

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

целевой поддомен будет указывать на домен, которым управляет злоумышленник

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

https://github.com/EdOverflow/can-i-take-over-xyz

Engines

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

Захват Github
Один из самых простых способов обнаружить уязвимость, связанную с захватом поддомена, — это по сообщению об ошибке, которое оно выдает, как показано ниже:

обнаружение уязвимости по сообщению об ошибке

Как вы можете видеть выше, когда мы посещаем наш целевой сайт, он выдает код состояния 404 и выдает сообщение об ошибке “Здесь нет сайта Github Pages”. Если мы зайдем на вики-страницу о захвате поддомена, то сможем подтвердить, что это сообщение об ошибке указывает на возможность захвата поддомена.

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

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

регистрация домена через гитхаб

Как показано выше, для сбора DNS-записей уязвимого домена можно использовать команду “dig”. Мы также видим, что домен указывает на страницу github “vulntakeover.github.io”, если мы сможем зарегистрировать этот домен, мы выиграем. Чтобы разобраться в процессе регистрации домена на Github, вы можете поискать его в Google или ознакомиться с руководством на странице github, посвященной поглощению поддоменов, как показано ниже:

руководство на странице github, посвященное поглощению поддоменов

Теперь, когда мы знаем, как зарегистрировать домен на GitHub, нам просто нужно это сделать. Сначала я создал репозиторий GitHub с тем же именем, что и запись CNAME:

Сначала я создал репозиторий GitHub с тем же именем, что и запись CNAME

После этого создайте файл “index.html” в репозитории, как показано ниже:

создаем файл “index.html” в репозитории

Следующим шагом будет установка репозитория в качестве основной ветви.

установка репозитория в качестве основной ветви

Наконец, укажите целевой домен, который вы хотите получить.

Наконец, укажите целевой домен, который вы хотите получить.

Вот и все! Теперь, когда вы заходите в целевой домен, вы должны увидеть страницу, которую вы настроили.

целевая страница

Мы ПОБЕДИЛИ! Как вы можете видеть выше, мы успешно воспользовались уязвимостью, связанной с захватом поддомена, и добились того, что наша страница появилась в целевом поддомене. Обратите внимание, что это процесс для Github, и если ваша цель уязвима для чего-то другого, вам придется выполнить действия, описанные для этого провайдера. К счастью для нас, все это задокументировано на вики-странице github по захвату поддоменов.


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

На этом все. Всем хорошего дня!

Цикл статей по Bug Bounty.