• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Netlas.io - аналог Shodan. (Новый атлас Интернета)

4ekist

RAID-массив
Пользователь
Регистрация
20.05.2021
Сообщения
55
Реакции
29
Источник: https://telegra.ph/Netlasio---analog-Shodan-Novyj-atlas-Interneta-09-14

Недавно я решил потестить новый аналог Shodan — сайт Netlas.io. Нашёл его довольно полезным и достойным отдельного обзора. Let's go!

Как начать пользоваться

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

1687857591893.png


Принцип простой — за каждый полученный результат снимается монета NetlasCoin (изначально их выдаётся 1000). Но в личном кабинете можно нажать кнопку "Renew coins", чтобы вернуть максимальное количество монет.

Cравнение с другими системами​

Надо ли объяснять, почему любая база с результатами скана IPv4 полезна? Как и с утечками, можно найти то, что краулеры одного поисковика упустили, а из другого исключили намеренно.

Поэтому для начала я провёл сравнение Netlas и ещё нескольких аналогичных систем. Цель — понять, как они отличаются по покрытию, функциональности и пригодности для OSINT-ера. Ну и заодно проверить, что полезного можно узнать о чужой сетевой инфраструктуре.

Общее количество результатов​

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

К сожалению, единого стандарта для измерения качества результатов подобных сканеров нет. Но это и неудивительно — у кого-то фокус на IoT, у кого-то на веб-сайтах и их безопасности, у кого-то на типовых портах популярного ПО. А теперь представьте, что сканировать необходимо 24/7, и иногда устаревшие уже на сутки данные могут быть неактуальными (сменился IP, закрылся порт, etc.).

Как же тогда оценивать качество базы результатов? Конечно, пройдемся по публично доступной статистике с самих сайтов и соберём что есть:

1687857816797.png


Пригодные для сравнения цифры я нашёл только в Censys и ZoomEye. Как видите, в результатах нет Shodan: да, он слишком хорош, чтобы публиковать общую статистику. Туда же и другие поисковики, например, BinaryEdge и Fofa.

Архивы сканов вроде Opendata (Sonar) я даже не пытался использовать. Было бы неплохо оценить по ним полноту, но оставлю это любопытствующему читателю. :) Итак, какие выводы мы можем сделать из полученных данных?
  • Netlas сфокусирован на доменах, сертификатах и ответах на запросы (полагаю, от любого сервиса, с которого можно получить баннер).
  • (Netlas domains) = 2/3 * (ZoomEye webpages). Порядки чисел совпадают, логика не хромает.
  • (Netlas responses) = 1.5 * (Censys hosts) = 1/3 * (Censys services). Ответов на запросы однозначно больше, чем хостов в Censys, но устройств просканировано меньше — возможно, Netlas сканирует меньший набор портов.
  • Результаты поиска по фильтрам
Конечно, общей статистики нам недостаточно. Нужно оценить по более понятным практическим критериям, например, по конкретным поисковым фильтрам.

1687857892299.png


Разработчики Netlas понимают, что фильтры важны, и сразу предлагают примеры запросов для поиска Mongo, Confluence, Lync/Skype for Bussiness, форумы vBulletin. Что ж, попробуем оттолкнуться от них и поищем для сравнения MongoDB в нескольких системах.

1687857916016.png


Удивлены тем, что в Shodan отображается меньше всего результатов? На самом деле это вполне объяснимо: самый старый и известный краулер Сети славен чисткой результатов (и наверняка по этой же причине не публикует статистику).

Censys ненамного больше Shodan и Netlas, и это можно расценивать как знак качества — прямо сейчас у исследуемой нами системы уже приличная по размеру база с результатами. С китайскими поисковиками вроде Fofa и ZoomEye отдельный разговор. Почему в них результатов больше в 3-5 раз?

Это можно понять, если внимательно взглянуть на интерфейсе поиска. Там они отображают фильтры по годам и соответствующие доли результатов. Да, вы правильно поняли — в их базах достаточно много старых данных и мертвых хостов. С одной стороны, это может быть полезно в исследовательских целях. С другой стороны, под сомнение попадает и актуальность результатов за текущий год. У самого Netlas пока есть только меню выбора конкретного скана в правом верхнем углу, что уже неплохо. Но мне пришлось постараться, чтобы его найти.)

1687857973634.png


Разумеется, оценивать качество базы по одной только MongoDB несправедливо, поэтому я прошёлся и по другому ПО. Но мы и так много времени потратили на сравнение, результат будет в конце статьи, а дальше — изучение особенностей. И напоследок скриншот того, как вообще выглядит интерфейс поиска в Netlas:

1687857996851.png


Обзор фич, полезных для OSINT​

Сертификаты​

Как мы уже обсуждали выше, Netlas умеет собирать не только баннеры с сетевых сервисов, но и TLS-сертификаты. Не так давно я готовил материал по методам сбора информации о email. В качестве примера приводил crt.sh, популярную площадку, собирающую информацию из certificate transparency logs о выпуске новых сертификатов. Судя по документации Netlas, они поступают аналогичным образом, а также подтягивают серты, найденные сканированием.

Чем это полезно? При поиске настоящего IP сайта, который находится за Cloudflare, частенько натыкаешься на такой misconfiguration сервера: сертификат отдаётся не только при обращении к сайту по доменному имени, но и по прямому заходу по IP. Разумеется, в результате сканирования по 80/443 портам такой сайт найдётся, и достаточно будет ввести адрес сайта в поисковую строку Netlas, чтобы найти его настоящий IP.

В отличие от Censys, которым я раньше пользовался для таких целей, Netlas также забирает домены из реестра CZDS, так что на странице с результатов вы увидите и ответ закрытого CF-ом сайта, и оригинальный ответ, что очень удобно.

Пример такого поиска.

Контакты​

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

1687858054269.png


На скриншоте выше приведён пример поиска по контактам и заодно режима статистики. Довольно удобно делать разрезы по нужным параметрам и смотреть в табличном виде, если вас не интересуют сырые ответы.

Домены и IP whois​

Согласно документации, информацию по доменам Netlas сгребает отовсюду: начиная CZDS и заканчивая редиректами. Собственно, без этого был бы невозможен удобный поиск хостов по адресу сайта, о чём мы говорили выше.

C whois ситуация попроще — по каждому IP (не по сайту!) есть соответствующий блок с информацией. Контактные данные стандартных полей вырезаны, но иногда всё же можно наткнуться на упоминание email / имени владельца в других полях. Круто было бы видеть там полные персональные данные как на площадках вроде bgp.he.net, но увы, этой информацией в наше время сильно дорожат. И правильно делают. :)

1687858090653.png


Возможно, вы уже успели подумать, что неплохо было бы автоматизировать поиск по контактным данным в Netlas. Да, это хорошая возможность, тем более что у них уже есть документация по API и SDK на Python.

Я подсуетился и написал для своих целей утилиту поиск по email — netlas-email-search. В качестве источников данных выступают запросы:
  • По сертификатам
  • По контактным данным с сайтов
  • По информации из IP whois
  • По всем собранным баннерам
Код:
# ./netlas-email-search.py root@localhost
Whois search did't return results
SSL search can return 49710 results
Downloading 20 results...
Downloaded first 20 results only. You can get all the results manually with a query <certificate.subject.email_address:root@localhost>
Contacts search can return 6 results
Downloading 6 results...
Webpage search can return 288451 results
Downloading 20 results...
Downloaded first 20 results only. You can get all the results manually with a query <http.body:root@localhost>

Downloaded data was saved to following files:
 SSL_root@localhost_results.json
 Contacts_root@localhost_results.json
 Webpage_root@localhost_results.json

Инструмент выгружает первые 20 результатов и подсказывает, как найти остальное — для быстрого поиска по Netlas подходит идеально.

Другие возможности​

Возможно, вы успели заметить по скриншоту выше, что для каждого сайта также отображаются идентфиикаторы уязвимостей CVE. Они мапятся по версии ПО в процессе скана и, конечно, требуют дополнительной проверки. Тем не менее, Netlas также услужливо предоставляет ссылки на эксплоиты прямо в результатах. :)

Подробнее про использование Netlas для поиска уязвимых систем можно прочесть в их статье на Хабре про исследование уязвимых Microsoft Exchange (горячая тема, кстати).

Что ещё есть из интересных фич?
  • Поиск по фавикону. Не уникально, но позволяет искать как по хэшу, так и через загрузку своего изображения.
  • Разметка тегами. Сейчас поддерживается около 900 тегов по устройствам, сервисам и конкретному софту.
  • Поиск по DNS-записям. Можно найти все серверы, использующие определённого почтового провайдера. Или, скажем, TXT-записи с некорректным SPF.
  • Редиректы. Netlas следует за всеми редиректами, сохраняя их результаты. Очень удобно для фингерпринтинга софта, который при запросе на /выдаёт пустую страницу, а потом ведёт на "человеческую" вебморду, из которой уже можно извлечь информацию о версии.

Заключение​

В полку новых сканеров Сети прибыло, и это хорошо. У Netlas есть интересные и многообещающие фичи, а по полноте результатов он может конкурировать с Shodan и почти догоняет Censys.

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

Код:
---------------------------------------------------------------------
MongoDB
---------------------------------------------------------------------
Netlas      | monogdb:*                                    | 73,258
Shodan      | product:"MongoDB"                            | 69,106
Fofa        | app="MongoDB-数据库"                          | 297,561
ZoomEye     | app:"MongoDB"                                | 170,191
Censys      | services.mongodb.build_info.version:*        | 93,884
BinaryEdge  | type:mongodb                                 | 139,247
---------------------------------------------------------------------
Elasticsearch
---------------------------------------------------------------------
Netlas      | elasticsearch.elastic_search_main:*.         | 35,104
Shodan      | product:"Elastic"                            | 25,214
Fofa        | app="elastic-Elasticsearch"                  | 84,586
ZoomEye     | service:"elasticsearch"                      | 47,503
Censys      | services.elasticsearch.system_info.name:*    | 31,615
BinaryEdge  | type:elasticsearch                           | 40,750
---------------------------------------------------------------------
PostgreSQL
---------------------------------------------------------------------
Netlas      | postgres.is_ssl:*                            | 598,247
Shodan      | product:"PostgreSQL"                         | 691,759
Fofa        | app="PostgreSQL"                             | 1,194,013
ZoomEye     | app:"PostgreSQL DB"                          | 2,293,650
Censys      | services.postgres.protocol_error.code:*.     | 794,184
BinaryEdge  | product:"PostgreSQL DB"                      | 818,672
---------------------------------------------------------------------
MySQL
---------------------------------------------------------------------
Netlas      | mysql:*                                      | 3,187,586
Shodan      | product:"MySQL"                              | 3,430,794
Fofa        | protocol="mysql"                             | 7,727,585
ZoomEye     | app:"MySQL"                                  | 53,123,847
Censys      | services.mysql.server_version:*              | 2,387,871
BinaryEdge  | product:mysql.                               | 4,339,955
---------------------------------------------------------------------
Redis
---------------------------------------------------------------------
Netlas      | redis:*.                                     | 90,769
Shodan      | product:"Redis key-value store"              | 19,299
Fofa        | protocol="redis"                             | 328,167
ZoomEye     | app:"Redis key-value store"                  | 996,983
Censys      | services.redis.os:*                          | 28,863
BinaryEdge  | product:redis                                | 173,216
 

Незнаю рофл или нет но:
"Возможно, вы успели заметить по скриншоту выше, что для каждого сайта также отображаются идентфиикаторы уязвимостей CVE. Они мапятся по версии ПО в процессе скана и, конечно, требуют дополнительной проверки."
 
С китайскими поисковиками вроде Fofa и ZoomEye отдельный разговор. Почему в них результатов больше в 3-5 раз?

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

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

1688425061059.png
 
Насчет мертвых не скажу, а вот что повторы даже за 2023 в базах фофы точно есть. Но это не исключает того, что поисковик, даже исключая дубли в разы больше выдает базу для исследований, по сравнению с Shodan.

Посмотреть вложение 60209
Да, я думаю, что fofa пока показала себя лучше всех.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх