Раскрытый бронзовый компас на тёмной матовой поверхности: вместо стрелки — миниатюрная печатная плата, указывающая на силуэты зданий из окисленного металла. По ободу лазерная гравировка команд разв...


По данным CrowdStrike Global Threat Report 2025, 75% вторжений в 2024 году начинались с действительных учётных данных. IBM X-Force добавляет масштаба: в dark web ежедневно всплывает порядка 6000 свежих credential-пар, а рост атак с valid credentials - 71% год к году. Но украденный пароль без адреса - мёртвый груз. Атакующему нужна карта инфраструктуры жертвы: конкретный IP, конкретный сервис, куда подставить логин. Metabigor решает это в одну команду: metabigor net --org "Target" вытаскивает все IP-блоки организации из публичных реестров. Без API-ключей. Без лимитов на запросы. Для blue team это способ увидеть собственный периметр глазами атакующего и раскопать активы, которых нет ни в одной CMDB. Но сразу оговорка - не все модули Metabigor работают без ключей, и путаница в этом вопросе ломает пайплайны. Разберёмся, где проходит граница.

Как атакующий видит вашу инфраструктуру снаружи​

Пассивная разведка инфраструктуры - первый этап kill chain по MITRE ATT&CK, тактика Reconnaissance. Атакующий собирает IP-диапазоны, домены, данные о сертификатах и сервисах цели до того, как отправит первый пакет в её сеть. Результат разведки определяет вектор: забытый Jenkins на legacy-подсети - кандидат для эксплуатации дефолтных credentials, staging-домен без WAF - точка входа для веб-атак, IP-блок, не покрытый EDR - зона для закрепления.

По Verizon DBIR 2025, 38% утечек связаны с кражей учётных данных. Атакующий не взламывает периметр - он входит через дверь, о которой security-команда забыла. Metabigor OSINT разведка показывает именно такие двери: IP-блоки, зарегистрированные на организацию, но не попавшие в инвентаризацию.

Для blue team запуск OSINT recon по собственной инфраструктуре - не факультатив, а гигиенический минимум. CMDB отстаёт от реальности на месяцы: облачные ресурсы создаются без тикетов, тестовые серверы живут годами после закрытия проекта, приобретённые компании приносят с собой целые подсети, о которых никто не знает. Пассивная разведка инфраструктуры закрывает разрыв между тем, что вы думаете у вас есть, и тем, что видит атакующий.

Честная карта модулей Metabigor: безключевой OSINT и его границы​

В README на GitHub Metabigor позиционируется как «OSINT without API key hassle». Звучит красиво, но это маркетинговое упрощение. Инструмент состоит из нескольких модулей, и их зависимость от API принципиально различается.

Модуль net обращается к публичным базам интернет-регистраторов - RIPE NCC, ARIN, APNIC - и парсит данные Whois и BGP без аутентификации. Это действительно безключевой OSINT.

Модуль cert работает через Censys Search API и требует API-ключ Censys. Без ключа модуль не вернёт ничего. Бесплатный тариф Censys ограничен по числу запросов в месяц - актуальные лимиты на censys.io/pricing. Никакого «автоматического распределения нагрузки» Metabigor не делает: вы работаете в рамках квоты вашего аккаунта.

Ниже - карта покрытия с привязкой к MITRE ATT&CK. В таблице явно разграничено, что покрывает Metabigor сам, а что требует сопутствующих утилит.

КомпонентAPI-ключИсточник данныхMITRE ATT&CK (Reconnaissance)
metabigor net --orgНетRIPE, ARIN, APNICT1590.005 (IP Addresses)
metabigor net --asnНетBGP, RIPE StatT1590.005 (IP Addresses)
metabigor net (whois-данные)НетWhois-серверы регистраторовT1596.002 (WHOIS), частично
metabigor certДа (Censys API)Censys (индекс CT-логов)Прямого покрытия ATT&CK нет
dig / dnsx (сопутствующие)НетDNS-резолверыT1596.001 (DNS/Passive DNS)
whois (сопутствующий)НетWhois-серверыT1596.002 (WHOIS)
crt.sh (сопутствующий)НетCertificate TransparencyT1590.001 (Domain Properties), частично
nmap / masscan (сопутствующие)НетАктивное сканированиеT1595.001 (Scanning IP Blocks)

T1590.005 (IP Addresses) и частично T1596.002 (WHOIS) покрываются непосредственно Metabigor через модуль net. Техники T1596.001 (DNS/Passive DNS) и T1590.001 (Domain Properties) закрываются сопутствующими утилитами - dig, dnsx, host. Metabigor сам DNS-резолвинг не делает, поддомены не ищет, порты не сканирует. Путать покрытие одного инструмента с покрытием всего пайплайна - типичная ошибка, которая создаёт ложное ощущение полноты разведки.

Metabigor: установка и использование​

Требования к окружению:
  • Go 1.17+ (Metabigor написан на Go)
  • Linux или macOS (на Windows нужен WSL или ручная установка whois/dig - нативная поддержка Windows официально не подтверждена)
  • Сетевой доступ к RIPE, ARIN, APNIC - не заблокирован корпоративным прокси или файрволом
  • Для модуля cert: аккаунт Censys с API-ключом, переменные CENSYS_API_ID и CENSYS_API_SECRET
Bash:
# Установка через go install (рекомендуемый способ)
go install github.com/j3ssie/metabigor@latest

# Альтернатива - сборка из исходников (сверяйтесь с README, структура проекта может меняться)
git clone https://github.com/j3ssie/metabigor.git
cd metabigor
go build -o metabigor main.go  # если main.go не в корне или сборка падает: go build ./...
sudo mv metabigor /usr/local/bin/
После установки - metabigor --help для списка модулей, metabigor net --help для справки по конкретному модулю. Базовый синтаксис: metabigor <модуль> <флаги>. Вывод - plain text, по одной записи на строку, что удобно для пайплайнов с |, tee, sort -u.

Модуль net - безключевая разведка сетевой инфраструктуры​

[Применимо: внешний аудит периметра, asset discovery, threat intelligence]

Модуль net - ядро безключевого OSINT в Metabigor. Он парсит данные из публичных баз интернет-регистраторов и возвращает IP-диапазоны (CIDR-блоки), зарегистрированные на указанную организацию или ASN. Сбор данных об инфраструктуре без отправки единого пакета к целевым системам - чистая пассивка.

Предусловия:
  • Работает если: целевая организация имеет собственные IP-блоки, зарегистрированные в RIPE/ARIN/APNIC (фигурирует как org-name в Whois-записях); сетевой доступ к реестрам не заблокирован.
  • Не работает если: организация размещает инфраструктуру полностью в облаке (AWS, Azure, GCP) без собственных IP-блоков и ASN; организация арендует IP у провайдера и не указана в Whois как отдельная org.

Поиск по названию организации​

Команда metabigor net --org "Sberbank" шлёт запросы к RIPE, ARIN и APNIC, ищет записи, где org-name содержит указанную строку, и возвращает список CIDR-блоков:
Код:
194.186.207.0/24
194.54.14.0/24
212.44.152.0/22
Каждая строка - CIDR-нотация IP-диапазона. Первый блок /24 - 256 адресов, /22 - 1024. Вывод можно сразу передать в nmap -sn -iL ip_ranges.txt для проверки живых хостов или в masscan для быстрого обнаружения открытых портов.

Поиск по ASN​

Если известен Autonomous System Number организации, metabigor net --asn AS47541 вернёт полный список IP-блоков, анонсируемых этой AS. ASN можно узнать через BGP.he.net или BGPView - оба ресурса бесплатны и не требуют регистрации.

Поиск по ASN точнее, чем по org-name: он опирается на BGP-таблицы, а не на текстовое совпадение в Whois. Для организаций с распространёнными названиями (Delta, Global, National) поиск по ASN - единственный адекватный вариант. Иначе результат засорится блоками десятков компаний с похожими именами.

Типичные false positive​

IP-блоки из вывода Metabigor нельзя принимать за истину без проверки. Три источника ошибок:
  • Устаревшие записи. IP-блоки, проданные или переданные другой организации, но ещё не обновлённые в реестре. Whois-данные обновляются с задержкой от дней до месяцев.
  • Совпадение по подстроке. Запрос --org "Delta" вернёт блоки Delta Air Lines, Delta Electronics и десятка других компаний. Решение - использовать точное юридическое название или переходить на поиск по ASN.
  • Арендованные блоки. Блоки, которые организация временно арендовала и уже вернула провайдеру. Реестр может показывать старую запись.
Верификация обязательна: whois <первый_IP_из_блока> - проверяем поля org-name, descr, country. Если организация в Whois не совпадает с целевой - блок выкидываем.

Модуль cert - атрибуция инфраструктуры через Censys API​

Повторю для тех, кто пролистал: metabigor cert - не безключевой OSINT. Модуль обращается к Censys Search API, а не напрямую парсит публичные CT-логи. Без установленных переменных окружения для Censys API (исторически CENSYS_API_ID и CENSYS_API_SECRET, но имена могли измениться после миграции Censys на API v2) модуль не вернёт ничего.

Бесплатный тариф Censys ограничен по числу запросов в месяц (конкретные лимиты меняются - проверяйте на censys.io/pricing). Metabigor не обходит эти лимиты и не распределяет нагрузку - каждый вызов metabigor cert тратит запрос из вашей квоты.

Механика работы​

Модуль запрашивает Censys по доменному имени и возвращает IP-адреса серверов, на которых обнаружены TLS-сертификаты с этим доменом в полях Subject Alternative Name (SAN) или Common Name (CN). Это позволяет найти серверы за CDN или балансировщиком нагрузки: если сертификат выдан на конкретный домен и установлен на сервере, Censys его проиндексирует.

Использование: metabigor cert -q target.com (точный синтаксис флагов проверяйте через metabigor cert --help - он менялся между версиями, а интеграция с Censys может быть неработоспособна после миграции Censys API v1→v2, изменившей схему аутентификации и эндпоинты). Результат - список IP-адресов, по одному на строку.

Предусловия:
  • Работает если: есть валидный Censys API-ключ; целевой домен использует публично выпущенные TLS-сертификаты; серверы с этими сертификатами доступны для сканирования Censys.
  • Не работает если: API-ключ отсутствует или превышена квота; домен использует self-signed сертификаты, не попавшие в CT-логи; серверы за строгим файрволом, блокирующим сканирование Censys.

Безключевая альтернатива для CT-разведки​

Если ключ Censys не нужен или недоступен - для поиска по Certificate Transparency логам есть crt.sh. Публичный интерфейс, регистрация не нужна. Запрос curl -s "https://crt.sh/?q=%25.target.com&output=json" | jq -r '.[].name_value' | sort -u вернёт все домены, упомянутые в сертификатах для target.com. Это не полный эквивалент metabigor cert - crt.sh не показывает IP-адреса серверов, только доменные имена из сертификатов - но задачу обнаружения поддоменов без API-ключа закрывает.

Безключевой пайплайн OSINT: от организации до карты активов​

Metabigor OSINT разведка раскрывается в пайплайне - цепочке утилит, где выход одного инструмента становится входом для следующего. Ниже - рабочий пайплайн для blue team на безключевых источниках.

[Применимо: внешний аудит периметра, continuous asset discovery, SOC monitoring]

Требования к окружению:
  • Metabigor (модуль net)
  • dnsx (DNS-резолвер от ProjectDiscovery, github.com/projectdiscovery/dnsx) или стандартный dig
  • curl + jq (для работы с crt.sh API)
  • Bash-совместимая оболочка
Задача: получить полную карту внешней инфраструктуры организации - IP-блоки, связанные домены, активные хосты.
Bash:
# Шаг 1: IP-блоки организации из реестров (без API)
metabigor net --org "Example Corp" | tee ip_ranges.txt

# Шаг 2: поддомены из CT-логов (без API, через crt.sh)
curl -s "https://crt.sh/?q=%25.example.com&output=json" \
  | jq -r '.[].name_value' | sort -u | tee ct_domains.txt

# Шаг 3: DNS-резолвинг найденных доменов (без API)
cat ct_domains.txt | dnsx -silent -a -resp | tee resolved.txt

# Шаг 4: кросс-проверка - какие IP попадают в наши блоки
# NB: grep -F не понимает CIDR-нотацию, используем mapcidr для корректного матчинга
cat resolved.txt | awk '{print $NF}' > resolved_ips.txt
mapcidr -l resolved_ips.txt -fl ip_ranges.txt -o matched.txt
# NB: флаги mapcidr менялись между версиями - проверьте `mapcidr -h` для актуального синтаксиса
Что получаем на выходе:
  • ip_ranges.txt - CIDR-блоки, зарегистрированные на организацию
  • ct_domains.txt - все домены из Certificate Transparency логов
  • resolved.txt - домены с их текущими A-записями
  • matched.txt - домены, хостящиеся на инфраструктуре организации
Кросс-проверка resolved.txt с ip_ranges.txt через CIDR-aware инструмент (например, mapcidr от ProjectDiscovery) показывает, какие из найденных доменов реально сидят на IP-блоках организации, а какие ведут на CDN или облачный хостинг. Домен на CDN - одна модель защиты, домен на собственном IP без CDN - другая; для blue team это разный уровень контроля.

Пайплайн покрывает четыре техники MITRE ATT&CK из тактики Reconnaissance:
  • T1590.005 (IP Addresses) - шаг 1, metabigor net
  • T1596.002 (WHOIS) - частично через metabigor net (парсинг Whois-данных реестров), полноценно - через отдельную утилиту whois на этапе верификации
  • T1596.001 (DNS/Passive DNS) - шаг 3, dnsx
  • T1590.001 (Domain Properties) - шаги 2-3, crt.sh + dnsx
Весь пайплайн отрабатывает за 5-15 минут (зависит от размера организации и скорости DNS-резолвинга) и не отправляет ни одного пакета в целевую инфраструктуру. Если далее IP-блоки уходят в nmap или masscan для активного сканирования - это уже T1595.001 (Scanning IP Blocks), выход за рамки пассивной разведки. Для автоматизации OSINT разведки на постоянной основе оберните пайплайн в cron-задачу с запуском раз в неделю. Каждый запуск сохраняет результат в файл с датой, diff между текущим и предыдущим запуском - ваш alert: новый CIDR или домен в diff означает, что кто-то поднял сервер или зарегистрировал домен без ведома security-команды.

Если хочется отработать такой пайплайн руками - на HackerLab.pro в категории OSINT можно собрать его самостоятельно. Платформа Codeby с 12 категориями заданий, нужна регистрация.

Разведка сетевой инфраструктуры: кросс-проверка и верификация​

Metabigor - не оракул. Результаты модуля net содержат false positive, и передавать их напрямую в активный сканер без верификации - путь к сканированию чужой инфраструктуры. Для blue team это юридический риск; для пентестера - выход за рамки scope.

Три правила верификации​

Whois-подтверждение. Каждый CIDR из вывода Metabigor проверяется через whois <первый_IP_из_блока>. Сверяйте поля org-name, descr, country, netname. Организация в Whois не совпадает с целевой - блок выкидываем.

BGP-валидация. Проверьте ASN через BGP.he.net: принадлежит ли он целевой организации, какие prefix-блоки анонсируются. CIDR, не анонсируемый ни одним ASN организации - либо устаревшая запись, либо блок уже у другого оператора.

Reverse DNS. Для IP из подтверждённых блоков запустите dig -x <IP> или батчевый dnsx -ptr -l verified_ips.txt. PTR-записи часто содержат hostname вида staging-01.internal.example.com - это подтверждает принадлежность хоста и подсказывает его назначение. Отсутствие PTR-записи тоже информативно: может быть неуправляемый хост, о котором все забыли.

Типичные ошибки при разведке без API ключей​

📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме

Большинство SOC-команд, с которыми я работал за последние два года, знают свою инфраструктуру хуже, чем средний атакующий с Metabigor и десятью минутами свободного времени. CMDB ведётся вручную, обновляется при заведении тикета, а тикет заводится «потом». Shadow IT - не исключение, а норма: тестовые серверы разработчиков, dev-окружения на забытых подсетях, домены от закрытых проектов, IP-блоки приобретённых компаний. Бессмысленно тратить бюджет на EDR и SIEM, если вы не знаете полный список активов, которые эти инструменты должны защищать.

Continuous asset discovery - не маркетинговый buzz, а тот самый гигиенический минимум. Мой прогноз: через год-два пайплайны вроде описанного выше станут стандартной частью SOC-процесса наравне с мониторингом CT-логов и Shodan-алертами. Команды, которые до сих пор считают пассивную разведку «делом пентестеров», будут проигрывать уже на этапе инвентаризации - атакующий не ждёт, пока вы обновите CMDB. Попробуйте прогнать пайплайн из этой статьи по собственной организации. Если в diff появится хоть один CIDR, о котором вы не знали - значит, атакующий знал о нём раньше вас. Если интересно, как другие SOC-команды строят continuous recon, - на codeby.net есть тред по asset discovery, где разбираем конкретные пайплайны.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🧭 Навигатор · ИБ 2026
Не знаешь, какой трек твой?
5 направлений ИБ, реальные зарплаты и точка входа для каждого — в одном треде.
JuniorSenior+
100K → 600K+ ₽ /мес
Открыть навигатор →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab