У большинства CISO нет полного списка своих поддоменов.
При этом любой атакующий собирает его за минуты — без единого запроса в вашу инфраструктуру. Без логов на вашей стороне. Без алертов в SIEM.
Атакующий часто изучает ваш внешний периметр быстрее, чем вы приводите его инвентаризацию в актуальное состояние. Это не фигура речи — это архитектурный факт интернета.
Где ломается контроль
Основной сайт обычно защищён. Рядом живут другие:
dev.example.com— без патчей, потому что «только для разработки»staging.example.com— с реальными данными, потому что «временно»old-api.example.com— с CVE 2018 года, потому что про него забыли
Они не в CMDB. Не в отчётах. Не в зоне ответственности SOC. Именно туда заходят первым делом.
Что такое Assetfinder
Утилита от Тома Хадсона (tomnomnom) — одного из самых известных авторов инструментов для разведки. Написана на Go: компилируется в один бинарный файл, работает на Linux, macOS, Windows, зависимостей нет.
Assetfinder — инструмент перечисления поддоменов (subdomain enumeration), ориентированный на OSINT-источники: публичные базы, сертификаты, данные хостингов. Каждый источник опрашивается параллельно, результаты собираются в единый поток, дубликаты отфильтровываются. Средний домен — меньше минуты. OWASP Amass на то же самое тратит часы.
Используют в трёх сценариях:
- Bug bounty — найти поверхность атаки быстрее конкурентов
- Пентест — собрать карту активов до начала работы
- Защита — проверить, что компания реально «светит» наружу
Как работает — и почему это ваша проблема
Assetfinder не касается серверов цели. Только пассивные источники — агрегаторы, которые уже собрали данные за вас. Ваши IDS, WAF и SIEM не видят ничего. Разведка происходит полностью вне периметра.
Certificate Transparency (CT)
Каждый SSL/TLS-сертификат, который выдаёт любой удостоверяющий центр, обязан попасть в открытый публичный журнал. Без исключений. В сертификате два ключевых поля:
- CN (Common Name) — основной домен
- SAN (Subject Alternative Name) — все домены, которые этот сертификат покрывает
Assetfinder вытаскивает это через crt.sh и Certspotter.
Ключевой момент для CISO:
Как только DevOps выпускает HTTPS-сертификат для сервиса — он публикует факт его существования в глобальном реестре. Автоматически. Let's Encrypt, ACME — всё это пишет в CT-логи.
Даже если DNS потом удалён — запись о сертификате остаётся навсегда.
Скрыть факт выдачи сертификата невозможно. Это не означает, что сервис гарантированно доступен — но означает, что он попал в поле зрения. Это устройство интернета.
Wayback Machine
Интернет-архив Wayback Machine хранит снимки за десятки лет. Assetfinder находит поддомены, которые исчезли из DNS — но не из истории.
Архив показывает не то, что есть сейчас. Он показывает то, что вы забыли убрать: старые URL, структуру API, имена эндпоинтов. Это разведка структуры, а не подтверждение работоспособности. Но именно отсюда берётся список целей для проверки — некоторые из них всё ещё отвечают. Это и есть Shadow IT.
DNS-агрегаторы
HackerTarget, ThreatCrowd (Maltego), dns.bufferover.run — сервисы, которые сами сканируют интернет и копят базы DNS-записей. Assetfinder дёргает их API и получает готовые данные. Вы не платили за этот сбор. Он уже сделан.
Расширенные источники с ключами
С ключом VT_API_KEY — VirusTotal отдаёт поддомены из анализа малвари и трафика. Источник, о котором компании обычно не думают.
Facebook Graph API (FB_APP_ID + FB_APP_SECRET) ведёт собственный мониторинг CT-логов — независимо от crt.sh. Модуль в Assetfinder устарел и требует актуальных ключей, но логика источника остаётся рабочей.
Как это выглядит со стороны атакующего
Три отдельных этапа — не единый автоматический процесс. Каждый шаг требует решения и интерпретации результатов.
Этап 1 — Discovery:
assetfinder --subs-only example.com → 150 поддоменов (имена из OSINT-источников)
Этап 2 — Валидация:
httpx → 42 живых сервиса (из 150 — только реально отвечающие)
Этап 3 — Анализ уязвимостей (отдельная работа):
nuclei → потенциальные находки, включая забытый admin-интерфейс → результаты требуют ручной проверки: false positive rate высокий
Время на discovery + валидацию: несколько минут.
Следов в вашей инфраструктуре: 0.
* Агрегаторы типа VirusTotal и crt.sh фиксируют факт запроса на своей стороне.
Установка и базовые команды
go install github.com/tomnomnom/assetfinder@latest # Все связанные домены assetfinder example.com # Только поддомены assetfinder --subs-only example.com # Быстрый пайплайн: поддомены → живые серверы assetfinder --subs-only example.com | httprobe | tee live_subs.txt
Минимальный боевой пайплайн разведки
# Этап 1 — Discovery assetfinder # быстрый старт subfinder # расширение покрытия (40+ источников) # Этап 2 — Валидация httpx # живые сервисы waybackurls # структура старых эндпоинтов (не гарантия доступа) # Этап 3 — Анализ (требует верификации) nuclei # сканирование на уязвимости
Инструменты пайплайна:
- assetfinder — быстрый внешний срез
- subfinder — расширение покрытия (40+ источников)
- httpx — проверка живых сервисов
- waybackurls — исторические точки входа
- nuclei — сканирование на уязвимости
Разведка без валидации — шум. С валидацией — поверхность атаки. Анализ уязвимостей — отдельный этап с отдельной ответственностью.
Почему компании теряют контроль
- Dev и staging создаются вне процессов учёта
- Автоматический выпуск сертификатов не контролируется безопасностью
- Старые сервисы «выключены», но DNS или доступ остался
- Инфраструктура растёт быстрее, чем её описывают
- Нет единого источника правды по внешнему периметру
У компании нет списка активов. А у атакующего — есть.
Есть и ограничения
Последний коммит в репозитории — 2019–2020 год. Инструмент не обновляется. За это время часть источников деградировала:
- dns.bufferover.run — периодически меняет формат JSON, старые версии ломаются
- VirusTotal — без свежего API-ключа часто молчит
- findsubdomains (Spyse) — нестабилен без платной подписки, сервис сменил владельцев
- crt.sh — перегружается под нагрузкой, даёт таймауты
Но это не главная проблема. Главное: Assetfinder даёт неполный список. Если нашли 50 поддоменов — это нижняя граница на основе доступных источников. Реальное число может быть больше.
| Характеристика | assetfinder | Subfinder | OWASP Amass |
|---|---|---|---|
| Скорость | Секунды | Десятки секунд | Минуты |
| Глубина | Быстрый OSINT | 40+ API | Пассив + актив + брутфорс |
| Настройка | Одна команда | Файл конфигурации | Сложная |
| Поддержка | Не обновляется | Активная | Сообщество OWASP |
| GitHub | tomnomnom/assetfinder | projectdiscovery/subfinder | owasp-amass/amass |
Итог
Assetfinder не решает проблему. Он делает её видимой. А визуализация - уже ключ к понимаю что защищать.
Если у вас есть внешний периметр — он уже известен другим. Вопрос не в том, найдут ли поддомены. Вопрос — кто сделал это раньше: вы или атакующий.
Когда вы последний раз видели полный список своих внешних хостов — не из CMDB, а из внешней разведки?