DNSenum — это инструмент для перечисления (enumeration) DNS, который используется для сбора информации о DNS-записях целевого домена. В статье рассмотрим установку и использование DNSEnum на Linux.
Еще по теме: Перечисление DNS с помощью DNSRecon
Что такое DNSenum
DNSenum может нарыть много полезной информации о структуре DNS целевого домена, которую затем можно использовать для дальнейшего анализа и тестирования на проникновение. Это очень полезный инструмент разведки в арсенале пентестера.
Кстати, мы уже рассматривали использование DNSenum в статье «Атака трансфер DNS зоны».
Возможности DNSenum:
- Перечисление всех хостов в зоне (AXFR).
- Перечисление общих записей (NS, MX, SOA и т.д.).
- Перечисление SRP-записей.
- Перечисление записей reverse lookup.
- Перечисление поддоменов и хостов.
- Поиск зон пересечения между серверами DNS.
- Проверка наличия зон перенаправления DNS (zone transfer).
- Использование словарей для перечисления имен хостов и поддоменов.
- Сохранение результатов в различных форматах (JSON, XML, текст и т.д.).
Установка DNSenum
Инструмент предустановлен в Kali Linux. Если используете лайт-версию Kali или другой дистрибутив, то вот, как установить:
1 |
sudo apt install dnsenum |
Использование DNSenum
Параметры использования DNSenum:
Справка:
1 |
dnsenum -h |
Получение информации о конкретном доменном имени и получения сведений, таких как адреса хостов, серверы, MX-серверы, а также IP-адреса для имен хостов:
1 |
dnsenum zonetransfer.me |
Можно получить несколько поддоменов вместе с частными адресами:
1 |
dnsenum –private hackthissite.org |
Следующая команда объединяет две или более команды: --dnsserver указывает DNS-сервер, в данном случае 8.8.8.8, который является общедоступным сервером для google.com. Также используется команда -f для указания словаря; она выполнит бру для всех поддоменов, присутствующих в списке:
1 |
dnsenum –dnsserver 8.8.8.8 -f wordlist.txt google.com |
Отключение обратного разрешения для доменных адресов, присутствующих в имени хоста. Команда -o указывает формат выходного файла, местом назначения будет рабочий каталог. Формат xml:
1 |
dnsenum — noreverse -o mydomain.xml google.com |
Общая команда, которая используется для получения информации о пользователях, которые залогинились на хосте:
1 |
dnsenum –whois hackthissite.org |
Используется для перечисления, что означает, что набор всех команд, которые предоставляет dnsenum, будет собран в одном месте. Здесь также видно, что файл dns.txt содержит список всех ключевых слов, которые могут быть использованы с набором команд, для которых выполняется поиск имени хоста:
1 |
sudo dnsenum — enum -f “/usr/share/doc/dnsenum/dns.txt” salesforce.com |
Объединяет три операции: -p, -s и --threads. Каждый аспект выполняет различные функции. Аргумент -p относится к страницам, доступным для определенного имени хоста. Аргумент -s относится к скрапингу Google, который также используется для сбора урлов сайтов. Наконец, --threads используется для ускорения процесса в зависимости от конфигурации CPU:
1 |
sudo dnsenum -p 5 -s 5 — threads 2 google.com |
Объединяет две операции: -v и --thread. Здесь -v означает подробный вывод:
1 |
dnsenum hacker.com -v –thread 9 |
Последняя команда, где указаны страницы — 4, скрапинг — 5, и будет выполняться брут на основе списка слов для «google.com»:
1 |
dnsenum -p 4 -s 5 -f wordlist.txt google.com |
Подробности здесь: https://www.kali.org/tools/dnsenum/
Заключение
DNSenum — отличный инструмент для использования на этапе сбора информации в рамках тестирования на проникновение. Мы использовали инструмент DNSenum с набором командных строк. Мы провели анализ прямого и обратного поиска, а также работы с частными серверами и разведки для различных доменов.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Использование DNSmap для поиска поддоменов
- Атака DNS rebinding на примере CrossfitTwo Hack The Box
- Использование Python для получения информации с WHOIS и DNS