Активная DNS-разведка обычно сводится к следующему набору:
❌ хороший словарь (Assetnote, SecLists и т.д.),
❌ список «проверенных» публичных рекурсивных DNS-серверов,
❌ инструмент для массовых DNS-запросов: massdns, puredns, shuffledns.
Публичные DNS-серверы слушают UDP/53 и принимают запросы со всего интернета. Многие из них перегружены, неправильно настроены, либо намеренно возвращают ложные ответы.
Результат — шум,
NOERROR там, где должен быть NXDOMAIN, и куча мусорных поддоменов.Что лучше?
Запросы напрямую к авторитативному DNS-серверу почти всегда лучше, чем использование публичных рекурсивных резолверов.
Если тебе нужно просто резолвить список поддоменов — используй zdns. Он в целом быстрее и надёжнее , чем dnsx.
Техники для глубокой разведки 💃
1️⃣ ENTs и NOERROR
В DNS есть промежуточное состояние, которое большинство инструментов игнорирует: Empty Non-Terminals. Они возвращают
NOERROR / NODATA и незаметно показывают, какие ветки иерархии реально существуют. Отлично подходят для поиска скрытых поддеревьев и позволяют избежать бесполезного фаззинга.
2️⃣ NSEC / NSEC3 zone walking
NSEC формирует связанный список валидных имён, поэтому обход зоны тривиален с инструментами вроде ldns-walk. NSEC3 хеширует имена, но всё ещё позволяет:
▪️собирать хешированные метки,
▪️офлайн брутфорсить их с помощью инструментов вроде nsec3map,
▪️восстанавливать структуру зоны.
3️⃣ ICANN CZDS
CZDS предоставляет полные файлы зон для множества gTLD. Если твой таргет использует редкий TLD, часто можно получить все домены в зоне и сразу получить качественные точки старта для перечисления.
🔗 Пост вдохновлен этой презентацией


