Информация об авторе:
BlackGameKey's avatar
BlackGameKey09.08.2026, 01:25

OSINT по домену: от WHOIS и DNS до typosquatting

5 минут
6 просмотров

Когда смотришь на домен снаружи, без доступа к серверу, всё равно можно вытащить кучу полезного: кто регистрировал, когда истекает, какие субдомены когда-то получали сертификат, нет ли рядом похожих доменов под фишинг. Это и есть доменный OSINT — не взлом, а сбор открытых данных.


В этой статье я пройдусь по практическому пайплайну, которым сам пользуюсь: RDAP/WHOIS → DNS → Certificate Transparency → typosquatting → быстрая проверка репутации. Без платных подписок, руками и с парой команд в терминале. Если ты уже собирал мини-SOC в Google Таблицах — найденные похожие-домены потом можно просто закинуть туда в мониторинг.

Что понадобится

— Браузер

— Терминал (Windows PowerShell / Linux / macOS)

— Python 3 (для dnstwist)

— Домен для разбора — лучше свой или тот, на который у тебя есть разрешение

— 30–40 минут
Важно помнить!: OSINT по чужим активам без контекста (багбаунти, работа, расследование) легко уходит в серую зону. Ниже разбираю технику на примере публичных сервисов и своего домена.

Шаг 1. WHOIS / RDAP — кто владеет и когда истекает

Классический WHOIS сейчас часто урезан GDPR и "privacy protect". RDAP — современный JSON-вариант тех же данных, но работает не для всех зон одинаково. Важный нюанс: прямая ссылка вида rdap.org/domain/... хорошо отрабатывает для многих gTLD (.com, .net, .org), а для .ru и .рф часто отдаёт 404. Для российских доменов удобнее обычный WHOIS-интерфейс.


Для доменов .ru / .рф открой в браузере:

https://www.nic.ru/whois/?query=example.ru

или

https://who.is/whois/example.ru

imageчто мы смотрим в ответе?:
— даты создания и окончания (created / paid-till / expires)

— регистратор

— nameservers (NS)

— статусы (REGISTERED, DELEGATED, clientTransferProhibited и т.п.)

Для .com / .net / .org можно пробовать RDAP через браузер (вернётся JSON) или через curl:
https://rdap.org/domain/example.com

curl.exe -s "https://rdap.org/domain/example.com"

В JSON смотри блок events: registration / expiration.


Если срок окончания ближе чем на 30 дней — это уже сигнал. Домен с просрочкой легко уводят или перехватывают при неаккуратном продлении.

Шаг 2. DNS — что реально отвечает в сети

RDAP говорит «как зарегистрировано», DNS — «что живёт сейчас».


Минимум, который я всегда смотрю:

— A / AAAA — IP сайта

— NS — DNS-серверы

— MX — почта

— TXT — SPF, DKIM, верификации сервисов, иногда лишние хвосты


Через Google Public DNS (без установки утилит):

curl -s "https://dns.google/resolve?name=example.com&type=A"
curl -s "https://dns.google/resolve?name=example.com&type=MX"
curl -s "https://dns.google/resolve?name=example.com&type=NS"
curl -s "https://dns.google/resolve?name=example.com&type=TXT"

Если есть dig:

dig example.com A +short
dig example.com MX +short
dig example.com NS +short
dig example.com TXT +short

На что обращать внимание:

— Неожиданный IP / смена ASN после «спокойного» периода

— MX на подозрительный хостинг (часто в фишинговых схемах)

— TXT с лишними include: или странными токенами

— NS не у того регистратора / DNS-провайдера, который ты помнишь


IP из A-записи потом удобно прогнать через AbuseIPDB .

image

Шаг 3. Certificate Transparency — субдомены через crt.sh

Каждый публичный TLS-сертификат попадает в Certificate Transparency. Агрегатор crt.sh бесплатный и для OSINT почти magический: он показывает хосты, которые когда-то получали сертификат — включая staging, api, old, VPN-подобные имена.


JSON для скриптов:

curl.exe -s "https://crt.sh/?q=yandex.ru&output=json" | python -m json.tool

Из JSON вытаскивай уникальные имена из поля name_value. Там часто бывает:

— www, mail, api, cdn

— staging, dev, test, old

— внутренние имена, которые случайно «вылезли» наружу через сертификат

Быстро вытащить только имена (PowerShell):

curl.exe -s "https://crt.sh/?q=yandex.ru&output=json" | ConvertFrom-Json | ForEach-Object { $_.name_value -split "`n" } | Sort-Object -Unique

Важный нюанс: сертификат != живой хост. Домен мог быть в SAN год назад и уже не резолвиться. Поэтому следующий шаг — проверка, что из списка ещё живо.

Шаг 4. Отфильтровать живые субдомены

Простой способ — резолвить A-записи. В PowerShell для одного имени:


Resolve-DnsName api.example.com -Type A


Или через dns.google:


curl -s "https://dns.google/resolve?name=api.example.com&type=A"


Я обычно собираю уникальный список из crt.sh в текстовый файл и дальше:


— что резолвится → мониторю

— что не резолвится, но выглядит внутренним (intranet, vpn, admin) → в заметки: когда-то светилось, возможно ещё где-то живёт

— wildcard *.example.com → значит сертификат покрывает любой субдомен это отдельно учитывать


Находки вроде staging.example.com с открытой админкой или старым стеком — классика: на основном сайте защита жёстче, на staging забыли.


Шаг 5. Typosquatting — поиск похожих доменов


Злоумышленнику не обязательно брать твой домен. Достаточно небольшой ошибки в имени например yandex.ru - yanbex.ru


Инструмент, которым я пользуюсь чаще всего — dnstwist (открытый, на Python):


pip install dnstwist
dnstwist --registered example.com


Флаг --registered оставляет только те варианты, которые реально зарегистрированы. Без него список будет огромный и бесполезный для первого прохода.


Что смотреть в выводе:


— registered + есть A-запись — домен «живой»

— MX у lookalike — потенциальный фишинг почты

— NS / странный хостинг рядом с твоим брендом



Дополнительно глазами можно пройти:


— https://dnstwister.report/

— https://www.haveibeensquatted.com/


Внезапно оживший похожий домен с контентом под твой бренд — красный флаг. Такие имена я сразу добавляю в Domain Security Dashboard из предыдущей статьи и смотрю VirusTotal / urlscan.

Шаг 6. Быстрая проверка репутации находок

Когда есть список доменов и IP, хватает ручной/табличной проверки:


— VirusTotal — домен / URL / IP

— AbuseIPDB — IP

— urlscan.io — был ли публичный скан, как выглядит страница

— AlienVault OTX — есть ли pulses по индикатору


Для похожих доменов особенно полезен urlscan: видно, клонируют ли лендинг, какие домены на скрине, куда редиректит.


Если Malicious > 0 на VT или Abuse рейтинг заметно выше нуля — не паникуй сразу (фолзы бывают), но зафиксируй и разберись: кто хостит, когда зарегистрирован, есть ли почта, похож ли контент на фишинг.

Чеклист доменного OSINT

Чтобы не размазывать расследование, я держу такой порядок:


1. RDAP - expiration, регистратор, NS

2. DNS - A/AAAA, MX, NS, TXT

3. crt.sh - субдомены из сертификатов

4. Resolve - что из субдоменов живо

5. dnstwist --registered - lookalike

6. VT / AbuseIPDB / urlscan - репутация живых находок

7. Всё подозрительное - продолжаю мониторить


На один домен первый проход обычно занимает меньше часа. Потом уже точечно углубляешься.

Чего этот пайплайн не заменит


— Активный скан уязвимостей без разрешения

— Полная инвентаризация инфраструктуры компании

— Гарантию, что раз в crt.sh чисто - значит чисто

— Платный мониторинг бренда 24/7 (это уже другой уровень)


OSINT показывает известные и открытые следы. Это первый слой осведомлённости, а не финальный вердикт.


Итог


Доменный OSINT - это последовательная привычка: регистрация → DNS → сертификаты → похожие домены → репутация. Тут порог входа низкий, а польза конкретная - особенно если ты сопровождаешь несколько сайтов или свой pet-проект.


Собери по своему домену список субдоменов и похожих доменов и мониторь живые домены - и уже будет видно, где дыры в инвентаризации.


В следующей статье разберу IOC простыми словами: что считать индикатором компрометации и как руками прогонять хеши, IP и домены через VirusTotal, OTX и AbuseIPDB - как раз те находки, которые всплывают на шагах выше.


Комментарии

0
Войдите, чтобы оставить комментарий...
    Cat

    Комментариев пока что нет, но Вы можете стать первым!