PDA

Просмотр полной версии : [Статья] Shodan: самый страшный поисковик интернета


putinvladimer
08.06.2020, 08:13
:pirate::pirate::pirate:

Эта статья предназначена для тех, кто либо вовсе не слышал о Shodan, либо слышал, но так и не понял, как им пользоваться. Я приведу примеры использования «самого страшного поисковика интернета» по имени Shodan. Сервис разработан web-девелопером Джоном Мазерли (John Matherly) и ориентирован, прежде всего, на поиск устройств подключенных к интернету.

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

Фильтры

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

country: страна, в формате RU, UK, US и т.д., например: nginx country:RU
city: город, например: nginx city:«Moscow» country:RU
os: операционная система, например: microsoft-iis os:«windows 2003»
port: порт в формате 21, 80, 443 и тд, например: proftpd port:21
hostname: позволяет искать с учетом домена, например: nginx hostname:.de

Пример 1: Устройства Cisco

Для того, чтобы понять первый пример необходимо вспомнить, как основные коды [Ссылки могут видеть только зарегистрированные и активированные пользователи]ответов:
Коды состояния [Ссылки могут видеть только зарегистрированные и активированные пользователи]

200 OK Request succeeded;
301 MovedPermanently Assigned a new permanentURI;
302 FoundResides under a different URI;
401 Unauthorized Request requires authentication;
403 ForbiddenRequest is denied regardlessof authentication.


В данном примере мы попробуем найти устройства-cisco с web-интерфейсом для доступа к которым не требуется авторизация.
Для начала посмотрим, как выглядит типичный «401 Unauthorized» баннер устройства-cisco, если в строке поиска мы введем просто «cisco»:

[Ссылки могут видеть только зарегистрированные и активированные пользователи] 401 Unauthorized
Date: Thu, 20 Oct 1994 05:18:36 GMT
Server: cisco-IOS
Connection: close
Accept-Ranges: none
[Ссылки могут видеть только зарегистрированные и активированные пользователи] Basic realm=«level_15_access»

Обратите внимание, что строка «[Ссылки могут видеть только зарегистрированные и активированные пользователи] Basic realm=»level_15_access" указывает на необходимость ввести логин и пароль.
В свою очередь, устройство авторизация в котором не требуется, вернет нам баннер со статусом 200 (для этого в строке поиска вбиваем «200 cisco», еще строка Last-Modified — верный признак, что это «наш клиент»:

[Ссылки могут видеть только зарегистрированные и активированные пользователи] 200 OK
Date: Mon, 08 Sep 2014 22:28:16 GMT
Server: cisco-IOS
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
Expires: Mon, 08 Sep 2014 22:28:16 GMT
Last-Modified: Mon, 08 Sep 2014 22:28:16 GMT
Cache-Control: no-store, no-cache, must-revalidate
Accept-Ranges: none

Достаточно перейти по ссылке ip-адрес:80 и мы попадаем в web-консоль управления устройством. Я скачал Cisco SDM для удобства.
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Пример 2: Пароли по умолчанию

К интернету подключено множество устройств с дефолтными логинами и паролями, давайте попробуем что-нибудь найти. Для этого в строке поиска пишем «default+password». Добавим также port:80, чтобы выбрать устройства с [Ссылки могут видеть только зарегистрированные и активированные пользователи]аутентификацией.

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

В результате мы увидим множество баннеров, содержащих искомую фразу, и, как показывает практика, большой процент устройств будут иметь логин/пароль вида admin/password, admin/pass, и т.д.,

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Пример 3: Камеры видеонаблюдения

Если в случае сетевых устройств пользователи в большинстве случаев устанавливают более-менее надежные пароли, то с остальным оборудованием дела обстоят намного хуже. В этом примере мы посмотрим в камеры видеонаблюдения. По работе мне часто приходится сталкиваться с видеорегистраторами фирмы DVR, некоторые из них имеют выход в сеть. Пишем в строке поиска: DVR port:80 country:RU city:«Saint Petersburg» И получаем список видеорегистраторов в СПБ, обнаружилось около 200 устройств.

Стандартные учетные записи на таких устройствах admin и user, пароли: admin, user, 1111, 1234, 123456, 8888 (можно найти в инструкциях). Уже на первой странице устройство со стандартной учетной записью:

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

В разделе Popular Searches, можно подсмотреть варианты запросов, вот, например, поиск ip-видеокамер фирмы avtech на территории США: linux upnp avtech country:US, добавим к нему привычный фильтр port:80:

[Ссылки могут видеть только зарегистрированные и активированные пользователи]


И снова на первой странице поиска попадается устройство, в котором получилось залогинится с помощью admin/admin:

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

А напоследок выложил на github [Ссылки могут видеть только зарегистрированные и активированные пользователи] поисковик работающий через api, api_key вшит в программу. :crabe: :pif: