Специалисту необходимо уметь пользоваться инструментами для перечисления поддоменов, так как на этапе разведки поддомены могут рассказать много полезного о цели и указать на уязвимости, которые можно использовать для взлома.
Когда дело доходит до пентеста веб-приложений, важным аспектом этапа разведки является обнаружение поддоменов. Прежде чем погрузиться в настоящее тестирование на проникновение, очень важно перечислить поддомены, чтобы лучше понять объем проекта. Важно определить, какие домены могут выявить уязвимости.
В этой статье мы рассмотрим некоторые бесплатные инструменты Linux, которые могут помочь в процессе перечисления поддоменов.
Поддомен служит расширением основного домена веб-сайта, организуя различные разделы сайта. В структуре домена сайта есть две основные части: домен верхнего уровня (top-level domain, TLD) и домен второго уровня (second-level domain, SLD).
Рассмотрим пример сайта SecurityLab с доменом securitylab.ru. В этом случае TLD-доменом служит «.ru», а SLD — «securitylab». Теперь, если бы на сайте был специальный раздел для партнерских отношений, поддомен для этого раздела можно было бы назвать «partnerships», тогда полный URL-адрес будет выглядеть так: «partnerships.securitylab.ru».
Этап разведки предназначен для сбора информации об архитектуре и инфраструктуре целевого веб-сайта.
Очень важно иметь хорошие навыки разведки, особенно в тестах на проникновение методом «черного ящика» (Black Box Testing), когда у вас мало или совсем нет информации о тестируемом приложении.
Существует 2 типа разведки: активная разведка и пассивная разведка. Активная разведка включает в себя сканирование портов, снятие отпечатков служб и сканирование сети для обнаружения открытых портов.
Пассивная разведка включает в себя сбор общедоступной информации о цели, такой как доменные имена, поддомены, IP-адреса и т. д. Оба типа разведки необходимы для создания хорошей основы для успешного теста на проникновение.
Перечисление поддоменов выполняется очень просто благодаря многочисленным инструментам с открытым исходным кодом. Вот несколько бесплатных инструментов, которые вы можете использовать:
1. Sublist3r
Sublist3r — популярный инструмент на основе Python, используемый для перечисления поддоменов. Инструмент использует поисковые системы Google, Yahoo и Bing для обнаружения действительных поддоменов, существующих в приложении.
Чтобы установить Sublist3r на ваш ПК с Linux, запустите:
sudo pip install sublist3r
Убедитесь, что у вас установлены Python и Pip заранее. Если они у вас не установлены, установите пакеты, используя:
sudo apt install python3 python3-pip
Для Arch Linux:
sudo pacman python3 python-pip
В RHEL и Fedora:
sudo dnf install python3 python3-pip
Кроме того, вы можете создать копию репозитория Git на локальном компьютере, клонировав его. Введите это в свой терминал и выполните:
git clone https://github.com/aboul3la/Sublist3r.git
Затем установите необходимые зависимости, запустив:
sudo pip install -r requirements.txt
Чтобы использовать Sublist3r для сканирования доменов, вы должны указать целевой домен с помощью тега -d или --domain:
sublist3r -d exampledomain.com
Также вы можете указать используемую поисковую систему, количество потоков и даже интересующие вас порты. Для получения дополнительной информации о доступных параметрах проверьте страницу руководства, выполнив:
sublist3r --help
2. Amass
Amass — это инструмент с открытым исходным кодом, разработанный Open Web Application Security Project (OWASP) для сбора информации. ИБ-специалисты используют Amass для перечисления доменов и поддоменов, сопоставления сетей, перечисления DNS и т. д.
OWASP Amass предустановлен в последних версиях Kali Linux. Но если у вас нет этого инструмента, вы можете установить его, выполнив:
sudo apt install amass
Или вы можете установить Amass с помощью руководства по установке на странице Amass на GitHub.
Чтобы использовать Amass для перечисления доменов, выполните эту команду:
amass enum -d exampledomain.com
Команда «enum» указывает Amass выполнить перечисление доменов, а флаг -d указывает целевой домен.
Чтобы получить дополнительные параметры командной строки или информацию об Amass, запустите:
amass enum --help
3. DNSRecon
DNSRecon — это инструмент перечисления DNS, который может выполнять различные запросы, в том числе брутфорс доменов (brute-force) и reverse lookups. Это очень популярный и универсальный инструмент, используемый пентестерами на этапе сбора информации.
Чтобы установить DNSRecon на Kali Linux, выполните:
sudo apt install dnsrecon
В других дистрибутивах Linux вы можете установить DNSRecon, клонировав его репозиторий Git:
git clone https://github.com/darkoperator/dnsrecon.git
Сначала установите требования с помощью python3-pip:
python3-pip install -r requirements.txt
Для поиска доменов с помощью DNSRecon выполните:
dnsrecon -d domain -t std
Флаг -d указывает целевой домен, а флаг -t std указывает стандартный режим перечисления доменов.
4. Fierce
Fierce — это инструмент разведки DNS, который также можно использовать для перечисления поддоменов. Чтобы установить Fierce на Ubuntu и Debian, запустите:
sudo apt install fierce
Другой способ установки Fierce:
python -m pip install fierce
Вы также можете клонировать репозиторий Git с помощью:
git clone https://github.com/mschwager/fierce.git
Перейдите в каталог Fever и установите требования с помощью:
python -m pip install -r requirements.txt
Чтобы перечислить домены с помощью Fierce, выполните:
fierce --domain exapmpledomain.com
Для получения дополнительной информации о том, как использовать Fierse запустите эту команду:
fierce -h
5. assetfinder
assetsfinder — это инструмент на основе Golang, используемый для перечисления поддоменов. Он обнаруживает поддомены путем поиска в различных общедоступных источниках, таких как Common Crawl, DNSdumpster и VirusTotal.
Чтобы установить этот инструмент, сначала убедитесь, что на вашем Linux установлен Golang. Затем запустите:
go get -u github.com/tomnomnom/assetfinder
В Kali Linux вы можете установить assetsfinder, запустив:
sudo apt install assetfinder
Вот синтаксис использования assetsfinder для обнаружения поддоменов:
assetfinder exampledomain.com
Для получения дополнительной информации о том, как использовать инструмент, выполните:
assetfinder -h
Существует еще больше инструментов для перечисления доменов, такие как Censys, subfinder и DNSdumpster. В Интернете доступны тысячи OSINT-инструментов, которые помогают пентестерам собирать информацию о целевом приложении. Самое примечательное в таких инструментах то, что они обычно бесплатны и просты в использовании.
Найдите инструмент, который лучше всего ходит для вашей задачи, и продолжайте исследования, чтобы открыть для себя больше жемчужин с открытым исходным кодом.
Ладно, не доказали. Но мы работаем над этим