Busqueda simple de Apache en Shodan.

Descubriendo Shodan.io

William Khepri
Aug 8, 2017 · 7 min read

El buscador para el IoT (Internet de las cosas). Pero , ¿Qué es eso del Internet de las cosas?

El Internet de las cosas

Es un concepto relativamente reciente que describe la interconexión digital de objetos cotidianos con Internet.

El concepto fue propuesto por primera vez por Kevin Ashton en 1999 en el MIT. ¿Y qué hay en el internet de las cosas?

Shodan.io

Si entramos directamente en el apartado de Explorar veremos las categorías destacadas de Shodan y nos encontramos con lo siguiente:

  • Sistemas de control industrial
  • Bases de datos
  • Videojuegos

En las columnas de la derecha nos encontramos con las búsquedas más votadas y las más recientes.

ICS (Industrial Control Sistem)

Explorando algunas categorías: (Sistemas de control industrial)

Sus siglas en inglés son ICS (Industrial Control System) pero ¿qué son exactamente? Pues tal y como shodan nos dice los ICS son ordenadores que controlan el mundo que te rodea. Son máquinas responsables de controlar cosas como el aire acondicionado de tu oficina, las turbinas de una planta de energía, la iluminación en un teatro o robots en una fábrica, y generalmente no suelen necesitar la interacción de un ser humano para comunicarse a través de internet. Aquí os dejo unos enlaces de Wikipedia que explican los términos mas comunes utilizados en éstos sistemas:

Términos mas comunes

Protocolos

Los siguientes protocolos son algunos de los idiomas que utilizan los sistemas de control industrial para comunicarse a través de Internet. Muchos de ellos fueron desarrollados antes de que Internet se convirtiera en algo muy utilizado, por lo que los dispositivos ICS accesibles por Internet no siempre requieren autenticación — ¡no es parte del protocolo!

Algunos de ellos son: Modbus, Siemens, DNP3, Niagara Fox Protocol, BACnet, EtherNet/IP, GE-RTP, OMRON FINS, Crimson v3, Codesys, IEC 60870–5–104, ProConOS.

Aunque esa puede ser una de las principales utilidades de la herramienta, si tu servidor o dispositivo utiliza alguno de éstos protocolos y está conectado a internet aparecerá en Shodan,en cuanto el Spider del Radar ICS lo detecte, y con sus herramientas podrás auditar la configuración y seguridad del mismo, consultando qué información está disponible y cual no y ajustando luego dichas configuraciones en tu máquina.

Su creador John Matherly se define a si mismo en su biografía de Twitter como cartógrafo de internet.

La API de Shodan.io

Shodan dispone de una serie de librerías de programación en diversos lenguajes mediante los cuales se pueden desarrollar aplicaciones que consuman los datos disponibles.

Así como de una consola que podemos descargar en éste enlace en el cual nos indica también los pasos a seguir para una correcta instalación.

Una vez dentro de la consola existen diversos comandos que debemos conocer para hacer buen uso de ésta herramienta, veamos cuales son los mas importantes:

La interfaz de línea de comandos

count:

Devuelve el número de elementos de una consulta de búsqueda.

Ejemplo:

$ Shodan count microsoft iis 6.0
5310594

download:

Con éste comando podemos descargar en formato JSON cada uno de los resultados de una búsqueda, y nos arrojará cada Banner en una línea.

Éste comando resulta imprescindible para procesar los datos mas adelante con el comando PARSE y realizar operaciones con los datos.

Como la paginación a través de los resultados consume créditos de consulta, tiene sentido siempre descargar las búsquedas que estás haciendo, para no tener que utilizar créditos en una búsqueda que hiciste en el pasado.

descargando datos de Shodan por consola.

Éste sería un ejemplo de la información que puede ofrecer el Banner de un servidor:

{
"Timestamp": "2014-01-16T08: 37: 40.081917",
"Hostnames": [
"99-46-189-78.lightspeed.tukrga.sbcglobal.net"
],
"Org": "AT & T U-verse",
"Guid": "1664007502: 75a821e2-7e89-11e3-8080-808080808080",
"Datos": "NTP \ nxxx.xxx.xxx.xxx: 7546 \ n68.94.157.2: 123 \ n68.94.156.17: 123",
"Puerto": 123,
"Isp": "AT & T U-verse",
"Asn": "AS7018",
"ubicación": {
"Country_code3": "Estados Unidos",
"Ciudad": "Atlanta",
"Código postal": "30328",
"Longitud": -84.3972,
"Country_code": "US",
"Latitud": 33.93350000000001,
"Country_name": "Estados Unidos",
"Area_code": 404,
"Dma_code": 524,
"Region_code": null
},
"Ip": 1664007502,
"Dominios": [
"Sbcglobal.net"
],
"Ip_str": "99.46.189.78",
"Os": null,
"Opts": {
"Raw": "\\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \ X00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x01G \\ x06 \\ xa7 \\ x8ec. \\ xbdN \\ x00 \\ x00 \\ x00 \\ x01 \\ x1dz \\ x07 \\ x02 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ X00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \ \ X00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \ \\ x00 \\ x00 \\ x00 \\ x00 \\ x00XD ^ \\ x9d \\ x02c. \\ xbdN \\ x00 \\ x00 \\ x00 \\ x01 \\ x00 {\\ x04 \\ x04 \\ X00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \ \ X00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \ \ x00 \\ x00 \\ x00 \ X00 \\ x00 \\ x00YD ^ \\ x9c \\ x11c. \\ xbdN \\ x00 \\ x00 \\ x00 \\ x01 \\ x00 {\\ x04 \\ x04 \\ x00 \\ x00 \\ x00 \ \ X00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 \\ X00 \\ x00 \\ x00 \\ x00 \\ x00 \\ x00 ",
"Ntp": {
"Más": false
}
}
}

host:

El comando host nos ofrece toda la información relativa a la máquina en cuestion que estemos analizando, cómo y dónde se encuentra, que puertos están abiertos, que organización posee la direción IP, etc.

Por ejemplo:

$ shodan host 189.201.128.250 

Ésta consulta nos devolvería algo así:

Resultado del comando host

search:

El comando buscar nos permite en Shodan desde la línea de comandos y nos muestra los resultados de una forma amigable. De forma predeterminada mostrará la dirección IP, el puerto, los nombres de host y datos de la máquina. También podemos personalizar la salida de los campos con el modificador fields.

Ejemplo:

Para buscar “Microsoft ISS 6.0” e imprimir su IP, puerto, organización, nombre de host utilizaríamos el siguiente comando:

$ Shodan search --fields ip_str, puerto, org, hostnames microsoft iis 6.0

Y el resultado sería algo así:

Resultado de una búsqueda en Shodan.

Obviamente todo ésto y mucho mas está disponible en la web de Shodan (en inglés) así como vídeos explicativos usando la consola de comandos que pueden resultar muy instructivos.

Los programadores tienen a su disposición las bibliotecas que facilitan el acceso a la API de Shodan en los lenguajes de programación mas comunes, como son: Python, Rubi, PHP, C#, Go, Haskell, Java, Node.js,Pearl, PowerShell y Rust así como toda la documentación necesaria para construir sus aplicaciones.

Shodan también dispone de un servicio de pago o entrerprise access para proyectos grandes o empresas que se dediquen al negocio con éstos datos o quieran construir productos basados en ellos.

Obviamente el mercado mundial del IoT se está haciendo cada vez mas grande, tanto que algunas estadísticas como las de la empresa Gartner estiman que para 2020 habrá mas de 25 millones de “cosas” conectadas a internet, y es que, tal y como cita el artículo, “Usos del IoT que antes eran impracticables, ahora se están volviendo cada vez mas prácticos.” por eso empresas como Shodan apuestan por los Crawlers que exploran el ciberespacio y la auditoría de éstos sistemas cada vez mas numerosos. Pudiendo realizar importantes estudios de mercado y estadísticas diarias que optimicen las estrategias y las líneas de negocio de las compañías, así como su seguridad y privacidad.

William Khepri

Written by

Desarrollador de Software y Autodidacta de la seguridad informática. Escribo sobre seguridad informática y tecnología.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade