Первый вопрос, который может возникнуть у вас при обсуждении перечисления DNS: “Что именно представляет собой DNS-сервер, и почему мы пытаемся перечислить информацию с этого сервера?”.
DNS серверы
Серверы DNS преобразуют доменные имена и имена хостов в соответствующие IP-адреса.
Они подобны душе Интернета, направляя доменное имя на конкретный веб-сервер.
Например, когда вы набираете в своем веб-браузере google.com, этот запрос сначала отправляется на DNS-сервер, который преобразует google.com в его IP-адрес.
Затем на этот IP-адрес отправляется запрос, и веб-страница загружается в вашем браузере.
Перечисление DNS
К сожалению, DNS является одним из наиболее эксплуатируемых протоколов.
Перечисление DNS или опрос DNS – это процесс и техника получения информации с серверов DNS.
Эта информация включает имена компьютеров, почтовые серверы, IP-адреса, связанные с ними серверы имен и другие записи DNS.
Инструменты для перечисления DNS
Существует несколько инструментов, которые вы можете использовать для перечисления DNS.
К счастью, большинство из этих инструментов предустановлены в дистрибутивах, ориентированных на безопасность, таких как Kali Linux или Parrot.
В этой статье мы рассмотрим пять инструментов, которые можно использовать для перечисления DNS.
- NMAP
- DNSEnum
- DNSRecon
- Команда хоста
- NsLookup
В этом руководстве будет использоваться Kali Linux – один из самых популярных дистрибутивов Linux для тестирования на проникновение и аудита безопасности.
1. NMAP
NMAP – это инструмент безопасности, который в основном используется для сканирования сети и обнаружения портов.
Он также поставляется с различными скриптами, которые вы можете использовать для проведения тестирования на проникновение в различные службы.
Например, следующая команда выведет список всех скриптов NMAP для перечисления DNS.
Мы не будем рассматривать все скрипты,а только два из них:
- broadcast-dns-service-discovery
- Dns-brute
1.1 Скрипт Broadcast-dns-service-discovery
Этот скрипт выявляет сервисы с помощью протокола DNS Discovery Protocol на веб-сервере.
Скрипт посылает несколько многоадресных DNS-SD запросов и собирает все ответы, полученные сервером.
Однако все это делается процедурно.
Сначала скрипт посылает запрос for _services._dns-sd._udp.local, в котором перечисляются все запущенные службы.
После этого он посылает еще один запрос к каждой из перечисленных служб и собирает эту информацию.
Ниже приведен пример команды, использующей скрипт Nmap broadcast-dns-service-discovery для выполнения перечисления DNS.
1.2 Скрипт Nmap Dns-brute
Как следует из названия, этот скрипт выполняет перебор сервера, чтобы попытаться получить все имена хостов.
Этот скрипт достаточно эффективен для перечисления DNS, так как принимает несколько аргументов, как указано ниже.
- Dns-brute.domain: Позволяет задать доменное имя для перебора, если не указан хост.
- Dns-brute.hostlist: Передать список строк хостов.
- Dns-brute.srv: Поиск записей SRV.
- Dns-brute.srvlist: Передать список SRV-записей.
- Dns-brute.threads: Указать количество потоков для перечисления.
Мы не будем передаваться никаких аргументов и будем использоваться только скрипт dns-brute:
На изображении выше показаны все имена хостов, которые мы смогли перечислить.
2. DNSEnum
DNSEnum – это мощный Perl-скрипт, который выполняет перечисления DNS для доменных имен.
Некоторые из задач, которые можно решить с помощью этого инструмента:
- перечисление имен хостов
- перечисление записей “A”
- перечисление записей MX
- Выполнение запросов AXFR
- перебор поддоменов
- Обратный поиск.
Команда DNSEnum ниже выполняет перечисление DNS, но избегает обратного поиска, поскольку мы передали аргумент –noreverse.
Выходные данные сохраняются в XML-файле.
Ранее инструмент уже был нами рассмотрен:
Dnsenum – инструмент для перечисления DNS для поиска серверов DNS
3. DNSRecon
DNSRecon – еще одна мощная утилита, используемая для перечисления DNS.
Этот инструмент предустановлен в дистрибутивах для тестирования на проникновение, таких как Kali Linux или Parrot.
- 🐦 Parrot OS Security edition – это настольный дистрибутив Linux, предназначенный для администраторов безопасности.
- 🐉 Kali Linux или Parrot OS – сравнение, в чем разница ?
Чтобы перечислить все доступные опции для DNSRecon, выполните следующую команду.
Давайте выполним простой перебор DNS с помощью инструмента DNSRecon.
Выполните приведенную ниже команду:
4. Команда Host
Команда host широко используется для определения IP-адреса доменного имени.
Подробное руководство мы ранее уже опубликовали:
🖧 9 Примеров команд Host для запроса сведений о DNS
5. NsLookup
NsLookup – это еще один инструмент, который вы можете использовать для перечисления DNS и который поставляется предустановленным в Kali Linux.
🌐 Онлайн инструменты и приложения nslookup
Выполните команду nslookup в терминале, не передавая никаких аргументов, как показано ниже.
Откроется интерактивная оболочка, в которой можно выполнять команды с помощью NsLookup.
Чтобы перечислить серверы имен, введите следующие команды и нажмите клавишу Enter.
Чтобы перечислить записи MX, установите тип “mx”!
Чтобы закрыть интерактивную оболочку, введите exit и нажмите enter.
Заключение
¯\_(ツ)_/¯ Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.