Найти в Дзене

Инструменты хакера. Shodan - поисковик уязвимых устройств в Интернете

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

Shodan — это специализированная поисковая система, которая позволяет найти устройства, подключенные к Интернету, такие как веб-камеры, маршрутизаторы, серверы, системы "умного дома", промышленные контроллеры, системы безопасности, базы данных и другие устройства. В отличие от традиционных поисковых систем, таких как Google, которые индексируют веб-страницы, Shodan фокусируется на сканировании и индексации метаданных, полученных от устройств, подключенных к сети.

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

Подписывайтесь на мой канал в Телеграмм, чтобы ничего не пропустить.

Как работает Shodan?

Shodan сканирует Интернет, отправляя запросы ко всем IP-адресам в поисках открытых портов и сервисов. В процессе он собирает и хранит информацию, такую как:

  • Баннеры (информация, которую устройство отправляет при подключении, например, версия ПО, операционная система и другие метаданные).
  • Тип устройства и его производитель.
  • Открытые порты и используемые протоколы (HTTP, FTP, SSH, Telnet, RDP и др.).
  • Географическое расположение устройства (на основе IP-адреса).
  • Используемые сертификаты и конфигурации SSL/TLS.
  • Потенциальные уязвимости, связанные с конкретным устройством или ПО.

Эти данные индексируются и становятся доступными для поиска через веб-интерфейс или API Shodan.

Основные функции Shodan

1. Поиск устройств:

Shodan позволяет находить устройства по множеству параметров, включая:

  • IP-адрес.
  • Название производителя или модели устройства.
  • Операционная система.
  • Открытые порты.
  • Географическое местоположение.
  • Используемый протокол (например, HTTP, FTP, Telnet).

2. Фильтры для поиска:

Shodan предоставляет мощные фильтры для уточнения запросов. Например:

  • country: поиск по стране (например, country:RU).
  • city: поиск по городу (например, city:Moscow).
  • port: поиск по определенному порту (например, port:22 для SSH).
  • hostname: поиск по имени хоста (например, hostname:example.com).
  • os: поиск по операционной системе (например, os:Linux).
  • before/after: поиск по дате индексации (например, before:2023-10-01).

3. Проверка уязвимостей:

Shodan интегрирован с базой данных уязвимостей (CVE — Common Vulnerabilities and Exposures). Это позволяет находить устройства с известными уязвимостями, что полезно для анализа безопасности.

4. Мониторинг сети:

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

5. Shodan API:

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

6. Shodan Maps и Shodan Images:

  • Shodan Maps: визуализация географического расположения устройств на карте.
  • Shodan Images: поиск снимков с подключенных камер или других устройств, передающих изображения.

Установка и использование Shodan

Shodan можно использовать через веб-интерфейс, командную строку (CLI) или API. В зависимости от ваших целей и навыков, вы можете выбрать наиболее подходящий способ. Вот пошаговая инструкция:

1. Использование Shodan через веб-интерфейс

Это самый простой способ для начинающих пользователей. Вам не нужно ничего устанавливать — достаточно зарегистрироваться и использовать веб-сайт Shodan.

Шаги:

1. Зарегистрируйтесь на сайте Shodan:

Перейдите на официальный сайт Shodan.
Нажмите "Sign Up" (Регистрация) и создайте учетную запись, указав email, пароль и другие данные.

2. Войдите в систему: После регистрации войдите в вашу учетную запись.

3. Начните поиск: В поисковой строке на главной странице введите запрос, например:

port:80 country:RU

Это покажет устройства в России с открытым портом 80 (обычно веб-сервера).

4. Используйте фильтры:
Применяйте фильтры для уточнения поиска. Например:country:RU — устройства в России.
port:22 — устройства с открытым SSH.
product:MongoDB — поиск баз данных MongoDB.
Полный список фильтров доступен в
документации Shodan.

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

6. Платная подписка (по желанию): Бесплатная версия Shodan имеет ограничения на количество запросов. Для снятия ограничений можно приобрести подписку (например, "Shodan Membership" за 49 USD — разовая плата).

2. Установка Shodan CLI (Command Line Interface)

Для более продвинутых пользователей, особенно тех, кто работает с терминалом, можно установить CLI-версию Shodan. Это позволит выполнять запросы и автоматизировать задачи через командную строку.

Шаги:

1. Установите Python:Shodan CLI требует Python версии 3.7 или выше. Проверьте текущую версию Python:

python3 --version

Если Python не установлен, загрузите и установите его с официального сайта Python.

2. Установите Shodan CLI через pip:

  • Откройте терминал и выполните:
pip install shodan

Эта команда установит инструмент Shodan.

3. Получите API-ключ: Войдите в свою учетную запись на сайте Shodan.
Перейдите на страницу
API и скопируйте ваш API-ключ.

4. Настройте Shodan CLI: В терминале выполните:

shodan init YOUR_API_KEY

Замените YOUR_API_KEY на ваш API-ключ.

Использование Shodan CLI:

Примеры команд:

1. Поиск устройств с открытыми портами

Найти устройства с открытым портом 80 (HTTP):

shodan search "port:80"

Найти устройства с открытым портом 22 (SSH):

shodan search "port:22"

Найти устройства с открытым портом 3389 (RDP — удаленный рабочий стол):

shodan search "port:3389"

2. Поиск по стране

Найти все устройства в России:

shodan search "country:RU"

Найти устройства с открытым портом 443 (HTTPS) в США:

shodan search "port:443 country:US"

3. Поиск по конкретному устройству или ПО

Найти устройства с веб-камерой:

shodan search "product:webcam"

Найти устройства с доступным интерфейсом Elasticsearch:

shodan search "product:Elasticsearch"

Найти устройства с базой данных MongoDB без пароля:

shodan search "product:MongoDB 'Authentication Disabled'"

Найти устройства с базой данных Redis, доступной без авторизации:

shodan search "product:Redis 'unauthorized access'"

4. Поиск уязвимых устройств

Shodan может искать устройства, уязвимые к конкретным уязвимостям (CVE). Это возможно благодаря интеграции с базой данных уязвимостей.

Найти устройства, уязвимые к CVE-2021-44228 (Log4Shell):

shodan search "vuln:CVE-2021-44228"

Найти устройства, уязвимые к CVE-2017-0144 (уязвимость EternalBlue, использовавшаяся в атаке WannaCry):

shodan search "vuln:CVE-2017-0144"

Найти устройства с открытым Telnet, которые могут быть подвержены атакам:

shodan search "port:23"

Найти Apache-серверы с уязвимостями:

shodan search "product:Apache vuln:"

5. Поиск по географическим данным

Найти устройства в определенном городе, например, в Москве:

shodan search "city:Moscow"

Найти устройства в определенном регионе или области:

shodan search "region:California"

6. Поиск по производителям и устройствам

Найти устройства от производителя Cisco:

shodan search "Cisco"

Найти устройства от производителя MikroTik:

shodan search "MikroTik"

Найти веб-серверы nginx:

shodan search "server:nginx"

7. Поиск по SSL/TLS сертификатам

Shodan может анализировать SSL/TLS сертификаты, что полезно для проверки конфигурации HTTPS.

Найти устройства с сертификатами, выданными Let's Encrypt:

shodan search "ssl:Let's Encrypt"

Найти устройства с истекшими сертификатами:

shodan search "ssl.expired:true"

Найти устройства с самоподписанными сертификатами:

shodan search "ssl.self_signed:true"

8. Поиск по баннерам (информация о сервисе)

Shodan позволяет искать текстовую информацию в баннерах (например, версии ПО или сообщения).

Найти устройства с баннером, содержащим текст "Welcome":

shodan search "banner:Welcome"

Найти устройства с баннером "Unauthorized access":

shodan search "banner:'Unauthorized access'"

9. Поиск промышленных и IoT-устройств

Shodan может находить устройства, связанные с промышленными системами (ICS/SCADA), а также IoT-устройства.

Найти устройства с протоколом Modbus (промышленные контроллеры):

shodan search "port:502"

Найти устройства с интерфейсом BACnet (автоматизация зданий):

shodan search "port:47808"

Найти устройства "умного дома" с открытым интерфейсом:

shodan search "home automation"

10. Поиск по организациям

Найти устройства, принадлежащие конкретной организации, например, Google:

shodan search "org:Google"

Найти устройства в сети определенного интернет-провайдера:

shodan search "isp:Comcast"

11. Поиск с помощью маски IP-адресов

Найти устройства в диапазоне IP-адресов:

shodan search "net:192.168.0.0/24"

Найти устройства на конкретном IP-адресе:

shodan host 8.8.8.8

12. Проверка собственной сети

Найти устройства в вашей собственной сети (если вы знаете свой внешний IP или диапазон):

shodan search "net:YOUR_IP_RANGE"

Замените YOUR_IP_RANGE на диапазон вашей сети, например 192.168.1.0/24.

13. Дополнительные функции CLI

Получить информацию о своем текущем IP-адресе:

shodan myip

Получить статистику по запросу:

shodan stats "port:80"

Проверить доступные команды:

shodan --help

Полезные советы

1. Уточняйте запросы, добавляя фильтры. Например, вместо общего поиска "port:80", можно использовать:

shodan search "port:80 country:RU city:Moscow"

2. Используйте команду shodan stats для получения агрегированных данных.

Например:

shodan stats "port:80"

Это покажет статистику по портам, странам и другим параметрам.

3. Автоматизация с помощью скриптов. Если вы часто выполняете одни и те же запросы, автоматизируйте их с использованием Shodan API и Python.

3. Использование Shodan API

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

Шаги:

1. Получите API-ключ:Как и в случае с CLI, вам потребуется API-ключ из вашего аккаунта Shodan.

2.Установите библиотеку Shodan для Python:Если вы работаете с Python, установите библиотеку:

pip install shodan

3. Пример использования API: В Python вы можете написать скрипт для поиска устройств. Например:

-2

Код на Github

4. Документация API:

4. Использование Shodan через сторонние инструменты

Shodan интегрируется с рядом других инструментов, таких как:

  • Metasploit Framework: Для проведения тестов на проникновение.
  • Nmap: Для расширенного сканирования сети.
  • Maltego: Для построения графов и визуализации связей между устройствами.

Для этого вам потребуется установить соответствующий инструмент и настроить его для работы с Shodan API.

5. Рекомендации по этическому использованию

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

  • Сканируйте только те устройства, которые вам принадлежат или на которые у вас есть разрешение.
  • Не используйте Shodan для незаконной деятельности.
  • Убедитесь, что ваши действия соответствуют местным законам о кибербезопасности.

6. Как защититься от сканирования Shodan?

Чтобы минимизировать риск обнаружения ваших устройств через Shodan:

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

Заключение

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

Поддержать блог можно лайком и комментарием. А если хочется сделать больше, можно кинуть монетку сове на кофе.

Раз вы прочитали эту статью, скорее всего вам будет интересен весь раздел про Анонимность в сети, а также Инструменты хакера / пентестера

Если Вам интересно, что еще можно найти на канале QA Helper, прочитайте статью: Вместо оглавления. Что вы найдете на канале QA Helper - справочник тестировщика?

Не забудьте подписаться на канал, чтобы не пропустить полезную информацию: QA Helper - справочник тестировщика

Пишите в комментариях что еще было бы интересно рассмотреть более подробно.

-3