Введение
Gobuster — это мощный инструмент, используемый для брутфорс-атаки на URI (каталоги и файлы), поддомены DNS, бакеты Amazon S3 и многое другое. В контексте кибербезопасности и тестирования на проникновение обнаружение поддоменов является критически важным шагом на этапе разведки. Знание IP-адресов, связанных с этими поддоменами, может предоставить ценную информацию об инфраструктуре сети организации, помогая выявить потенциальные векторы атак или неправильные конфигурации.
Эта лабораторная работа проведет вас через использование Gobuster для перечисления поддоменов DNS. В частности, вы узнаете, как использовать определенный флаг для отображения IP-адресов вместе с обнаруженными поддоменами, что повысит вашу способность эффективно картировать инфраструктуру цели.
Запуск базового сканирования DNS с помощью gobuster
На этом шаге вы выполните базовое сканирование поддоменов DNS с помощью Gobuster. Это продемонстрирует вывод по умолчанию при сканировании DNS, который обычно включает только обнаруженные поддомены без соответствующих им IP-адресов. В качестве целевого домена мы будем использовать example.com и распространенный список слов для поддоменов.
Сначала убедитесь, что Gobuster установлен. Если нет, вы можете установить его с помощью sudo apt install gobuster.
Теперь выполните следующую команду в терминале:
gobuster dns -d example.com -w /usr/share/wordlists/dirb/common.txt -q
gobuster dns: Указывает, что мы хотим выполнить сканирование поддоменов DNS.-d example.com: Устанавливаетexample.comв качестве целевого домена.-w /usr/share/wordlists/dirb/common.txt: Указывает список слов (wordlist), который будет использоваться для брутфорс-атаки на поддомены. Это распространенный список слов, доступный во многих дистрибутивах Linux.-q: Подавляет баннер и вывод прогресса, отображая только результаты.
Вы увидите список поддоменов, найденных для example.com. Обратите внимание, что отображаются только имена поддоменов.
Found: www.example.com
Found: mail.example.com
Found: ftp.example.com
Found: blog.example.com
Found: dev.example.com
Повторный запуск сканирования с флагом -i
На этом шаге вы повторно запустите сканирование DNS с помощью Gobuster, но на этот раз вы включите флаг -i. Флаг -i указывает Gobuster отображать IP-адреса, связанные с каждым обнаруженным поддоменом. Это крайне важно для получения более полной картины инфраструктуры цели.
Выполните следующую команду в терминале:
gobuster dns -d example.com -w /usr/share/wordlists/dirb/common.txt -i -q
Единственное отличие от предыдущей команды — добавление флага -i.
Внимательно наблюдайте за выводом. Теперь вы должны увидеть IP-адреса, перечисленные рядом с каждым обнаруженным поддоменом.
Found: www.example.com (93.184.216.34)
Found: mail.example.com (93.184.216.34)
Found: ftp.example.com (93.184.216.34)
Found: blog.example.com (93.184.216.34)
Found: dev.example.com (93.184.216.34)
IP-адреса, показанные здесь, принадлежат example.com, который обычно указывает на один IP-адрес для всех своих поддоменов в демонстрационных целях. В реальном сценарии вы можете увидеть разные IP-адреса для разных поддоменов, что указывает на разные серверы или службы.
Сравнение вывода с флагом -i и без него
На этом шаге вы визуально сравните вывод двух предыдущих команд Gobuster. Это сравнение подчеркнет существенную разницу, которую флаг -i вносит в процесс разведки.
Вспомните вывод из Шага 1 (без -i):
Found: www.example.com
Found: mail.example.com
Found: ftp.example.com
Found: blog.example.com
Found: dev.example.com
И вывод из Шага 2 (с -i):
Found: www.example.com (93.184.216.34)
Found: mail.example.com (93.184.216.34)
Found: ftp.example.com (93.184.216.34)
Found: blog.example.com (93.184.216.34)
Found: dev.example.com (93.184.216.34)
Ключевое отличие заключается в наличии (IP_ADDRESS) рядом с каждым поддоменом при использовании флага -i. Эта дополнительная информация имеет решающее значение для понимания базовой инфраструктуры. Без IP-адресов вы знаете только имена поддоменов. С ними вы знаете, куда разрешаются эти поддомены, что может указывать на конкретные серверы, облачные службы или различные части сети.
Это сравнение демонстрирует, как простой флаг может значительно повысить полезность ваших усилий по разведке.
Определение IP-адресов, связанных с каждым поддоменом
На этом шаге вы специально определите и запишете IP-адреса, связанные с поддоменами, обнаруженными на предыдущем шаге. Хотя example.com может показывать один и тот же IP для всех поддоменов, в реальном сценарии этот шаг будет включать определение потенциально различных IP-адресов.
Из вывода команды на Шаге 2:
Found: www.example.com (93.184.216.34)
Found: mail.example.com (93.184.216.34)
Found: ftp.example.com (93.184.216.34)
Found: blog.example.com (93.184.216.34)
Found: dev.example.com (93.184.216.34)
Вы можете видеть, что для example.com все перечисленные поддомены разрешаются в IP-адрес 93.184.216.34.
В реальном сценарии разведки, если бы вы сканировали другой домен, вы могли бы обнаружить:
sub1.target.comразрешается в192.168.1.10sub2.target.comразрешается в192.168.1.11cdn.target.comразрешается в203.0.113.50(IP CDN)admin.target.comразрешается в10.0.0.5(внутренний IP, если он раскрыт)
Определение этих различных IP-адресов помогает в:
- Идентификации серверов (Server Fingerprinting): Различные IP-адреса могут указывать на разные серверы, операционные системы или программное обеспечение веб-сервера.
- Идентификации облачных служб: IP-адреса, принадлежащие известным облачным провайдерам (AWS, Azure, GCP), могут выявить использование конкретных облачных служб.
- Сегментации сети: Различные диапазоны IP-адресов могут указывать на разные сетевые сегменты или отделы внутри организации.
Этот шаг подчеркивает важность не только поиска поддоменов, но и понимания их сетевого расположения.
Понимание того, как это помогает в картировании инфраструктуры
На этом заключительном шаге вы поймете более широкие последствия отображения IP-адресов в результатах сканирования DNS, в частности, как это помогает в картировании инфраструктуры во время разведки.
Картирование инфраструктуры — это процесс создания подробной схемы или понимания сети и систем цели. Объединяя перечисление поддоменов с разрешением IP-адресов, вы получаете несколько преимуществ:
- Идентификация хостинг-провайдеров: Различные диапазоны IP-адресов часто принадлежат разным хостинг-провайдерам (например, AWS, Google Cloud, DigitalOcean). Знание этого может помочь вам понять, где размещены различные части инфраструктуры организации.
- Обнаружение скрытых служб: Иногда поддомены могут указывать на внутренние или менее известные службы, которые не связаны напрямую с основным веб-сайтом. Разрешение их IP-адресов может показать, находятся ли они на том же сервере, на другом сервере или даже в другом сетевом сегменте.
- Определение поверхностей атаки: Если несколько поддоменов разрешаются в один и тот же IP-адрес, это может указывать на один сервер, на котором размещено несколько служб, что потенциально консолидирует векторы атаки. И наоборот, различные IP-адреса предполагают распределенные службы, каждая со своими потенциальными уязвимостями.
- Обход WAF/CDN: Если основной домен находится за межсетевым экраном веб-приложений (WAF) или сетью доставки контента (CDN), поиск поддоменов, которые разрешаются в исходный IP-адрес (фактический IP-адрес сервера), может позволить вам обойти WAF/CDN и напрямую взаимодействовать с сервером.
- Анализ сегментации сети: Различные блоки IP-адресов могут указывать на разные отделы, географические местоположения или сетевые сегменты в организации. Это помогает понять внутреннюю структуру сети цели.
Используя флаг -i с Gobuster, вы превращаете простой список поддоменов в ценную информацию об инфраструктуре, значительно расширяя ваши возможности разведки. Эта информация имеет решающее значение для планирования последующих этапов тестирования на проникновение, таких как сканирование портов, анализ уязвимостей и целевые атаки.
Резюме
В этой лабораторной работе вы научились эффективно использовать Gobuster для перечисления поддоменов DNS и, что более важно, как отображать связанные IP-адреса для каждого обнаруженного поддомена. Вы начали с выполнения базового сканирования DNS с помощью Gobuster, наблюдали его вывод по умолчанию, а затем повторно запустили сканирование с флагом -i, чтобы включить IP-адреса. Сравнивая, вы поняли критическую разницу, которую дает этот флаг. Наконец, вы изучили, как идентификация этих IP-адресов является основой для комплексного картирования инфраструктуры и разведки в области кибербезопасности. Этот навык бесценен для получения более глубокого понимания сетевого ландшафта цели и выявления потенциальных поверхностей атаки.
