Shodan, Censys y motores de búsqueda IoT: qué son, cómo funcionan y cómo se aplican
· 12 min de lectura
Aprende cómo Shodan, Censys, GreyNoise y otros motores indexan dispositivos expuestos en internet, domina los dorks y filtros más útiles para reconocimiento, y descubre cómo reducir tu superficie de ataque frente a estos escáneres.
Cada segundo, cientos de escáneres automáticos recorren los cuatro mil millones de direcciones IPv4 del espacio público. Envían paquetes SYN a puertos conocidos, recogen los banners de respuesta y los indexan en bases de datos consultables por cualquiera. El resultado es un Google para dispositivos conectados: escribes una consulta y obtienes listas de servidores, cámaras, PLCs industriales, bases de datos y cualquier servicio que responda en internet.
Shodan fue el primero en popularizar este concepto en 2009. Después vinieron Censys, ZoomEye, FOFA, BinaryEdge y GreyNoise, cada uno con su enfoque particular. Para un pentester, estas herramientas son la primera parada del reconocimiento pasivo: permiten descubrir la superficie de ataque de una organización sin enviar un solo paquete desde tu equipo. Para un defensor, son la forma más rápida de comprobar qué ve un atacante desde fuera.
Utiliza estos motores solo para analizar activos propios o de organizaciones que te hayan dado autorización por escrito. Consultar información pública es legal en la mayoría de jurisdicciones, pero interactuar con servicios ajenos sin permiso no lo es. Practica en laboratorios como los de whoami-labs.
Qué son los motores de búsqueda IoT#
Un motor de búsqueda IoT es una plataforma que escanea de forma continua rangos de direcciones IP públicas, recopila los banners y metadatos de los servicios que responden y los almacena en un índice consultable. A diferencia de Google, que indexa contenido web mediante crawlers HTTP, estos motores indexan servicios de red a nivel de puerto: SSH, Telnet, HTTP, HTTPS, MQTT, Modbus, S7comm, bases de datos y cualquier protocolo que devuelva una respuesta identificable.

El término IoT en el nombre es un poco engañoso: indexan todo lo que esté expuesto, no solo dispositivos del Internet de las Cosas. Sin embargo, el impacto más visible suele estar en dispositivos que nunca deberían haber sido accesibles desde internet: cámaras IP, controladores industriales SCADA, impresoras de red, sistemas de climatización y paneles de gestión de edificios.
Cómo funcionan: el proceso de indexación#
El ciclo de vida de un motor como Shodan tiene tres fases bien definidas:
Escaneo masivo#
El motor envía paquetes a direcciones IP aleatorias en puertos predefinidos. Shodan escanea más de 200 puertos por defecto, desde el 21 (FTP) hasta el 9200 (Elasticsearch). No hace un escaneo secuencial de cada IP: distribuye las peticiones de forma aleatoria entre bloques para no saturar redes individuales. Utiliza su propia infraestructura de escáneres distribuidos en múltiples países.
Captura de banners#
Cuando un puerto responde, el escáner inicia el handshake del protocolo correspondiente y captura el banner: la cadena de texto que el servicio devuelve al conectar. Un banner HTTP incluye el servidor, la versión y los headers. Un banner SSH muestra el software y la versión del daemon. Un banner de Telnet puede revelar el fabricante del dispositivo. Estos banners son la materia prima del índice.
Indexación y enriquecimiento#
El motor almacena el banner junto con metadatos: dirección IP, puerto, protocolo, geolocalización (ASN, país, ciudad), certificado TLS (si lo hay), organización propietaria del rango IP y, en algunos casos, si la IP aparece en listas de vulnerabilidades conocidas. El resultado es una ficha por cada servicio detectado, consultable con filtros avanzados.
Los principales motores#
| Motor | Enfoque principal | Diferencia clave |
|---|---|---|
| Shodan | Escaneo generalista, dorks potentes | El más maduro, con API completa y CLI |
| Censys | Certificados TLS y servicios web | Datos de certificados únicos, Search 2.0 con CensysQL |
| ZoomEye | Escaneo global con foco en Asia | Interfaz en chino e inglés, búsquedas por componente |
| FOFA | Fingerprinting avanzado de activos | Popular en equipos red team chinos, sintaxis propia |
| BinaryEdge | Telemetría de exposición | Scoring de riesgo automatizado por organización |
| GreyNoise | Ruido de internet vs amenazas reales | Clasifica IPs por intención: benignas, maliciosas o ruido |
GreyNoise: la diferencia entre ruido y señal#
GreyNoise merece mención aparte porque resuelve un problema distinto. Mientras Shodan indexa qué hay expuesto, GreyNoise indexa quién está escaneando. Mantiene una red global de sensores honeypot y clasifica cada IP que los toca:
- Benigna: escáneres legítimos como Shodan, Censys o servicios de seguridad conocidos.
- Maliciosa: IPs asociadas a botnets, escaneo de vulnerabilidades o explotación activa.
- Ruido: escáneres masivos sin intención clara, que generan falsos positivos en SIEMs.
Si tu SIEM te alerta de que una IP escaneó tu puerto 445, consultar GreyNoise te dice si es Shodan haciendo su trabajo habitual o un botnet buscando EternalBlue. Esto reduce drásticamente la fatiga de alertas.
Dorks y filtros de Shodan#
Los dorks de Shodan son la herramienta más potente para reconocimiento pasivo. Cada filtro actúa sobre un campo del índice y se combina con operadores booleanos.

Filtros fundamentales#
Los filtros se escriben como campo:valor y se pueden encadenar:
port:22 country:ES org:"Telefonica"
Esa consulta devuelve todos los servicios SSH en España que pertenecen a rangos IP de Telefónica. Los filtros más utilizados son:
port: puerto abierto (22, 80, 443, 3389, 8080…)
country: código ISO de dos letras (ES, MX, CO, AR…)
city: ciudad ("Madrid", "Bogotá")
org: nombre de la organización propietaria del rango IP
hostname: nombre de host que resuelve la IP
product: software detectado ("Apache", "nginx", "OpenSSH")
version: versión del producto ("2.4.49")
os: sistema operativo ("Windows", "Linux")
ssl.cert.subject.cn: Common Name del certificado TLS
vuln: CVE asociado (requiere cuenta académica o de pago)
has_screenshot:true servicios con captura de pantalla (VNC, RDP)
Consultas de ejemplo para reconocimiento#
Para buscar bases de datos MongoDB expuestas sin autenticación:
product:"MongoDB" port:27017 "MongoDB Server Information"
Para encontrar paneles de administración de routers MikroTik:
port:8291 product:"MikroTik"
Para localizar sistemas SCADA con protocolo Modbus expuesto:
port:502 "Modbus"
Para cámaras IP con interfaz web:
title:"IP Camera" has_screenshot:true
La API y la CLI de Shodan#
Shodan ofrece una API REST completa y una herramienta de línea de comandos. La CLI se instala con pip:
pip install shodan
shodan init TU_API_KEY
Algunos comandos útiles:
# Buscar servicios
shodan search "apache country:ES" --limit 10
# Información de una IP
shodan host 8.8.8.8
# Escanear una IP propia (requiere créditos)
shodan scan submit 203.0.113.10
# Estadísticas agregadas
shodan stats --facets country port:22
# Alertas: notificación cuando algo cambie en tu rango
shodan alert create "Mi empresa" 203.0.113.0/24
La API permite automatizar el reconocimiento en scripts Python:
import shodan
api = shodan.Shodan("TU_API_KEY")
resultados = api.search("port:9200 product:Elasticsearch country:ES")
for servicio in resultados["matches"]:
print(f"{servicio['ip_str']}:{servicio['port']} - {servicio.get('org', 'N/A')}")
Censys Search 2.0#
Censys se diferencia de Shodan en su foco en certificados TLS y en el lenguaje de consulta CensysQL. Mientras Shodan usa campo:valor, Censys usa una sintaxis más estructurada:
services.port=443 AND services.tls.certificates.leaf.subject.common_name="*.example.com"
Censys es especialmente útil para:
- Descubrir subdominios a través de certificados wildcard y SAN (Subject Alternative Name).
- Encontrar servicios que usan certificados expirados o autofirmados.
- Mapear la infraestructura de una organización por ASN.
La versión 2.0 unificó los datasets de IPv4 y certificados en un único índice más rápido. La búsqueda de certificados revela dominios que ni el DNS público muestra, porque los certificados se emiten antes de que el servicio esté en producción.
Casos reales de exposición#
Los motores de búsqueda IoT han revelado exposiciones que afectaron a millones de personas:
Sistemas de control industrial (ICS)#
En 2015, investigadores usaron Shodan para encontrar más de 100.000 dispositivos ICS accesibles desde internet, incluyendo controladores de centrales eléctricas, sistemas de tratamiento de agua y redes ferroviarias. Los protocolos Modbus (puerto 502), S7comm (puerto 102) y EtherNet/IP (puerto 44818) aparecen expuestos sin autenticación en búsquedas triviales.
Bases de datos sin autenticación#
Elasticsearch, MongoDB, Redis y CouchDB se han encontrado masivamente expuestos. En 2017, ataques automatizados borraron más de 28.000 instancias de MongoDB que no requerían contraseña, reemplazando su contenido con una nota de rescate. Todas eran localizables con un dork simple.
Cámaras IP y dispositivos domésticos#
Miles de cámaras RTSP, grabadores DVR y sistemas de videovigilancia aparecen en Shodan con credenciales por defecto (admin/admin, admin/12345). Shodan incluso ofrece capturas de pantalla de servicios VNC y RDP, lo que permite ver en tiempo real qué hay detrás de un servicio expuesto.
Infraestructura de salud#
En múltiples ocasiones se han encontrado sistemas DICOM (imágenes médicas), HL7 (datos clínicos) y equipos de laboratorio accesibles desde internet, exponiendo información de pacientes protegida por regulaciones como HIPAA.
Uso práctico paso a paso#
Paso 1: definir el objetivo#
En un laboratorio autorizado o tu propia infraestructura, identifica el rango IP o dominio a analizar. En el lab orion-recon de whoami-labs, parte del ejercicio es descubrir servicios expuestos sin herramientas automáticas complejas.
Paso 2: reconocimiento pasivo con Shodan#
Consulta la IP o el dominio del objetivo en Shodan:
shodan host IP_DEL_LAB
La salida muestra puertos abiertos, banners, organización, ubicación y vulnerabilidades conocidas asociadas a las versiones detectadas.
Paso 3: ampliar con Censys#
Busca certificados asociados al dominio para descubrir subdominios:
services.tls.certificates.leaf.subject.common_name="*.dominio-del-lab.com"
Paso 4: consultar GreyNoise#
Verifica si la IP del laboratorio ha sido escaneada por terceros:
curl -s "https://api.greynoise.io/v3/community/IP_DEL_LAB" \
-H "Accept: application/json"
Paso 5: documentar hallazgos#
Registra cada servicio encontrado: IP, puerto, banner, versión, CVEs asociados. Este inventario es la base de la fase de enumeración activa que viene después.
Qué puede descubrir un atacante#
| Hallazgo | Impacto |
|---|---|
| Base de datos sin autenticación | Lectura, modificación o borrado de datos sensibles |
| Panel de administración expuesto | Acceso administrativo al sistema |
| Servicio con CVE conocido | Explotación directa sin ingeniería social |
| Protocolo ICS sin cifrado | Manipulación de procesos industriales |
| Cámara con credenciales por defecto | Vigilancia no autorizada |
| Certificado TLS con subdominios internos | Mapa de infraestructura interna |
| Puerto de debug abierto (9229, 5005) | Ejecución remota de código |
Cómo reducir la superficie de ataque#
La defensa contra los motores de búsqueda IoT no es bloquear a Shodan, sino asegurarse de que lo que encuentra no sea un problema.
No expongas lo que no necesitas#
La regla más simple es la más efectiva. Si un servicio no necesita ser accesible desde internet, no debe estarlo. Usa firewalls, VPNs y segmentación de red para limitar el acceso.
Cambia los banners por defecto#
Muchos servicios revelan versión exacta y sistema operativo en su banner. Configura banners genéricos que no den información útil a un atacante:
# En SSH (sshd_config), no puedes ocultar la versión fácilmente,
# pero sí puedes deshabilitar el banner de bienvenida:
Banner none
# En nginx, ocultar la versión:
server_tokens off;
# En Apache:
ServerTokens Prod
ServerSignature Off
Monitoriza tu propia exposición#
Usa Shodan Monitor o Censys ASM para recibir alertas cuando aparezca un nuevo servicio en tus rangos:
# Crear alerta en Shodan para tu rango
shodan alert create "Monitoreo empresa" 203.0.113.0/24
# Listar alertas activas
shodan alert list
Autenticación en todo servicio expuesto#
Nunca dejes una base de datos, un panel de administración o un servicio de gestión sin autenticación. Si no soporta autenticación nativa, pon un reverse proxy con autenticación delante.
Parchea las versiones vulnerables#
Si Shodan asocia un CVE a tu servicio, el atacante lo ve igual. Mantén los servicios actualizados, especialmente los que están expuestos a internet.
Errores comunes#
- Pensar que Shodan es ilegal. Consultar datos públicos indexados no es ilegal. Lo ilegal es explotar lo que encuentras sin autorización.
- Bloquear la IP de Shodan y sentirse seguro. Shodan escanea desde cientos de IPs que cambian. Y hay decenas de motores más. La defensa no es bloquear escáneres, sino no tener nada expuesto que no debería estarlo.
- Ignorar los puertos altos. Muchos administradores mueven servicios a puertos no estándar (8443, 9090, 8888) creyendo que así son invisibles. Shodan escanea más de 200 puertos.
- No usar la versión de pago en una auditoría real. La cuenta gratuita de Shodan tiene límites severos. Para reconocimiento profesional, la suscripción de pago o la cuenta académica desbloquean el filtro
vuln:y más resultados. - Confiar solo en un motor. Cada motor tiene cobertura distinta. Shodan puede encontrar algo que Censys no ve y viceversa. Usa al menos dos.
Preguntas frecuentes#
¿Es legal usar Shodan?#
Sí. Shodan indexa información accesible públicamente. Consultar su base de datos es legal. Lo que no es legal es usar esa información para acceder a sistemas ajenos sin autorización.
¿Shodan escanea mi red constantemente?#
Shodan reescanea el espacio IPv4 de forma continua, pero la frecuencia varía por puerto. Los puertos más comunes (80, 443, 22) se actualizan cada pocos días. Puertos menos habituales pueden tardar semanas. Censys tiene un ciclo similar.
¿Puedo pedir que eliminen mi IP de Shodan?#
Shodan no elimina IPs individuales de su índice bajo petición. La solución es cerrar o proteger el servicio. Si el servicio ya no responde, desaparecerá del índice en el siguiente ciclo de escaneo.
¿Qué diferencia hay entre Shodan y un escaneo con Nmap?#
Nmap es activo: tú envías los paquetes contra un objetivo concreto. Shodan es pasivo desde tu perspectiva: consultas datos ya recopilados. Con Shodan no tocas el objetivo, lo que lo convierte en reconocimiento pasivo puro.
¿GreyNoise reemplaza a Shodan?#
No. Resuelven problemas distintos. Shodan te dice qué hay expuesto en una IP. GreyNoise te dice quién está escaneando esa IP y si es ruido habitual o una amenaza real. Son complementarios.
Resumen#
- Shodan, Censys y otros motores escanean continuamente internet y mantienen un índice público de servicios expuestos, con banners, versiones y metadatos.
- Los dorks de Shodan permiten buscar por puerto, país, organización, producto, versión y CVE, facilitando el reconocimiento pasivo en auditorías.
- GreyNoise complementa clasificando las IPs que escanean tu infraestructura como benignas, maliciosas o ruido de fondo.
- Casos reales demuestran que bases de datos, cámaras, sistemas ICS y paneles de administración aparecen expuestos sin autenticación con consultas triviales.
- La defensa no es bloquear escáneres, sino reducir la superficie: no exponer lo innecesario, cambiar banners, autenticar todo, parchear y monitorizar con alertas.