Гайнуллина Екатерина

Инженер по информационной безопасности, Отдел развития Производственного департамента Security Vision

Введение

В современном интернете всё, что подключено к сети, может быть найдено — было бы желание и подходящий инструмент. Сканеры вроде Shodan, ZoomEye, Netlas, Censys, FOFA и Criminal IP давно вышли за рамки «поисковиков для хакеров» и стали рабочими лошадками для специалистов по кибербезопасности, Red Team, SOC-аналитиков и OSINT-энтузиастов. Они позволяют буквально заглянуть в «техническое подбрюшье» интернета: найти уязвимые камеры, забытые базы данных, тестовые серверы без авторизации и промышленное оборудование, случайно выставленное наружу.

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

В этой статье приводится сравнение шести наиболее популярных и полезных поисковых систем открытых хостов. Рассматриваются особенности архитектуры, синтаксис запросов, доступность функций, а также возможности каждой платформы — включая API, интеграции с другими решениями, систему алертов, поиск по сертификатам, изображениями и т.д. Отдельное внимание уделено примерам практического применения и оценке релевантности данных. Это первая часть серии, посвящённой сравнительному обзору. В ней подробно рассматриваются возможности Shodan и ZoomEye. В следующих частях будет проведён анализ Censys, FOFA, Netlas и Criminal IP.

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

Платформа

Запуск

Охват портов

Бесплатно

Платные планы

Уникальные особенности

Shodan

2009

~1237 портов (IPv4)

Да (очень ограниченно)

$49 разово (Lifetime), далее от $69/мес

Мониторинг своих IP (Shodan Monitor), поиск уязвимостей (фильтр vuln:), интеграция с множеством утилит

ZoomEye

2013

~3828 портов (IPv4/IPv6)

Да (до 10k результатов/мес)

От ~$70/мес (30k результатов)

Два режима поиска (Host/Web), вкладка уязвимостей (Seebug интеграция), on-demand сканирование целей

Censys

2015

Все 65k портов (IPv4, частично IPv6)

Да (250+ запросов, ограничены поля)

Enterprise (дорого, индивидуально)

Структурированные данные по сервисам, отдельный поиск по сертификатам, сильный API для исследований

FOFA

~2017

>1200 портов (IPv4, частично IPv6)

Да (только 100 результатов)

Персонал ~$100/год (10k результатов/запрос), более высокие VIP-планы

Поиск по содержимому страниц (body), поиск по favicon (hash), алерты на новые результаты

Netlas

2022

146 портов (публ.) / ~1300 (приват.)

Да (Community API, ~50 запросов/день)

Freelancer $49/мес, Business $249/мес

Индексирует домены + DNS, равномерное обновление данных, streaming API, интеграции (браузер, Maltego)

Criminal IP

2022

~65535 портов (IPv4, honeypots, пассивный анализ)

Да (ограниченные кредиты)

Базовый ~$29/мес и выше

Оценка риска IP (IP Risk Score), поиск по изображениям (OCR), детектирование прокси/VPN/сканеров, отчёты по доменам (URL-сканер)

Как видно, каждая платформа имеет свою специфику. Далее перейдём к подробному обзору каждой, включая примеры использования.

Shodan

Общая характеристика

Shodan – самый известный поисковик интернет-устройств, запущенный около 2009 года. Его сканеры непрерывно обходят весь адресный простор IPv4 (а частично и IPv6) и собирают данные об открытых портах и сервисах. За более чем десятилетие Shodan накопил огромную базу данных: по некоторым оценкам, он обрабатывает информацию о ~500 млн устройств и сервисов ежемесячно. География охвата – глобальная; на карте устройств Shodan традиционно лидируют США и Европа, а также крупные азиатские страны (Китай, Республика Корея, Индия и др.), то есть регионы с наибольшим числом подключённых к интернету узлов.

Глубина индексации

Изначально Shodan сканировал только популярные порты (80, 443, 21, 22, 23, 25, 3389 и т.д.), но в последние годы список значительно расширился – по состоянию на 2024 год Shodan регулярно проверяет порядка 1237 портов. Основной упор делается на наиболее распространённые: веб (HTTP/HTTPS на 80, 443, а также 8080, 8443), FTP (21), SSH (22), Telnet (23), SNMP (161), SMTP (25), RDP (3389), SIP (5060), и т.д. Менее популярные порты тоже присутствуют в сканировании, хотя и с меньшей частотой. Частота обновления Shodan зависит от востребованности порта: например, порт 80 проверяется ежедневно, тогда как редкие порты могут сканироваться раз в несколько недель. Ниже показано распределение пяти наиболее распространённых открытых портов по количеству устройств в базе Shodan (оценка по данным Shodan и независимых исследований):

 График 1: Наиболее распространённые открытые порты (Shodan, число устройств в миллионах) по состоянию на 2024 г. Обращает на себя внимание доминирование веб-портов 80 и 443.
График 1: Наиболее распространённые открытые порты (Shodan, число устройств в миллионах) по состоянию на 2024 г. Обращает на себя внимание доминирование веб-портов 80 и 443.

Shodan сохраняет для каждого найденного сервиса так называемый баннер – идентификатор сервиса или протокола и сопутствующую информацию. В записи о хосте фиксируются все обнаруженные открытые порты и полученные ответы. Например, для веб-сервера Shodan сохраняет HTTP-заголовки (Server, Date, Content-Type и др.) и часть HTML-кода страницы; для TLS-сервиса – сертификат; для SSH – параметры протокола (алгоритмы, ключи). Также автоматически присваиваются метаданные: геолокация (страна, город) и организация определяются по IP (GeoIP и WHOIS ASN). Некоторые устройства Shodan относит к категориям (tags) – например, industrial control system, webcam, router, database и т.д., – однако использовать фильтр tag: могут только корпоративные подписчики. Важная особенность Shodan – он автоматически пытается сопоставлять полученные баннеры с известными уязвимостями: для подписчиков доступен фильтр vuln: по CVE. Например, запрос vuln:CVE-2019-19781 country:DE найдёт в Shodan все уязвимые Citrix-шлюзы в Германии, а в списке результатов рядом с баннером будут указаны соответствующие CVE. Таким образом, Shodan не только показывает, какой сервис отвечает на порту, но и сразу предупреждает о известных уязвимых версиях.

Интерфейс и поиск

Веб-интерфейс Shodan интуитивно понятен. Строка поиска поддерживает как простые ключевые слова, так и специальные фильтры. По умолчанию запрос без фильтров пытается найти слово в содержимом любых баннеров. Популярны фильтры по стране (country:), городу (city:), автономной системе (asn:), организации (org:), доменному имени (hostname:), IP или сети (net:), порту (port:), названию продукта (product:) и т.д.

 На скриншоте — список поддерживаемых фильтров Shodan, сгруппированных по категориям (SSL, HTTP, Restricted и др.). Эти фильтры помогают уточнять запросы при поиске по баннерам.
На скриншоте — список поддерживаемых фильтров Shodan, сгруппированных по категориям (SSL, HTTP, Restricted и др.). Эти фильтры помогают уточнять запросы при поиске по баннерам.

Например, запрос country:RU port:22 выведет SSH-серверы в России, а org:"Energy" – устройства, принадлежащие организациям с названием Energy . Shodan также распознаёт различные поля протоколов: можно искать по содержимому заголовков HTTP (http.title, http.html), полям SSL-сертификата (ssl.cert.subject), типу устройства (device:) и пр. – вплоть до наличия скриншота удалённого экрана (has_screenshot:true). Например, has_screenshot:true city:London покажет системы (обычно VNC/RDP), для которых Shodan сделал скриншоты экрана в Лондоне.

 Скриншот удалённого рабочего стола (RDP), автоматически зафиксированный Shodan. Такие изображения позволяют моментально оценить экспонированные интерфейсы — от серверных панелей до экранов входа Windows.
Скриншот удалённого рабочего стола (RDP), автоматически зафиксированный Shodan. Такие изображения позволяют моментально оценить экспонированные интерфейсы — от серверных панелей до экранов входа Windows.

Отдельно стоит отметить Shodan Images – это своеобразная галерея скриншотов интерфейсов устройств (камер, удалённых рабочих столов и т.д.), снятых Shodan; доступ к ней также ограничен платными аккаунтами.

Результаты поиска отображаются списком IP-адресов с краткой сводкой: страна, организация, открытые порты и кусочек баннера. Кликнув по результату, можно увидеть полную информацию об узле: все собранные баннеры, метаданные, возможные доменные имена, известные уязвимости (CVE) и геолокацию на карте. Для крупных клиентов Shodan предоставляет и дополнительные интерфейсы – например, Shodan Maps (картографический просмотр устройств на карте мира) и Shodan Trends (статистика встречаемости тех или иных технологий во времени) – эти функции доступны на корпоративных тарифах.

Доступность и цены

Без регистрации Shodan позволяет выполнить лишь несколько пробных поисков. Бесплатный аккаунт предоставляет базовый доступ: веб-поиск с отображением первых 2–3 страниц результатов и ограниченный API. Для расширенного использования предлагается единоразовая подписка Shodan Membership за $49, которая навсегда («lifetime») повышает лимиты – до 1 млн результатов по поиску и существенно больший суточный лимит API-запросов. Это разовый платёж, не требующий абонентской платы – многие энтузиасты ограничиваются им, получая достаточные возможности. Для профессионального применения существуют ежемесячные планы: Freelancer ($69/мес), Small Business ($359/мес) и т.д., вплоть до корпоративных. Они дают кредиты на еще большее число запросов (от 10 тыс. до неограниченного), включают возможность он-деманд сканирования своих IP (Shodan Scanner), а также доступ к таким функциям, как Shodan Monitor (непрерывный мониторинг указанных своих сетей) – например, на бизнес-тарифе можно отслеживать в реальном времени до 16 IP-адресов, а на корпоративном до /16 сети. В целом, ценовая политика Shodan ориентирована на разные категории: от студентов и исследователей (разовая $49) до крупных компаний (десятки тысяч долларов за полный доступ к данным через API).

Примеры использования

Shodan широко применяется для поиска уязвимых или неправильно сконфигурированных сервисов. Классический кейс – обнаружение открытых баз данных или хранилищ. Например, запрос "MongoDB Server Information" port:27017 -authentication мгновенно находит сотни незащищённых экземпляров MongoDB по всему миру (без пароля) – подобную утечку данных однажды выявили журналисты, использовав Shodan.

 Поиск в Shodan по фильтру "MongoDB Server Information" port:27017 -authentication выявляет тысячи экземпляров MongoDB с открытым доступом без авторизации. Такие случаи часто приводят к утечкам данных или шифровке хранилищ вымогателями.
Поиск в Shodan по фильтру "MongoDB Server Information" port:27017 -authentication выявляет тысячи экземпляров MongoDB с открытым доступом без авторизации. Такие случаи часто приводят к утечкам данных или шифровке хранилищ вымогателями.

Другой пример – поиск промышленных контроллеров SCADA/ICS или городских систем: фильтр product:"Niagara AX" выдаёт панели управления системами зданий Tridium Niagara (некоторые могут быть незащищены).

Для нужд bug bounty и редтиминга Shodan тоже незаменим, можно находить камеры видеонаблюдения с дефолтным паролем (по строке www-authenticate: Basic realm="), принтеры с открытой панелью управления ("Server: HP HTTP/1.1") или уязвимые VMware vCenter (запрос по уникальному заголовку и CVE). Гибкость языка запросов Shodan позволяет комбинировать условия и получать очень точечные выборки. Например, специалист может составить запрос, который выдаст все Windows-серверы в определённой стране с открытым RDP и конкретной уязвимостью – и Shodan найдёт такие узлы за считанные секунды, тогда как сканирование вручную заняло бы дни.

Shodan активно интегрируется с внешними инструментами. Существуют плагины Shodan для Nmap, Metasploit, Maltego, расширения для браузеров (плагин Shodan для Firefox подсвечивает информацию о текущем сайте). Официальная утилита CLI (shodan в Python) позволяет выполнять поиск и получать данные из терминала. Также Shodan ведёт открытый проект InternetDB – бесплатный API с краткими сведениями об IP-адресах (например, какие порты открыты) для случаев, когда нужен только быстрый ответ, а полноценный поиск избыточен . Все эти интеграции делают Shodan своего рода «платформой» интернет-сканирования. Недаром, Shodan упоминается в большинстве методик OSINT-разведки и пентестинга как первый инструмент для быстрой оценки атакующей поверхности организации.

ZoomEye: китайский брат-близнец Shodan

 Интерфейс ZoomEye. В нижней части отображены самые популярные запросы, включая приложения для ИИ, панели управления и открытые веб-интерфейсы. Сервис позволяет осуществлять поиск по хостам и веб-контенту.
Интерфейс ZoomEye. В нижней части отображены самые популярные запросы, включая приложения для ИИ, панели управления и открытые веб-интерфейсы. Сервис позволяет осуществлять поиск по хостам и веб-контенту.

Общая характеристика

ZoomEye – китайский аналог Shodan, запущенный компанией Knownsec около 2013 года. Сервис позиционируется как «глобальная система киберсканирования» и изначально ориентирован на местное сообщество (интерфейс был на китайском), но сейчас доступен и на английском. Подход ZoomEye немного отличается: он делит поиск на два типа – Host Search и Web Search. Host Search похож на Shodan (поиск устройств по IP и их портам), а Web Search позволяет искать веб-сайты по содержимому страниц. То есть ZoomEye индексирует не только сами хосты, но и веб-контент (HTML) сайтов, что сближает его с традиционными поисковиками по вебу, хотя и для ограниченного набора обнаруженных сайтов.


Глубина индексации

ZoomEye утверждает, что охватывает весь IPv4 и значительную часть активных IPv6-адресов, а также доменные имена . Общее число проиндексированных устройств сопоставимо с Shodan (порядка сотен миллионов), однако есть нюанс: ZoomEye хранит исторические данные обо всех обнаруженных хостах. В интерфейсе по умолчанию показывается суммарное количество результатов за всё время наблюдений, из-за чего на первый взгляд ZoomEye может выдавать на порядок больше, чем Shodan . Для более корректного сравнения актуальных устройств рекомендуется использовать фильтр по времени (например, Past Year).


Сканирование портов у ZoomEye очень широкое: по экспериментальным оценкам, сервис проверяет около 3828 портов – почти все значимые порты вплоть до 65535 . Это существенно больше, чем у Shodan (1237 портов). Правда, так же как и Shodan, ZoomEye чаще обновляет популярные порты (80, 443 и т.д.), а экзотические может сканировать реже (раз в несколько недель или месяцев). Тем не менее, такой размах охвата означает, что ZoomEye иногда находит сервисы на редких портах, которые могли быть пропущены другими сканерами. Интересная функция – on-demand сканирование: авторизованный пользователь ZoomEye может вручную запросить немедленное сканирование конкретного IP или домена, чтобы обновить данные . Это удобно, если нужно проверить, закрыта ли уязвимость на известном хосте – не нужно ждать планового обхода, система тут же просканирует цель.

Поисковый язык и интерфейс

Синтаксис запросов ZoomEye во многом похож на Shodan, но имеет свои ключевые слова. Например: app="Apache httpd" && ver="2.4.33" && country="US" в режиме Host Search найдёт все Apache 2.4.33 в США .

 Поиск в ZoomEye по запросу app="Apache httpd" && ver="2.4.33" && country="US" выявляет хосты с устаревшей версией веб-сервера Apache, экспонированные в США. В результатах отображаются HTTP-заголовки, IP-адрес, организация, география и карта.
Поиск в ZoomEye по запросу app="Apache httpd" && ver="2.4.33" && country="US" выявляет хосты с устаревшей версией веб-сервера Apache, экспонированные в США. В результатах отображаются HTTP-заголовки, IP-адрес, организация, география и карта.

Поддерживаются операторы AND/OR/NOT (обозначаются как + и - перед условиями). Популярные фильтры ZoomEye: app (название приложения или сервера), ver (версия ПО), port (номер порта), service (протокол/служба – список соответствует именам из nmap), os (операционная система), hostname (доменное имя, встречающееся в баннере), site (домен в режиме Web Search, для поиска по содержимому сайтов), headers (поиск фрагмента в HTTP-заголовках) и др. . В режиме Web Search доступны фильтры title (заголовок страницы), keywords (ключевые слова в тексте), desc (описание сайта.

Интерфейс ZoomEye доступен на английском и китайском языках. В режиме Host Search результаты представлены списком IP с краткими данными: открытые порты, сервисы, организация, страна. В режиме Web Search показывается список URL с фрагментом текста страницы. Интересная деталь – у каждой поисковой выдачи ZoomEye есть вкладка “Vulnerability”, что уникально для подобных сервисов. В этой вкладке перечислены популярные уязвимости, релевантные текущему запросу или категории устройств .

Фактически, ZoomEye интегрирован с крупной китайской базой эксплойтов Seebug. Пользователь может кликнуть на конкретную уязвимость из списка – и ZoomEye автоматически сформирует запрос, показывающий все хосты, потенциально уязвимые для неё . Так реализован быстрый переход от информации о уязвимости к конкретным целям, что очень ускоряет анализ угроз. Эта функция особенно полезна при реактивном поиске – например, когда выходит новая уязвимость, можно сразу найти все уязвимые системы.

 На скриншоте представлена главная страница китайской платформы Seebug, тесно интегрированной с ZoomEye. Здесь публикуются новые уязвимости, включая RCE, обход аутентификации и другие критические проблемы. Указывается уровень риска, дата публикации, описание и популярность уязвимости.
На скриншоте представлена главная страница китайской платформы Seebug, тесно интегрированной с ZoomEye. Здесь публикуются новые уязвимости, включая RCE, обход аутентификации и другие критические проблемы. Указывается уровень риска, дата публикации, описание и популярность уязвимости.

Доступность и цены: ZoomEye предоставляет бесплатный доступ с некоторыми ограничениями. После регистрации бесплатный пользователь может просматривать до 10 000 результатов в месяц и мониторить до 50 IP-адресов. Этого достаточно для ознакомления, но для серьёзной работы потребуется подписка. Платные планы ZoomEye начинаются примерно от $70 в месяц, что даёт квоту ~30 000 результатов/мес и мониторинг 256 IP. Более дорогие планы расширяют эти лимиты.

Однако есть важное ограничение: даже на платных аккаунтах ZoomEye не позволяет экспортировать более определённого предела результатов (например, нельзя выгрузить миллион записей скопом, есть порог в интерфейсе). В этом плане FOFA выгодно отличается (о нём далее). В целом, ценовая политика ZoomEye ориентирована на профессионалов внутри Китая, многие из которых используют его вкупе с сервисами Knownsec (например, платформой обсуждения уязвимостей Seebug и набором эксплойтов Pocsuite). Для внешних специалистов ZoomEye ценен как дополнительный источник, особенно если нужно учесть данные из азиатского региона.

Примеры использования

ZoomEye, помимо общей функции поиска уязвимых сервисов, популярен для задач, связанных с поиском устройств в Китае и Азии. Например, если Shodan может пропустить какой-то специфичный китайский IoT-устройств или веб-приложение, ZoomEye/FOFA скорее всего его заметят. Также ZoomEye широко используют для поиска ICS/SCADA-систем: в нём есть фильтр по типу устройства (например, можно выбрать SCADA и получить перечень известных уязвимых систем управления).

ZoomEye иногда находит больше открытых RDP или SMB в некоторых сетях, чем Shodan, благодаря более редкому, но всё же широкому сканированию портов 3389, 445 и др. Ещё один кейс – bug bounty в Азии: при тестировании безопасности азиатских компаний ZoomEye помогает обнаружить их внешние хосты, так как лучше индексирует локальные ресурсы (например, .cn домены, китайские облачные провайдеры). В целом, ZoomEye стоит применять совместно с Shodan: сначала поискать в Shodan (как более актуальном), а затем пройтись по тем же запросам в ZoomEye – есть шанс выявить исторические или редкие цели.

Заключение

Сегодня Shodan и ZoomEye представляют собой одни из основных платформ, применяемых в практике специалистов по киберразведке и защите инфраструктуры. Каждая из них предлагает уникальный подход к индексации открытых хостов: Shodan делает ставку на актуальность и богатую экосистему интеграций, тогда как ZoomEye выделяется широкой портовой выборкой, историческим охватом и встроенной связкой с базой уязвимостей Seebug.

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

В последующих частях сравнительного обзора будут подробно рассмотрены возможности других платформ — Censys, FOFA, Netlas и Criminal IP.

Комментарии (0)