Практический гайд по OSINT: узнаём свой внешний периметр
Зачем постоянно инвентаризировать внешний периметр и причём тут OSINT
Главная проблема внешнего периметра не в том, что у компании много доменов. А в том, что в реальности он почти всегда шире официального списка активов. Новые сервисы появляются через релизы, SaaS, подрядчиков, CI/CD, тестовые стенды, региональные команды и миграции. Старые DNS-записи и IP-адреса живут дольше, чем о них помнят владельцы. Часть активов создаётся вне центрального контроля, и поэтому не попадает ни в CMDB, ни в Excel-инвентарь, ни в стандартные процессы управления кибербезопасностью.
Так образуется типичная слепая зона: компания считает, что у неё есть «основной сайт, почтовый домен и пара внешних сервисов», а снаружи находятся десятки вспомогательных субдоменов, забытые прямые IP-адреса, исторические записи, сервисы дочерних компаний и артефакты старых миграций. С точки зрения атакующего это не исключения, а удобные точки входа.
Преимущества и риски OSINT: кейс от Solar 4RAYS
Значительная часть таких активов обнаруживается через внешние следы, которые инфраструктура оставляет в интернете: DNS-записи, логи certificate transparency, TLS-сертификаты, поисковые индексы, ASN, passive DNS и веб-архивы. Именно поэтому контроль внешнего периметра практически всегда опирается на OSINT: только внешнее наблюдение позволяет увидеть инфраструктуру так же, как атакующий.
Все специалисты, занимающиеся контролем периметра, сходятся в одном: статический реестр активов отстаёт от реальности. Внешний контур нельзя описать один раз и считать задачу закрытой: его приходится постоянно пересобирать, подтверждать и уточнять.
Что искать во внешнем периметре
Практически весь OSINT внешнего периметра сводится к двум отдельным веткам:
- Поиск доменов. Компания → корневые домены → пассивный поиск субдоменов → анализ certificate transparency → брутфорс субдоменов → подтверждённые доменные активы.
- Поиск IP-адресов. Компания → ASN/CIDR → PTR/TLS/HTTP → подтверждённые IP-активы.
Ветка 1. Поиск доменов
Регистрационные и организационные следы
Поиск обычно начинается не с субдоменов, а с основных адресов компании. Входными точками становятся имя организации, бренды, названия продуктов, известные почтовые домены, исторические названия компании и следы дочерних структур. На основе этой информации рождаются гипотезы о связанных доменах: корпоративных, брендовых, региональных и технических.
На практике на этом этапе используют регистрационные данные, обратный WHOIS-/RDAP поиск, связь по контактным e-mail, регистраторам, name-серверам и историческим данным регистратора. Именно при таком поиске часто всплывают домены, которые никогда не входили в официальный список, но объективно связаны с организацией через регистрацию или историю владения.
Certificate transparency и сертификатные данные
Один из самых результативных источников новых доменных имён — certificate transparency (CT). Как только для сервиса выпускается сертификат, доменное имя попадает в публично наблюдаемые логи. Часто это происходит раньше, чем о нём узнает команда кибербезопасности. Поэтому многие субдомены на самом деле приходят не из DNS-поиска, а из истории сертификатов.
Отдельный слой — живые TLS-сертификаты сервисов. Если проверить поля SAN/CN на уже найденных доменах и адресах, можно достать имена, которых не было в исходном списке. Проверка полей особенно полезна для обнаружения виртуальных хостов, служебных доменов и временных окружений.
Поисковые индексы, архивы и веб-следы
Домены часто удаётся найти не по факту регистрации, а по тому, что они засветились в интернете: в HTML, JavaScript, CSP, robots.txt, sitemap, публичных репозиториях, исторических URL и веб-архивах. Именно поэтому краулинг даёт неожиданно высокий выхлоп: старая административная панель, забытый API-хост или административный субдомен могли уже уйти из поля зрения команды, но всё ещё сохранены в индексах или архивах и по инерции поддерживаются службой IT.
Перебор доменов
Под перебором в EASM чаще понимают перебор субдоменов внутри уже известной зоны, а не поиск новых корневых доменов. Искать их было бы бессмысленно, так как в таком случае отсутствует критерий, по которому адрес можно отнести к конкретной организации. Например, для example. com гипотезы вида dev.example.com, vpn.example.com, api-eu.example.com или jira.example.com проверяются как систематический DNS-перебор по словарям и шаблонам.
Зрелый брутфорс опирается не на случайности, а на реальные правила наименования субдоменов. Сначала собираются уже известные имена, затем из них строятся комбинации по регионам, окружениям, ролям, числам и разделителям. После этого домены-кандидаты проходят через DNS-валидацию, а результаты очищаются от wildcard-срабатываний. Без этой фильтрации брутфорс быстро превращается в генератор ложноположительных находок.
Ветка 2. IP-адреса
ASN и сетевые диапазоны
Самый надёжный путь к IP-адресам компании — не угадывание отдельных хостов, а выход на ASN и связанные с ним CIDR-диапазоны. Как только удаётся привязать организацию к автономной системе или нескольким системам, поиск качественно меняется: вместо точечных адресов появляется обзор сетевого пространства, которое компания реально анонсирует в интернет.
Этот подход особенно ценен для крупных организаций, холдингов и международных компаний, где домены и IP-адреса редко лежат в одной плоскости. Через ASN можно выявить неочевидные сегменты периметра, региональные диапазоны и технические площадки, которые не обнаруживаются на уровне бренда.
DNS-резолвинг и reverse DNS
Второй путь к IP-адресам — резолвинг уже найденных доменов и субдоменов. После первичного сбора имён нужно получить A/AAAA, CNAME, MX, NS, TXT и по возможности PTR. Это позволяет не только сопоставить домены с адресами, но и увидеть соседние технические связи: внешние почтовые сервисы, name-серверы, балансировщики и исторические зависимости.
Reverse DNS особенно полезен, когда уже известен диапазон IP-адресов. Логика в таких случаях не «домен → IP-адрес», а, наоборот, «ASN → IP range → PTR → новые домены». Это помогает находить хосты, которые почти не заметны при обычном поиске.
Passive DNS и исторический контекст
Если смотреть только на текущий DNS, внешний периметр почти всегда будет выглядеть чище, чем на самом деле. Исторические записи показывают старые привязки доменов к IP-адресам, переезды между облаками и CDN, забытые адреса, тестовые площадки и прямые оригинальные IP-адреса, которые потом скрывались за WAF или прокси.
Для защиты периметра критично найти такие старые адреса и убедиться, что они недоступны: сервис может формально работать за защитным слоем, но прежний прямой адрес всё ещё активен. Именно поэтому поиск IP-адресов без учёта DNS-истории почти всегда неполон.
Активная верификация и обогащение
Найденные IP-адреса нужно превратить в понятные активы. Для этого проверяют открытые порты, TLS-конфигурацию, HTTP(S)-ответы, сертификаты, редиректы, заголовки и поведение приложений. Этот этап уже выходит за пределы чистого OSINT, но без него список IP-адресов остаётся малопригодным для реальной работы.
Именно на этапе обогащения становится ясно, что стоит за адресом: продакшен-сервис, стейджинг, легаси-хост, административная панель, почтовый шлюз, обратный прокси или инфраструктура подрядчика.
Какие open-source-инструменты реально полезны для OSINT
Ранее самой главной ошибкой было искать единственный «главный инструмент». Одни решения агрегировали внешние пассивные источники, другие делали активные запросы DNS, третьи собирали данные из уже известных сертификатов. Поэтому зрелый пайплайн почти всегда состоял из нескольких утилит, а не из одного универсального скрипта. В то же время, чем больше разных инструментов вы используете, тем сложнее валидировать находки и поддерживать пайплайн в случае изменений инструментария.
Сейчас появились почти универсальные комбайны, которые замыкают на себе львиную долю активности, связанной с анализом внешнего периметра:
- OWASP Amass — самый близкий инструмент к полноценному attack-surface-фреймворку. Он умеет искать корневые домены и их поддомены, работать с обратным WHOIS/ASN, использовать данные сертификатов, zone transfer и брутфорс. Достоинство OWASP Amass — ширина техники, а недостаток — условная сложность эксплуатации и зависимость от множества внешних источников.
- Subfinder — быстрый инструмент для пассивного поиска доменов. Он ценен на первом этапе, когда нужно быстро собрать валидные субдомены.
- Dnsx, massdns и shuffledns предназначены для массового разрешения доменов. Они позволяют массово резолвить имена, проверять записи разных типов, перебирать субдомены и бороться с wildcard-срабатываниями. Для систематического перебора субдоменов это один из самых практичных классов инструментов.
Как выстроить процесс исследования внешнего периметра внутри компании
Такой процесс обычно начинается с определения уже известного: юридического наименования организации и её дочерних структур, брендов, известных доменов, почтовых доменов, диапазонов сетевых адресов.
Дальше разведка идёт рекурсивно. Сначала ищут корневые домены и поддомены, затем — связанные IP-адреса и подсети, после — исторические следы, веб-следы. Находки подают в цикл как новые исходные данные. Информацию, полученную после первичного исследования, необходимо обогатить:
- сертификатами
- HTTP(S)-ответами
- редиректами
- заголовками
Только после этого карта периметра становится полезной для приоритизации работ по защите внешнего контура.
Внешний периметр нельзя исследовать разово. Он меняется постоянно, а значит, периодический мониторинг важнее красивого разового отчёта. С практической точки зрения, хороший результат — это не просто список доменов и IP-адресов, а зацикленный конвейер, который находит новые активы, подтверждает старые и объясняет источник каждой находки.
Практический гайд по поиску доменов и IP-адресов
Это базовое пошаговое руководство по каждой ветке: поиску доменов и поиску IP-адресов.
Поиск доменов
Шаг 1. Найти связанные корневые домены по названию компании
Для определения корневых доменов удобнее отталкиваться от названия организации и reverse WHOIS по полю organization. Это можно сделать, например, на сайте viewdns. info.
Шаг 2. Собрать субдомены из пассивных источников
Агрегируйте данные из пассивных источников и сразу получите список потенциально валидных доменов.
# Быстрый passive-pass
subfinder -d example.com -all -recursive -silent > passive_subdomains.txt
Шаг 3. Достать имена из certificate transparency
CT — один из самых полных источников новых субдоменов. Удобная практическая точка входа — crt.sh.
# Все имена для *.example.com из CT
curl -s 'https://crt.sh/?q=%25.example.com&output=json'
Шаг 4. Провалидировать CT- и passive-результаты через DNS
Очищайте любой пассивный список от исторического мусора и wildcard-ответов.
# Подтвердить только реально резолвящиеся имена
dnsx -l subdomains_seed.txt -wd example.com -silent > subdomains_live.txt
# Если нужен вывод с A-записями
dnsx -l subdomains_seed.txt -wd example.com -a -resp -silent > subdomains_live_with_a.txt
Шаг 5. Сделать DNS-брутфорс по словарю
Используйте брутфорс не как замену passive enumeration, а как расширение уже найденной карты имён.
# Общий словарный brute force
dnsx -silent -d example.com -w dns_wordlist.txt > brute.txt
Шаг 6. Свести все доменные результаты в единый список
Финальный этап — объедините результаты пассивного сбора, CT, брутфорса, а затем ещё раз прогоните их через dnsx.
dnsx -l all_subdomains_raw.txt -wd example.com -silent > all_subdomains_live.txt
Поиск IP-адресов
Шаг 1. Найти ASN и диапазоны CIDR
Если ASN компании уже известен, сразу вытаскивайте диапазоны CIDR. Если ASN неизвестен, сначала ищите его по названию организации через asnmap или вручную на stat.ripe.net, bgp.he.net или bgp.tools.
Шаг 2. Получить IP-адреса из уже найденных доменов
Это самый полезный переход от ветки доменов к ветке IP-адресов: сначала соберите имена, потом массово резолвите их в A/AAAA/CNAME.
# Все живые имена
subfinder -d example.com -all -recursive -silent | dnsx -silent
# A/AAAA/CNAME с ответами
subfinder -d example.com -all -recursive -silent | dnsx -a -aaaa -cname -resp -silent
# Только IP-адреса из A/AAAA-ответов
subfinder -d example.com -all -recursive -silent | dnsx -a -aaaa -resp-only -silent | sort -u > ips_from_dns.txt
Шаг 3. Раскрыть PTR / reverse DNS по диапазонам
Если у вас уже есть CIDR-диапазоны, полезно сразу вытащить PTR: иногда так всплывают дополнительные имена хостов и legacy-имена.
# PTR по диапазонам, полученным из ASN
cat cidr.txt | dnsx -ptr -resp -silent > ptr.txt
# Точечная проверка одного IP
dig -x 8.8 . 8.8 +short
Шаг 4. Вытащить доменные имена из TLS-сертификатов на IP-адресах/хостах
Этот шаг полезен, когда на IP-адресе живет TLS-сервис: сертификат может вернуть SAN/CN, которых ещё нет в реестре активов.
# SAN, CN и Organization из TLS-сертификатов
cat cidr.txt | tlsx -san -cn -silent > tls_names.txt
После этого сведите результаты в единый инвентарь и от него переходите к классификации активов и поиску рисков.
Непонимание внешнего периметра — не техническая мелочь, а системный дефект управления безопасностью. Если у компании нет представления, какие домены, IP-адреса и опубликованные в интернете сервисы с ней связаны, то она буквально не знает, что защищать. Чтобы не строить собственный процесс анализа периметра, можно воспользоваться уже готовыми решениями. EASM-платформы не только предлагают OSINT-периметра, но и обеспечивают его постоянный мониторинг — инвентаризацию сервисов, веб-приложений и автоматизированный анализ защищённости для найденных потенциальных точек входа. Такой подход превращает разрозненные находки в рабочую карту внешнего периметра. Она ближе к тому, что реально видит атакующий, и поэтому полезна защитнику.
