Знайте свой внешний периметр: гайд по OSINT
Зачем постоянно инвентаризировать внешний периметр и при чем тут OSINT
Главная проблема внешнего периметра не в том, что у компании много доменов. А в том, что реальный интернет‑периметр почти всегда шире официального списка активов. Новые сервисы появляются через релизы, SaaS, подрядчиков, CI/CD, тестовые стенды, региональные команды и миграции. Старые DNS‑записи и IP‑адреса живут дольше, чем о них помнят владельцы. Часть активов создается вне центрального контроля, и поэтому не попадает ни в CMDB, ни в Excel‑инвентарь, ни в стандартные процессы управления кибербезопасностью.
Отсюда вырастает типичная слепая зона: компания считает, что у нее есть «основной сайт, почтовый домен и пара внешних сервисов», а снаружи находятся десятки вспомогательных субдоменов, забытые прямые IP‑адреса, исторические записи, региональные домены, сервисы дочерних компаний и артефакты старых миграций. С точки зрения атакующего это не исключения, а удобные точки входа.
Значительная часть таких активов обнаруживается через внешние следы, которые инфраструктура оставляет в интернете: 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‑срабатываниями. Для систематического перебора субдоменов это один из самых практичных классов инструментов.
На практике зрелый процесс OSINT быстро выходит за рамки набора отдельных утилит. По мере роста инфраструктуры возникают новые задачи: непрерывный мониторинг изменений, валидация находок, приоритизация рисков, работа с ложными срабатываниями и единая инвентаризация активов. Именно поэтому крупные организации постепенно переходят от разрозненных open-source-инструментов к EASM‑платформам.
Например, BI.ZONE EASM автоматизирует обнаружение внешних активов, обогащает находки данными threat intelligence, отслеживает изменения периметра и помогает в едином интерфейсе выстраивать непрерывное управление внешней поверхностью атаки.
Как выстроить процесс исследования внешнего периметра внутри компании
Такой процесс обычно начинается с определения уже известного: юридического наименования организации и ее дочерних структур, брендов, известных доменов, почтовых доменов, известных диапазонов сетевых адресов.
Дальше разведка идет рекурсивно. Сначала ищут корневые домены и поддомены, затем — связанные 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‑вендоров. EASM‑платформы не только предлагают OSINT периметра, но и обеспечивают его постоянный мониторинг — инвентаризацию сервисов, веб‑приложений и автоматизированный анализ защищенности для найденных потенциальных точек входа. BI.ZONE EASM использует OSINT‑подходы, чтобы непрерывно обнаруживать внешние активы, анализировать потенциальные точки входа и отслеживать изменения периметра. Это позволяет видеть инфраструктуру глазами атакующего и быстрее выявлять значимые риски.