Kunyu: обзор инструмента для сбора внешних активов компании

1095
Kunyu: обзор инструмента для сбора внешних активов компании

Kunyu — консольный инструмент от KnownSec 404 Team для сбора и обогащения данных о внешних активах компании. Проще говоря, он помогает быстро собрать в одном месте домены, поддомены, IP-адреса, открытые порты, веб-сервисы, сертификаты, отпечатки, баннеры и часть признаков уязвимых систем. Проект лежит на GitHub, написан в основном на Python и завязан на данные ZoomEye.

Главная ценность Kunyu не в том, что инструмент «сканирует весь интернет за вас». Такой формулировке лучше не верить. Kunyu удобен как оболочка вокруг киберпоиска и первичной разведки внешнего периметра: задать запрос, выгрузить результаты, посмотреть связанные домены, проверить сертификаты, найти похожие активы по favicon, сохранить данные в Excel и построить карту распределения IP. Для службы ИБ, пентестера на согласованном проекте или синей команды это может резко ускорить скучную, но критичную задачу — понять, что компания вообще торчит наружу.

Зачем бизнесу вообще карта внешних активов

Проблема почти никогда не выглядит красиво. Внутри компании есть инвентарные системы, учет серверов, таблицы у администраторов, облачные кабинеты, старые тестовые стенды, домены от бывших подрядчиков и забытые панели управления. На совещаниях все уверены, что периметр известен. Потом находится старый VPN-шлюз, Grafana без нормальной авторизации, почтовый интерфейс на заброшенном поддомене или тестовый стенд с устаревшим фреймворком.

Управление поверхностью атаки строится именно вокруг такого разрыва между «мы знаем инфраструктуру» и «интернет видит инфраструктуру иначе». На SecurityLab есть хороший разбор, почему поверхность атаки постоянно меняется: компании запускают новые сервисы, переносят системы в облако, добавляют подрядчиков и редко синхронизируют все изменения с безопасностью.

Kunyu полезен там, где нужно быстро перейти от абстрактного вопроса «что у нас снаружи?» к рабочему набору данных. Не идеальному, не юридически исчерпывающему, но пригодному для проверки, сортировки и дальнейшей ручной валидации.

Как работает Kunyu и почему без ZoomEye далеко не уехать

Kunyu использует подход киберкартографии: берет данные из поисковой системы ZoomEye и дает оператору консоль для запросов, фильтрации, просмотра баннеров, поиска по сертификатам, отпечаткам и связанным доменам. В документации авторы прямо описывают Kunyu как инструмент для более эффективного сбора корпоративных активов и знакомства специалистов с технологиями киберпространственного картирования.

Из этого вытекает первое ограничение: Kunyu не равен полноценной платформе управления активами. Инструмент не заменяет CMDB, EDR, сканер уязвимостей, облачный инвентарь и процесс согласования владельцев систем. Kunyu смотрит на внешний след через призму доступных источников. Если ZoomEye не видел актив, если актив спрятан за CDN, если сервис открывается только из определенной сети или работает на временном адресе, Kunyu может ничего не показать.

Второе ограничение финансовое. В README проекта указано, что для работы нужны учетные данные ZoomEye, а API ZoomEye сейчас требует оплаты. Для Seebug тоже нужен ключ, если вы хотите подтягивать сведения об уязвимостях. Бесплатная установка пакета не делает бесплатными данные, на которых инструмент живет.

Kunyu лучше воспринимать как удобную консоль для разведки и инвентаризации внешнего периметра, а не как «одну кнопку», после которой компания внезапно получает полную картину всех активов.

Установка Kunyu: быстрый старт на Linux, macOS и Windows

Проект поддерживает Python 3. В документации упоминается диапазон Python 3.2–3.12, но на практике для новых окружений разумнее брать актуальный Python 3.10–3.12 и отдельное виртуальное окружение. Так проще не сломать системные пакеты и легче удалить инструмент после проверки.

python3 -m venv .venv
 source .venv/bin/activate
 pip install kunyu

После установки нужно инициализировать конфигурацию. Вариант с API-ключом предпочтительнее, потому что вход по логину и паролю в документации уже назван устаревшим или менее желательным.

kunyu init --apikey <ZOOMEYE_API_KEY> --seebug <SEEBUG_KEY>
 kunyu console

Установка из исходников выглядит так:

git clone https://github.com/knownsec/Kunyu.git
 cd Kunyu
 pip3 install -r requirements.txt
 python3 setup.py install
 kunyu console

На Windows документация предлагает запускать консоль из каталога проекта:

cd kunyu
 python3 console.py

Есть нюанс, который лучше проверить до внедрения в рабочий контур. На странице GitHub указан релиз v2.0.0 от 6 февраля 2025 года, а на PyPI последней версией числится 2.1 от 20 января 2025 года. Еще одна странность: GitHub показывает GPL-2.0, а PyPI в метаданных указывает MIT. Для личной лаборатории расхождение почти не важно, но для корпоративной поставки, включения в коммерческий продукт или внутренний репозиторий такой конфликт лицензий и версий надо разобрать отдельно.

Базовые команды: что реально можно собрать

Работа идет через интерактивную консоль. После запуска kunyu console доступны команды поиска, настройки полей, выгрузки результатов и вспомогательные функции.

Команда Что делает Где полезна
Search <Query> Выполняет общий поиск по синтаксису ZoomEye Быстро найти активы по продукту, порту, заголовку, организации или связке условий
SearchDomain <Domain> Ищет связанные домены и поддомены Собрать внешний контур вокруг основного домена компании
SearchCert <Domain> Ищет активы по SSL-сертификату Найти сервисы, использующие тот же сертификат или связанные сертификатные признаки
SearchIcon <File>/<URL> Ищет активы по favicon Найти панели одного продукта, клоны интерфейса, старые инсталляции и похожие сайты
SearchBatch <File> Пакетно проверяет список активов Прогнать список IP или доменов из внешнего источника
AliveScan Проверяет доступность результатов последнего поиска Отсеять мертвые записи перед ручной проверкой
CreateMap Строит карту географического распределения активов Понять, где физически или логически распределены найденные адреса
ExportPath Показывает путь к сохраненным результатам Быстро найти Excel-выгрузку после серии запросов

Пример аккуратного стартового сценария для своей компании может выглядеть так: сначала ищем связанные домены, затем сужаем результаты по портам и продуктам, потом проверяем сертификаты и favicon, после чего экспортируем таблицу и вручную подтверждаем владельцев активов.

kunyu console
 
 SearchDomain example.com
 set fields = ip,domain,url,port,service,title,product,version,update_time
 Search example.com +port:443
 SearchCert example.com
 SearchIcon https://www.example.com/favicon.ico
 AliveScan
 CreateMap
 ExportPath

Синтаксис запросов зависит от ZoomEye, поэтому лучше не переносить dork-запросы из Shodan или Censys механически. В README Kunyu отдельно предупреждает, что в новой версии синтаксис ZoomEye 2.0 изменился. Если запрос возвращает странно мало результатов, сначала проверяйте сам запрос в ZoomEye, а уже потом ругайте Kunyu.

Что Kunyu находит лучше всего

Самый понятный сценарий — инвентаризация забытых внешних сервисов. Например, у компании есть основной домен, несколько продуктовых поддоменов, старый портал для партнеров, тестовый стенд, отдельная админка в облаке и пара IP из старого провайдера. Kunyu помогает собрать такую россыпь в один набор результатов, где видны порты, баннеры, заголовки страниц, признаки продуктов и время обновления данных.

Поиск по сертификату часто дает более точную связку, чем поиск по домену. Компания могла переехать на новый домен, использовать общий сертификат на нескольких сервисах или забыть удалить старый endpoint. Поиск по favicon тоже бывает неожиданно полезным: внутренние панели, стандартные интерфейсы и старые продукты часто оставляют одинаковые иконки, хотя домены и IP выглядят никак не связанными.

Пакетный поиск удобен в пентесте и внутреннем аудите, когда у команды уже есть список адресов от заказчика или из собственной системы учета. Вместо ручной проверки каждого IP можно быстро обогатить таблицу данными из ZoomEye, а затем выбрать самые подозрительные активы для дальнейшей проверки.

Еще один сценарий — быстрая оценка влияния свежей уязвимости. Если уязвим конкретный продукт, версия или тип устройства, Kunyu помогает собрать кандидатов на проверку. Но слово «кандидатов» здесь ключевое. Баннеры в киберпоисковиках часто устаревают, продукты маскируются, версии не всегда видны, а совпадение по заголовку страницы не доказывает уязвимость.

Где Kunyu легко вводит в заблуждение

Первая ловушка — вера в полноту. Внешняя карта активов всегда неполная. Сканирующие поисковики видят интернет с собственной частотой, собственными правилами обхода и собственными ошибками. Один источник может находить то, что пропускает другой. Поэтому результаты Kunyu стоит сравнивать с данными DNS, регистратора, облачных кабинетов, WAF, журналов прокси, SIEM и внутренней системы учета.

Вторая ловушка — ложные связи. Поиск по favicon может подтянуть чужие сайты с той же иконкой. Поиск по сертификату может захватить инфраструктуру хостера, интегратора или бывшего подрядчика. Поиск по организации в баннере может вернуть мусор, потому что владельцы сервисов редко пишут аккуратные машинно-читаемые метаданные.

Третья ловушка — этика и право. Kunyu содержит команды, которые полезны в авторизованном аудите, но опасны за пределами согласованного периметра. Например, HostCrash связан с проверкой скрытых активов через заголовок Host, а PupilSearch ищет чувствительные данные в доступных ответах и исторических баннерах. Такие функции нельзя использовать как игрушку «посмотрим, что найдем у чужой компании».

Работать с Kunyu надо только в рамках законного и письменно разрешенного периметра. Для России особенно важно учитывать нормы УК РФ, закон о персональных данных, правила доступа к информационным системам и договор с владельцем инфраструктуры. Инструмент не предназначен для обхода блокировок, несанкционированного доступа, скрытого сканирования чужих сетей или сбора персональных данных без правового основания.

Как встроить Kunyu в нормальный процесс ИБ

Разовый запуск полезен, но настоящая польза появляется при регулярном цикле. Например, раз в неделю команда собирает данные по основным доменам, выгружает Excel, сравнивает с прошлым снимком, отмечает новые активы и передает владельцам вопросы: кто запустил сервис, зачем открыт порт, есть ли владелец, где заявка на ввод в промышленную эксплуатацию, почему система не попала в учет.

Kunyu хорошо работает как первый слой такого процесса. Дальше нужны валидация и приоритизация. Найденный порт 443 сам по себе не страшен. Старая панель управления с дефолтным заголовком, торчащая из чужого облачного аккаунта, уже требует реакции. Еще выше приоритет у сервисов с признаками устаревшего продукта, административного интерфейса, утечки токенов или совпадения с публичной критической уязвимостью.

Для зрелого процесса можно собрать простую схему:

  • Kunyu собирает внешний след по доменам, сертификатам, favicon и IP.
  • Ответственный специалист чистит ложные совпадения и отмечает уверенность по каждому активу.
  • Владельцы систем подтверждают принадлежность и назначают критичность.
  • Сканер уязвимостей проверяет только разрешенные активы.
  • SIEM или таблица изменений фиксирует новые и исчезнувшие сервисы.
  • Команда ИБ заводит задачи на закрытие лишних портов, обновление версий, перенос за VPN или снятие старых стендов.

Если сразу пытаться сделать из Kunyu «корпоративный центр управления периметром», результат будет хрупким. Если использовать инструмент как быстрый сборщик внешних сигналов, ценность заметна почти сразу.

Сравнение с Shodan, Censys, FOFA и другими поисковиками

Kunyu не конкурирует напрямую с Shodan, Censys, FOFA или ZoomEye. Он скорее сидит поверх ZoomEye и дает удобный рабочий интерфейс под конкретные задачи сбора активов. В этом смысле сравнивать надо не «Kunyu против Shodan», а «ручной поиск в веб-интерфейсе против консольного сценария с экспортом, пакетной обработкой и дополнительными командами».

У такого подхода есть плюс: специалист не прыгает между вкладками, а ведет расследование в одной консоли. Есть и минус: качество результата наследует ограничения источника. Если нужен широкий взгляд на периметр, лучше сравнивать данные нескольких систем. В материалах SecurityLab про ASM-сервисы хорошо видно, что управление внешней поверхностью атаки давно превратилось в отдельный класс решений, где важны не только поиск IP и портов, но и постоянное обновление, риск-скоринг, интеграция с процессами и проверка уязвимостей.

Подход Сильная сторона Слабое место
Kunyu Быстрая консольная разведка, экспорт, поиск по доменам, сертификатам и favicon Зависимость от ZoomEye, ручная валидация, ограниченная роль в жизненном цикле активов
Веб-интерфейс ZoomEye Прямая работа с источником данных Менее удобно для повторяемых сценариев и пакетной обработки
Shodan, Censys, FOFA, Netlas Разные методики индексации и разное покрытие Данные расходятся, требуется нормализация и проверка
Коммерческая ASM-платформа Постоянный мониторинг, приоритизация, отчеты, интеграции Цена, зависимость от поставщика, иногда непрозрачная логика риска

На что смотреть перед использованием в компании

Перед запуском Kunyu в рабочем контуре надо ответить на несколько скучных, но важных вопросов. Есть ли разрешение на сбор данных по выбранным доменам и IP? Кто владелец API-ключа ZoomEye? Где будут храниться выгрузки? Попадут ли в Excel чувствительные данные? Кто будет чистить ложные совпадения? Как долго хранить результаты? Можно ли передавать данные подрядчику?

Отдельно проверьте лицензию и происхождение пакета. Из-за расхождения между GitHub и PyPI по версии и лицензии лучше зафиксировать, откуда именно вы ставите Kunyu, какую версию используете и какие условия применяете. Для внутренней лаборатории хватит заметки в README проекта. Для банка, оператора связи или крупной промышленной компании лучше привлечь юриста или специалиста по открытым компонентам.

Еще один практический момент — локальная безопасность. API-ключи ZoomEye и Seebug нельзя хранить в общих скриптах, пересылать в чатах и оставлять в истории команд на сервере общего доступа. Результаты поиска тоже не безобидны: таблица с внешними сервисами, версиями и признаками админок сама по себе становится чувствительным документом.

Кому Kunyu подходит, а кому нет

Kunyu хорошо подходит небольшим командам ИБ, пентестерам, исследователям и администраторам, которым нужна быстрая внешняя инвентаризация без тяжелой платформы. Инструмент особенно полезен, если команда уже понимает синтаксис киберпоисковиков и умеет отличать подтвержденный актив от совпадения по косвенным признакам.

Kunyu плохо подходит как единственный источник истины для крупной компании. Если у вас десятки дочерних обществ, сотни доменов, несколько облаков, подрядчики, M&A и жесткие регуляторные требования, одной консолью проблему не закрыть. Нужны процессы владельцев активов, регулярная сверка, интеграции с облаками, журналами, CMDB и системой управления уязвимостями.

Для обучения инструмент хороший. Kunyu наглядно показывает, как из разрозненных внешних признаков складывается карта компании: домен ведет к сертификату, сертификат к IP, favicon к похожим сервисам, баннер к продукту, версия к потенциальному риску. Для практической защиты такая связность ценнее красивого отчета.

FAQ

Kunyu сам сканирует инфраструктуру компании?

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

Можно ли использовать Kunyu бесплатно?

Сам проект открыт, но для нормальной работы нужен доступ к ZoomEye API. В документации Kunyu указано, что ZoomEye API требует оплаты. Значит, бюджет надо считать не по установке пакета, а по доступу к данным и времени специалиста на проверку результатов.

Kunyu найдет все поддомены компании?

Нет. Kunyu может найти часть связанных доменов и поддоменов через доступные данные, но не гарантирует полноту. Для серьезной инвентаризации результаты надо сравнивать с DNS-зонами, регистраторами, сертификатами, облачными аккаунтами и внутренними системами учета.

Можно ли запускать Kunyu по чужим компаниям?

Без разрешения владельца инфраструктуры — нет. Даже пассивная разведка может нарушать закон, договоры и правила площадок, а активные проверки тем более требуют согласованного периметра. Используйте Kunyu для своих активов, учебной лаборатории или официального аудита.

Kunyu заменяет ASM-платформу?

Нет. Kunyu помогает собрать и первично разобрать внешний след, но не дает полноценный жизненный цикл управления активами: владельцы, критичность, согласование изменений, постоянный мониторинг, интеграции, риск-скоринг и контроль исправлений остаются за процессами и другими системами.

Вывод: сильный инструмент для разведки, но не кнопка «найти все»

Kunyu стоит попробовать, если вам нужно быстро собрать внешние активы компании в рабочую карту: домены, IP, порты, сертификаты, похожие веб-интерфейсы, баннеры и признаки продуктов. Инструмент особенно хорошо ложится на задачи первичного аудита, подготовки к пентесту, поиска забытых сервисов и быстрой оценки периметра после новости о новой уязвимости.

Но сила Kunyu заканчивается там, где начинается корпоративная дисциплина. Найденные активы надо подтверждать, владельцев надо искать, ложные совпадения надо чистить, а спорные функции использовать только в легальном и согласованном контуре. Если держать это в голове, Kunyu становится не игрушкой для хаотичной разведки, а полезным инструментом для нормального разговора с бизнесом: вот что видно снаружи, вот что мы не учитывали, вот что надо закрыть первым.

Kunyu актив периметр zoomeye разведка уязвимость безопасность
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
цель обнаружена
«Мы слишком маленькие, чтобы нас атаковать»
самая дорогая фраза в истории бизнеса.
Видят ли вас? →

Юрий Кочетов

Здесь я делюсь своими не самыми полезными, но крайне забавными мыслями о том, как устроен этот мир. Если вы устали от скучных советов и правильных решений, то вам точно сюда.

Рекламодатель
АО «Позитив Текнолоджиз»
ИНН: 7718668887
ptsecurity.com↗
АО «Позитив Текнолоджиз»