OSINT для защиты: эффективный поиск скрытой инфраструктуры через Shodan
📋 Кратко
Shodan — мощный инструмент OSINT, который позволяет увидеть вашу инфраструктуру глазами злоумышленника. В статье разбираем, как с помощью поисковых запросов обнаружить забытые dev-серверы, открытые базы данных и панели управления. Даём чек-лист для аудита и рекомендации по защите от несанкционированного обнаружения.
🔍 Что такое OSINT и почему он нужен защитникам
OSINT (Open Source Intelligence) — разведка по открытым источникам. В контексте кибербезопасности это сбор информации о компании из публично доступных данных: поисковые системы, социальные сети, сертификаты TLS, DNS-записи и, конечно, Shodan. Многие команды ИБ используют OSINT только для внешнего пентеста или расследования инцидентов. Но на самом деле это незаменимый инструмент для постоянного аудита собственного периметра.
Злоумышленники активно применяют Shodan для поиска уязвимых устройств и забытых сервисов. Если вы не смотрите на свою инфраструктуру через Shodan, это делает кто-то другой. Разница лишь в целях: вы ищете, чтобы закрыть дыры, а атакующий — чтобы проникнуть внутрь.
Ключевая мысль: OSINT — это не хакерский инструмент, а метод защиты. Shodan позволяет увидеть, какие активы компании доступны из интернета, даже если вы считали их скрытыми.
🛠️ Как Shodan находит «скрытое»
Shodan — это поисковая система для устройств, подключённых к интернету. В отличие от Google, который индексирует веб-страницы, Shodan сканирует IP-адреса и порты, собирая баннеры сервисов — ответы, которые устройства отправляют при подключении. Даже если сервер не отвечает на HTTP-запросы, он может быть виден через другие протоколы: SSH, FTP, RDP, Telnet, Modbus, SNMP.
«Скрытая» инфраструктура — это не та, что спрятана за VPN или недоступна извне. Это активы, которые компания ошибочно считает недоступными, но они всё равно отвечают на запросы из интернета. Например, тестовый Jenkins на 8080 порту, панель управления PostgreSQL на 5432 или веб-камера с дефолтным паролем. Shodan находит их автоматически, и любой пользователь может увидеть эти данные.
📊 Примеры поисковых запросов для аудита
Shodan поддерживает фильтры: страна, город, организация, порт, протокол, продукт. Вот несколько поисковых запросов (dorks), которые помогут обнаружить скрытые активы вашей компании:
org:"Название компании"— все устройства, ассоциированные с вашей организацией.port:8080 org:"Название компании"— серверы с открытым портом 8080 (часто Jenkins, Tomcat, панели управления).product:GitLab org:"Название компании"— инсталляции GitLab, доступные извне.product:PostgreSQL port:5432— открытые базы данных PostgreSQL."default password" org:"Название компании"— устройства с дефолтными учётными данными.http.title:"Dashboard" org:"Название компании"— панели администрирования.
Важно: Используйте эти запросы только для аудита собственной инфраструктуры или с явного разрешения владельца. Несанкционированный доступ к чужим системам незаконен.
🎯 Типичные «скрытые» активы: от Jenkins до баз данных
Чаще всего через Shodan обнаруживаются:
- Dev-серверы и CI/CD: Jenkins, GitLab, TeamCity, Nexus — часто выставляются наружу для удобства разработчиков, но без должной аутентификации.
- Базы данных: MongoDB, Elasticsearch, PostgreSQL, MySQL — забытые инстансы, которые не должны быть доступны из интернета.
- Панели управления: Webmin, cPanel, phpMyAdmin, маршрутизаторы и коммутаторы с веб-интерфейсом.
- IoT-устройства: IP-камеры, принтеры, системы умного дома, промышленные контроллеры (PLC).
- Устаревшие сервисы: Telnet, FTP, SMB — протоколы, которые давно пора заменить.
Каждый такой актив — потенциальная точка входа. Злоумышленнику не нужно взламывать корпоративный VPN, если он может зайти напрямую на Jenkins с дефолтным паролем.
⚠️ Почему «скрытая» инфраструктура — не миф, а реальная угроза
Многие компании уверены, что их внутренние сервисы недоступны из интернета. Однако на практике:
- Разработчики открывают порты для тестирования и забывают их закрыть.
- Администраторы настраивают временные доступы, которые становятся постоянными.
- Облачные инстансы (AWS, Azure) получают публичные IP по умолчанию.
- Старое оборудование остаётся в сети после миграции.
Shodan сканирует весь интернет каждые несколько недель. Если ваш актив хотя бы раз ответил на запрос, он уже в базе. И любой желающий может найти его через простой поиск. По данным отчётов по безопасности, около 30% компаний имеют хотя бы один критический актив, доступный из интернета без аутентификации.
🛡️ Методы защиты от обнаружения через Shodan
Полностью скрыть устройство от Shodan невозможно — если оно доступно из интернета, рано или поздно его просканируют. Но можно минимизировать риски:
- Используйте фаерволы: разрешайте доступ только с доверенных IP-адресов (например, через VPN).
- Настройте аутентификацию: даже если порт открыт, без пароля злоумышленник не пройдёт.
- Меняйте стандартные порты: перенос SSH на 2222 не защитит от Shodan, но снизит количество автоматических атак.
- Отключайте ненужные сервисы: если сервис не используется, закройте порт.
- Используйте VPN или Zero Trust: все внутренние ресурсы должны быть доступны только через авторизованные каналы.
- Мониторьте Shodan: регулярно проверяйте, какие активы вашей компании видны в поиске.
Совет: Shodan позволяет подписаться на уведомления при появлении новых устройств вашей организации. Настройте мониторинг — это займёт 10 минут, но может предотвратить серьёзную утечку.
🔬 Как использовать Shodan для постоянного мониторинга
Shodan предоставляет API и инструмент Shodan Monitor (ранее Shodan Alert). Вы можете:
- Настроить оповещения на email при обнаружении новых открытых портов или сервисов, связанных с вашей организацией.
- Интегрировать Shodan с SIEM-системами для автоматической корреляции.
- Проводить ежемесячные аудиты с помощью скриптов на Python (библиотека shodan).
Пример простого скрипта для проверки:
import shodan
api = shodan.Shodan('YOUR_API_KEY')
try:
results = api.search('org:"Название компании"')
for result in results['matches']:
print(result['ip_str'], result['port'], result['product'])
except shodan.APIError as e:
print('Error:', e)Такой скрипт можно запускать по расписанию и сравнивать результаты с предыдущими. Если появился новый порт — это повод для проверки.
✅ Чек-лист: что проверить в своей инфраструктуре уже сегодня
- 🔹 Найдите все IP-адреса своей организации (через whois, DNS, SSL-сертификаты).
- 🔹 Выполните поиск в Shodan:
org:"Ваша компания". - 🔹 Проверьте открытые порты: 22, 23, 80, 443, 8080, 8443, 3306, 5432, 27017, 6379, 9200.
- 🔹 Обратите внимание на сервисы с дефолтными страницами входа.
- 🔹 Убедитесь, что все базы данных и панели управления закрыты фаерволом.
- 🔹 Настройте Shodan Monitor для уведомлений.
- 🔹 Проведите повторный аудит через месяц.
Помните: безопасность периметра — это непрерывный процесс. Shodan — лишь один из инструментов, но он даёт реалистичную картину того, что видят злоумышленники. Используйте его для защиты, а не для атаки.
📚 Читайте также
- Защита корпоративных LLM от утечки данных: риски и методы защиты
- Дипфейки против корпоративной защиты: взлом через фейковый звонок
- SQL-инъекции: как защитить базу данных в 2026
- GitHub режет баг-баунти вдвое: новые правила программы и что это значит для безопасников
- Контейнеры в OT: Как гарантировать целостность промышленных образов и систем
📖 Термины
OWASP · XDR · Автоматизированное сканирование
🔗 Источники
- OSINT для ленивых. Часть 16: Находим скрытую инфраструктуру компаний через Shodan(2026-08-11 ✓)
- Shodan Help Center — официальная документация(2026-08-11 ✓)
- Shodan Maps — визуальный поиск устройств(2026-08-11 ✓)