Путешествие в глубины сети с Shodan – поисковой системой, открывающей двери в неизведанное

22b214f7babce2c5452c3ffcada04c56.png

Введение
Как говорится, добрый день! Сегодня я хотел бы поведать вам небольшую тайну. Мало кто знает, но неправильная настройка устройств тоже является уязвимостью и зачастую большинство атака производятся именно за счёт этого. Так как в данной статье мы будем рассматривать поисковую систему Shodan, то следует отметить её особенности.

Shodan — это инструмент для поиска подключенных к интернету устройств.
Для работы ему не нужны записи DNS. Вместо этого он самостоятельно отправляет запросы на различные сетевые узлы, проверяя каждый порт в разных диапазонах IP-адресов.
Благодаря этому Shodan позволяет узнать, какие устройства и операционные системы наиболее распространены, а также оценить уровень проникновения интернета в разные регионы мира.
В основе работы Shodan лежит специальный алгоритм, который собирает информацию о каждом узле, ответившем хотя бы на один запрос, аналогичные алгоритмы используют поисковые системы Google и Yandex.

Рассмотрим с вами два вопроса:

  1. Обзор возможностей. Скучновато, но без этого никуда. Каждый пользователь, не важно какие цели преследует, должен иметь представление об этой поисковой системе.

  2. Использование веб-приложения Shodan и модуля Shodan в Metasploit для получения доступа к IoT устройствам.

Обзор возможностей

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

ca615b928b0c401be658123186acb6b3.png

Базовой функцией, на которой останавливаются обычные пользователи, является поиск.
Самый легкий способ поиска — это указать название или бренд искомого устройства. К примеру, если мы введем «ipcamera», то на экране появятся найденные устройства и их рекламные баннеры. Слева будут отображены некоторые статистические данные, которые помогут отсортировать устройства. Важно помнить, что это не Google, поэтому запрос для поиска воспринимается как полное и неизмененное выражение.

89b9b64a09792e292005e01da9a1064f.png

Советую вам для более результативного поиска применять фильтры.
Вот примеры использования самых популярных фильтров Shodan:

  • Чтобы увидеть данные только по определённой стране, используйте фильтр country:. Например, country:UA покажет информацию только по Украине.

  • Для просмотра данных только по конкретному городу, примените фильтр city:. Например, city:London покажет информацию только по Лондону.

  • Если вам нужно найти определённую операционную систему, воспользуйтесь фильтром os:. Например, os:linux найдёт устройства под управлением Linux.

  • Фильтр geo: предназначен для поиска по географическим координатам. Укажите координаты в формате широта, долгота, например geo:"45.617496, 63.321806".

  • Чтобы показать результаты только по определённому порту, используйте фильтр port:. Например, port:22 покажет устройства, слушающие порт 22.

  • Фильтр hostname: поможет искать только в определённой доменной зоне. Например, hostname:.ru покажет устройства в доменной зоне .ru.

  • Для поиска в заданном сетевом диапазоне применяйте фильтр net:. Например, net:190.73.40.50/24 покажет устройства в данном сетевом диапазоне.

  • Если вы хотите найти устройства по названию программы, которая отдаёт баннер, используйте фильтр product:. Например, product:openssh найдёт устройства с OpenSSH.

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

22db7a671a876d14ab77225db5a7bead.png

Shodan собирает все скриншоты, которые ему доступны и просмотреть их можно благодаря Shodan Images. Большинство из них — снимки удаленного доступа и камер видеонаблюдения. Тем не менее, из любопытства можно ознакомиться с этими скриншотами.

9d9ca5aed47568e4f2aa901d3727a0fa.png

И ещё одной из самых полезных функций данной поисковой системы является Shodan Exploit. Этот инструмент собирает в себе уязвимости и эксплойты. Следует учитывать что в данном разделе запросы отличаются, сначала указывается платформа для которой мы хотим найти уязвимость и сам вид уязвимости platform:windows type:smb

9ebff6364152ace420ac8b7b49629567.png

Применение Shodan для эксплуатации уязвимостей

Если вам нужно найти сетевые хранилища с дефолтными паролями, то стоит обратить внимание на продукцию компании Lenovo/EMC. Это бывшее совместное предприятие Iomega, которое оставило отпечаток в коде прошивки своих устройств. При установке удалённого соединения такие хранилища отправляют запрос вида: «Set-Cookie: iomega=». Чтобы найти их, достаточно ввести этот запрос в поисковую строку Shodan.

67924f32cd9561fff83aadfc780061a2.png

На многих обнаруженных устройствах установлен стандартный пароль (ADMIN/ADMIN), точно так же, как и на данном экземпляре ix4 300d.

b40dea8e7855e908d4002f701b2eaa31.png

Для управления через веб-интерфейс обычно используются Java-приложения, которые не имеют цифрового сертификата. Начиная с версии 1.7.51, в Java RE была убрана возможность запуска неподписанных апплетов. Однако в настройках современной панели Java можно добавить только сайт в список исключений, а Shodan ищет по IP-адресам. Поэтому для управления найденными устройствами подойдут только старые версии Java, которые можно скачать в разделе архивных релизов.
Более информативные результаты можно получить, используя фильтры, доступ к которым предоставляется после бесплатной регистрации. Например, запрос «title: «Network Cube «Camera» позволяет получить список сетевых камер, для доступа к которым не требовался пароль на момент их обнаружения Shodan. Большинство из них остаются незащищёнными и доступными для всех.

64baad5b48948f8ba5343ac3019ab9bb.png

В эти моменты не стоит забывать и о собственной безопасности. До конца не известно как работает эта поисковая система, мы имеем лишь API ключи и модуль для python с открытым исходным кодом, что не позволяет утверждать о безопасности использования, вполне вероятно когда ты будешь проводить сканирование или же осуществлять запросы поисковик может просканировать твоё устройство и добавить полученные данные о твоих уязвимостях в свою базу данных.

А теперь рассмотрим вариант для более продвинутых пользователей, а именно модуль shodan в составе metasploit.

Кратко расскажу что такое Metasploit и почему именно их совместное использование будет рассмотрено.
Metasploit — один из самых популярных фреймворков для проведения тестирования на проникновение. Фреймворк поставляется с открытым исходным кодом, а это значит что помимо исходных модулей для эксплуатации, сканирования, модулей полезной нагрузкой мы имеем возможность дописывать свои модули, делая данный инструмент всегда актуальным.
Интерес данного фреймворка для нас заключается в том, что мы можем использовать shodan как стартовую точку для тестирования, затем найдя уязвимость в интересующей нас системе или устройстве уже посредством основных модулей Metasploit производить атаку.

Приступим к работе
Запустите Metasploit и установите для него модуль Shodan:

use auxiliarly/gather/shodan_search

d6121372eecd506adf9d0b5d1928ffb2.jpg

Для отображения основных параметров, выполните команду:

info

68ec4560a90102eb9a01d117cc0c7ed4.jpg

Откройте ваш интернет-браузер и перейдите на страницу shodan.io. Затем в правом верхнем углу кликните на ссылку «Show API Key» (Показать ключ API) и скопируйте ваш API-ключ.

013aa13970ca06a0297426342dc86705.jpg

Вернитесь в Metasploit и введите свой API-ключ.

14faa5118afd39adf3afa74bcbfc9a74.jpg

Для просмотра параметров которые применяет данный модуль следует выполнить команду:

show options

521888b627a7418074b68b054cc5c120.jpg

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

set QUERY webcamxp

51b853b0f3ecb299d4bfd55b42a6be53.jpg

Важно заметить, при использовании бесплатного аккаунта Shodan в Metasploit вы не можете применять фильтры поиска, такие как страна или город и т.д.

Для запуска работы модуля с соответствующим запросом следует выполнить команду:

run

898105ae0867ccf027603f7a5514f1a8.jpg

Вот пример камеры, использующей стандартные учетные данные пользователя, которую удалось найти с помощью Shodan.

af8a68a448b48ba509fe14186e096b49.png

Заключение
Shodan является мощным инструментом для обнаружения уязвимостей в системах имеющих доступ в интернет. В статье приведены простые примеры по получению доступа к камерам, но данный поисковик имеет куда больший функционал. Вы можете искать сервера, маршрутизаторы, роутеры и много других IoT устройств. Не следует забывать про ответственность, к которой вы можете быть привлечены за несанкционированные действия с ресурсами компаний.
Также следует учитывать что вы можете наткнуться на так называемые 'honey pot', это значит что при использовании этого инструмента не стоит забывать и про собственную безопасность на примере использования VPN, либо же изначальной проверки безопасности своей системы.

Мы в телеграме, подпишись!

© Habrahabr.ru