DNS-разведка: whois, dig, nslookup, история DNS, reverse DNS
DNS-разведка: whois, dig, nslookup, история DNS, reverse DNS
DNS (Domain Name System) — это «телефонная книга» интернета, преобразующая доменные имена в IP-адреса и обратно. Для специалиста по техническому OSINT DNS является одним из самых информативных источников: записи DNS раскрывают инфраструктуру организации, ее почтовые серверы, поддомены, политики безопасности и даже историю изменений. Данная статья посвящена методам DNS-разведки с использованием открытых инструментов и баз данных.
Этап 1: WHOIS — кто владелец домена или IP?
WHOIS-запрос возвращает регистрационные данные домена (или IP-диапазона). Хотя многие регистраторы скрывают персональные данные за PrivacyGuard, многое остается доступным.
- Дата регистрации домена (дата создания).
- Дата окончания регистрации (можно оценить, активен ли домен).
- Регистратор (например, GoDaddy, Namecheap, REG.RU).
- DNS-серверы (NS записи).
- Контактная информация (имя, email, телефон, адрес — если не скрыта).
- Для IP-блока: организация-владелец, страна, диапазон.
whois example.com whois 8.8.8.8
Этап 2: Базовые DNS-записи (dig, nslookup)
dig (Linux/macOS) и nslookup (Windows, Linux) — основные утилиты для прямых DNS-запросов.
dig example.com A # A запись (IPv4) dig example.com AAAA # AAAA запись (IPv6) dig example.com MX # MX записи (почта) dig example.com TXT # TXT записи dig example.com NS # NS записи dig example.com CNAME # CNAME записи dig example.com SOA # SOA запись # Указание конкретного DNS-сервера dig @8.8.8.8 example.com A # Краткий вывод (+short) dig example.com A +short
nslookup example.com set type=MX example.com
Использование публичных DNS-серверов:
Этап 3: История DNS (DNS History)
Записи DNS меняются: серверы переезжают, поддомены создаются и удаляются. История DNS позволяет найти старые IP, забытые поддомены, предыдущих хостинг-провайдеров.
Пример использования SecurityTrails:
# Через веб-интерфейс: https://securitytrails.com/domain/example.com/history # Через API (требуется ключ) curl -H "APIKEY: YOUR_KEY" https://api.securitytrails.com/v1/history/example.com/a
- Старые IP-адреса, где ранее хостился домен.
- Удаленные поддомены (иногда забытые, но все еще разрешающиеся).
- Смену DNS-провайдера.
Этап 4: Reverse DNS (PTR запись)
Reverse DNS преобразует IP-адрес в доменное имя. Часто используется почтовыми серверами для проверки подлинности.
dig -x 8.8.8.8 +short # Результат: dns.google. nslookup 8.8.8.8
Для диапазона IP: можно выполнить обратный поиск по всем IP в подсети (но массовые запросы могут быть заблокированы).
- Подтверждение, что IP действительно принадлежит организации.
- Поиск других доменов, указывающих на тот же IP (не всегда, только если PTR корректно настроен).
Этап 5: DNS-трассировка (поиск всех поддоменов)
Базовые DNS-запросы не дают список поддоменов. Для их поиска используются другие методы (подробнее в статье 3). Но базово:
- NS записи → указывают на DNS-серверы, но не перечисляют поддомены.
- Зонная передача (AXFR) — редкий случай, когда DNS-сервер разрешает выгрузку всей зоны. Проверить:bashdig @ns.example.com example.com AXFR
Этап 6: DNS-записи и безопасность (SPF, DKIM, DMARC)
TXT записи часто содержат политики безопасности почты.
SPF (Sender Policy Framework): перечисляет IP, которые могут отправлять почту от имени домена.
dig example.com TXT | grep "v=spf1"
Пример: v=spf1 include:_spf.google.com ~all → используется Google Workspace.
DKIM (DomainKeys Identified Mail): цифровая подпись писем.
dig selector._domainkey.example.com TXT
DMARC (Domain-based Message Authentication, Reporting & Conformance): указывает, что делать с письмами, не прошедшими SPF/DKIM.
dig _dmarc.example.com TXT
- Определение используемых почтовых провайдеров (Google, Microsoft, Яндекс, Mail.ru).
- Выявление устаревших или неправильных конфигураций.
- Возможный email для отчетов (в DMARC).
CNAME записи часто указывают на CDN (Cloudflare, Akamai, Amazon CloudFront). Это маскирует реальный IP-адрес сервера.
- A запись ведет на IP, принадлежащий CDN (проверить WHOIS).
- CNAME на
xxx.cloudfront.net,xxx.cdn.cloudflare.netи т.д.
Этап 8: Анализ DNS без командной строки — онлайн-сервисы
Практический пример: разведка по домену
Задача: собрать информацию о домене target.org.
- WHOIS → регистратор Namecheap, дата создания 2010-05-01, дата окончания 2026-05-01, DNS-серверы
ns1.namecheap.com, контакты скрыты. - DNS-записи (dig):
A→192.0.2.10MX→mail.target.org(приоритет 10)TXT→v=spf1 a mx include:spf.protection.outlook.com -all(использует Office 365)NS→ns1.namecheap.com,ns2.namecheap.comCNAME(www) →target.org(тот же IP)- Reverse DNS для IP 192.0.2.10 →
web.target.org. - SPF-анализ → используются серверы Office 365. Предположительно, целевая организация использует Microsoft 365.
- История DNS (SecurityTrails):
- 2 года назад A-запись была
203.0.113.55(другой хостинг). - Был поддомен
dev.target.org, сейчас не разрешается. - DNSdumpster → находит дополнительные поддомены:
mail.target.org,remote.target.org,vpn.target.org. - Вывод: инфраструктура включает веб-сервер на
192.0.2.10, почту на Office 365, VPN-поддомен. Ранее использовался другой хостинг.
Инструменты для автоматизации DNS-запросов (Python)
import dns.resolver
def query_dns(domain, record_type):
try:
answers = dns.resolver.resolve(domain, record_type)
return [str(r) for r in answers]
except Exception as e:
return None
domain = "example.com"
for rtype in ["A", "MX", "TXT", "NS"]:
records = query_dns(domain, rtype)
print(f"{rtype}: {records}")- DNS-запросы — это публичные данные. Их сбор не является активным сканированием и обычно разрешен.
- Однако массовые запросы к DNS-серверу могут быть расценены как атака (DDoS). Используйте задержки, авторитетные публичные резолверы.
- Некоторые сервисы (SecurityTrails) имеют условия использования, запрещающие автоматизированный массовый сбор без подписки.
DNS-разведка — фундамент технического OSINT. WHOIS дает информацию о владельце и датах, dig/nslookup — текущие записи. История DNS и reverse DNS расширяют картину прошлых конфигураций. SPF/DKIM/DMARC раскрывают используемые почтовые сервисы. Владение этими методами позволяет бесконтактно составить детальную карту инфраструктуры домена.
В следующей статье цикла мы рассмотрим более сложный этап — поиск поддоменов, включая инструменты Amass, Sublist3r, crt.sh и техники перебора.