Shodan Dorks: как искать подключённые устройства по всему миру (бестабличная версия)
Shodan — поисковик не сайтов, а устройств: камеры, серверы, роутеры, промышленные контроллеры, принтеры — всё, что имеет IP и торчит в интернет. Операторов (фильтров) много. Разбил их на логические группы, чтобы вы быстро находили нужное.
🌐 Основные фильтры (география, сеть, устройство)
- after — только результаты после указанной даты.
Пример: after:01/01/2025 - before — только результаты до указанной даты.
Пример: before:01/08/2025 - asn — поиск по номеру автономной системы (AS).
Пример: asn:AS15169 (это Google) - category — категория устройств (например, ics — промышленные системы).
Пример: category:ics - city — поиск по городу.
Пример: city:"Washington" - country — поиск по двухбуквенному коду страны.
Пример: country:US, country:RU - geo — поиск по координатам (широта, долгота).
Пример: geo:53.45,31.52 - hash — поиск по хэшу баннера (уникальный отпечаток ответа сервера).
Пример: hash:1118725322 - has_ipv6 — есть ли IPv6-адрес (значения true или false).
Пример: has_ipv6:true - has_screenshot — есть ли скриншот веб-интерфейса.
Пример: has_screenshot:true - hostname — по имени хоста (домену).
Пример: hostname:"example.com" - ip / net — конкретный IP или подсеть в формате CIDR.
Пример: ip:8.8.8.8, net:8.8.8.0/24 - org — организация-владелец сети.
Пример: org:"Google LLC" - os — операционная система устройства.
Пример: os:"Windows 10" - port — открытый порт (один или несколько через запятую).
Пример: port:22, port:80,443 - postal — почтовый индекс (только США).
Пример: postal:94043 - region / state — регион или штат.
Пример: region:"California" - product — название программного продукта.
Пример: product:"Apache HTTP Server" - version — версия продукта.
Пример: product:"Nginx" version:"1.18.0" - vuln — поиск по CVE-идентификатору уязвимости.
Пример: vuln:CVE-2014-0160 (Heartbleed)
Пример комбинации:
country:RU city:"Moscow" port:3389 os:"Windows" → все RDP-серверы (порт 3389) в Москве на Windows.
🔒 SSL / TLS фильтры (сертификаты и шифрование)
- has_ssl — есть ли SSL/TLS на порту.
Пример: has_ssl:true - ssl.alpn — протокол ALPN (например, h2 для HTTP/2).
Пример: ssl.alpn:h2 - ssl.chain_count — количество сертификатов в цепочке.
Пример: ssl.chain_count:3 - ssl.version — версия TLS/SSL.
Пример: ssl.version:TLSv1.2 - ssl.cert.alg — алгоритм сертификата.
Пример: ssl.cert.alg:RSA - ssl.cert.expired — просрочен ли сертификат (true/false).
Пример: ssl.cert.expired:false - ssl.cert.extension — расширения сертификата.
Пример: ssl.cert.extension:basicConstraints - ssl.cert.serial — серийный номер сертификата.
Пример: ssl.cert.serial:1234567890 - ssl.cert.pubkey.bits — длина публичного ключа в битах.
Пример: ssl.cert.pubkey.bits:2048 - ssl.cert.pubkey.type — тип ключа (RSA, ECC, DSA).
Пример: ssl.cert.pubkey.type:RSA - ssl.cipher.version — версия шифра.
Пример: ssl.cipher.version:TLSv1.2 - ssl.cipher.bits — размер шифра в битах.
Пример: ssl.cipher.bits:128 - ssl.cipher.name — название шифра.
Пример: ssl.cipher.name:AES128-SHA
Пример комбинации:
ssl.cert.expired:false ssl.cert.pubkey.bits:4096 has_ssl:true → серверы с живыми сертификатами и 4096-битными ключами.
🌍 HTTP / Веб-фильтры
- http.component — используемые веб-технологии (CMS, фреймворки).
Пример: http.component:WordPress - http.component_category — категория компонента.
Пример: http.component_category:framework - http.html — поиск по HTML-тексту в баннере.
Пример: http.html:"Welcome" - http.html_hash — по хэшу HTML-контента.
Пример: http.html_hash:123456789 - http.status — код ответа HTTP (200, 404, 403 и т.д.).
Пример: http.status:200 - http.title — заголовок страницы (тег <title>).
Пример: http.title:"Apache2 Ubuntu Default Page"
Пример комбинации:
http.title:"Admin" http.status:200 country:DE → немецкие сайты с «Admin» в заголовке и работающие.
📟 Фильтры для Telnet (редкие, но мощные)
Эти фильтры анализируют диалог Telnet-сервера с клиентом.
- telnet.option — по опциям протокола Telnet.
Пример: telnet.option:"echo" - telnet.dont — сервер просит клиента не поддерживать опцию.
Пример: telnet.dont:timing - telnet.will — сервер поддерживает опцию сам.
Пример: telnet.will:echo - telnet.wont — сервер не поддерживает опцию.
Пример: telnet.wont:encrypt
💡 Реальные связки (Shodan Dorks) для задач
- Камеры в Москве с веб-интерфейсом
city:"Moscow" http.title:"Live View" -has_screenshot:false - Уязвимые серверы с Heartbleed (CVE-2014-0160)
vuln:CVE-2014-0160 - Промышленные контроллеры (ICS/SCADA) в США
category:ics country:US - Nginx версии 1.14 с открытым 443 портом
product:"nginx" version:"1.14" port:443 - Просроченные SSL-сертификаты на госсайтах .gov
ssl.cert.expired:true hostname:"*.gov" - Redis без пароля (порт 6379)
port:6379 -"requirepass"
⚠️ Важно: Shodan сканирует публичные IP. Не пытайтесь взламывать чужие устройства — это незаконно. Используйте фильтры для защиты своих сетей, исследований или баг-баунти.
🔧 Бонус: как попробовать Shodan бесплатно
- Бесплатный аккаунт даёт 1 результат на запрос (но учиться можно).
- Расширенный поиск с фильтрами требует подписки (от $49/мес).
- Есть CLI-утилита shodan для автоматизации.
Пример команды через CLI:
shodan search --fields ip_str,port,org country:RU port:22
Отличия Shodan от обычных поисковиков
- Что ищет: устройства, серверы, IoT, OT (а не веб-страницы)
- Протоколы: HTTP, SSH, FTP, Telnet, SIP, RDP и 100+ других (а не только HTTP)
- Фильтрация по CVE: есть (vuln:CVE-...)
- Фильтрация по гео: есть (city, country, geo)
- Скриншоты интерфейсов: есть (has_screenshot)
Вывод: Shodan — незаменимый инструмент для кибербезопасности и OSINT. Освоив фильтры, вы сможете находить уязвимые устройства, проверять свои активы и анализировать мировую поверхность атак.
Сохраняйте шпаргалку, подписывайтесь на канал — впереди разбор ZoomEye, Censys и других поисковиков по IoT.
Теги: #Shodan #Dorks #OSINT #Кибербезопасность #ПоискУстройств #ShodanDorks