June 3

DNS-разведка: whois, dig, nslookup, история DNS, reverse DNS

DNS-разведка: whois, dig, nslookup, история DNS, reverse DNS

DNS (Domain Name System) — это «телефонная книга» интернета, преобразующая доменные имена в IP-адреса и обратно. Для специалиста по техническому OSINT DNS является одним из самых информативных источников: записи DNS раскрывают инфраструктуру организации, ее почтовые серверы, поддомены, политики безопасности и даже историю изменений. Данная статья посвящена методам DNS-разведки с использованием открытых инструментов и баз данных.

Почему DNS-разведка важна?

Этап 1: WHOIS — кто владелец домена или IP?

WHOIS-запрос возвращает регистрационные данные домена (или IP-диапазона). Хотя многие регистраторы скрывают персональные данные за PrivacyGuard, многое остается доступным.

Что можно узнать из WHOIS:

  • Дата регистрации домена (дата создания).
  • Дата окончания регистрации (можно оценить, активен ли домен).
  • Регистратор (например, GoDaddy, Namecheap, REG.RU).
  • DNS-серверы (NS записи).
  • Контактная информация (имя, email, телефон, адрес — если не скрыта).
  • Для IP-блока: организация-владелец, страна, диапазон.

Инструменты WHOIS:

Пример командной строки:

whois example.com
whois 8.8.8.8

Этап 2: Базовые DNS-записи (dig, nslookup)

dig (Linux/macOS) и nslookup (Windows, Linux) — основные утилиты для прямых DNS-запросов.

Примеры dig:

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:

nslookup example.com
set type=MX
example.com

Использование публичных DNS-серверов:

  • 8.8.8.8 (Google Public DNS)
  • 1.1.1.1 (Cloudflare)
  • 9.9.9.9 (Quad9)
  • 77.88.8.8 (Яндекс DNS)

Этап 3: История DNS (DNS History)

Записи DNS меняются: серверы переезжают, поддомены создаются и удаляются. История DNS позволяет найти старые IP, забытые поддомены, предыдущих хостинг-провайдеров.

Инструменты истории DNS:

Пример использования 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-адрес в доменное имя. Часто используется почтовыми серверами для проверки подлинности.

Поиск PTR записи:

dig -x 8.8.8.8 +short        # Результат: dns.google.
nslookup 8.8.8.8

Для диапазона IP: можно выполнить обратный поиск по всем IP в подсети (но массовые запросы могут быть заблокированы).

Применение в OSINT:

  • Подтверждение, что 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

Ценность для OSINT:

  • Определение используемых почтовых провайдеров (Google, Microsoft, Яндекс, Mail.ru).
  • Выявление устаревших или неправильных конфигураций.
  • Возможный email для отчетов (в DMARC).

Этап 7: DNS-серверы и CDN

CNAME записи часто указывают на CDN (Cloudflare, Akamai, Amazon CloudFront). Это маскирует реальный IP-адрес сервера.

Как определить CDN:

  • A запись ведет на IP, принадлежащий CDN (проверить WHOIS).
  • CNAME на xxx.cloudfront.net, xxx.cdn.cloudflare.net и т.д.

Этап 8: Анализ DNS без командной строки — онлайн-сервисы

Практический пример: разведка по домену

Задача: собрать информацию о домене target.org.

  1. WHOIS → регистратор Namecheap, дата создания 2010-05-01, дата окончания 2026-05-01, DNS-серверы ns1.namecheap.com, контакты скрыты.
  2. DNS-записи (dig):
    • A192.0.2.10
    • MXmail.target.org (приоритет 10)
    • TXTv=spf1 a mx include:spf.protection.outlook.com -all (использует Office 365)
    • NSns1.namecheap.com, ns2.namecheap.com
    • CNAME (www) → target.org (тот же IP)
  3. Reverse DNS для IP 192.0.2.10web.target.org.
  4. SPF-анализ → используются серверы Office 365. Предположительно, целевая организация использует Microsoft 365.
  5. История DNS (SecurityTrails):
    • 2 года назад A-запись была 203.0.113.55 (другой хостинг).
    • Был поддомен dev.target.org, сейчас не разрешается.
  6. DNSdumpster → находит дополнительные поддомены: mail.target.org, remote.target.org, vpn.target.org.
  7. Вывод: инфраструктура включает веб-сервер на 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 и техники перебора.