Cómo usar Shodan desde tus scripts en Python
2023-3-1 16:0:7 Author: thehackerway.com(查看原文) 阅读量:14 收藏

Demostración en vídeo de este post

Como seguramente ya sabes, existen cientos de librerías en Python orientadas al pentesting y, casi todas ellas, son estupendas. En otras ocasiones te he hablado sobre cómo integrar Python con Nmap y otros posts relacionados con este lenguaje de programación. En esta ocasión, te enseñaré cómo puedes integrar toda la potencia de Shodan en tus scripts Python. En realidad, el procedimiento no es nada complicado, solamente necesitas tener instalado el SDK de Shodan para Python y una cuenta en dicha plataforma. Con eso, será suficiente para que puedas empezar a utilizar la API del SDK y realizar todo tipo de consultas. Para realizar búsquedas en Shodan, existen una serie de filtros que puedes utilizar desde la aplicación web o desde tus scripts. Algunos de dichos filtros son los siguientes

  • city: En los resultados de la búsqueda, solamente aparecerán aquellos que corresponden con la ciudad indicada.
  • country: En los resultados de la búsqueda, solamente aparecerán aquellos que corresponden con el país indicado.
  • geo: Permite encontrar los dispositivos que se encuentran en el radio definido por la latitud y longitud indicada.
  • hostname: En los resultados de la búsqueda, solamente aparecerán aquellos que corresponden con el nombre de dominio indicado.
  • net: Permite realizar búsquedas dirigidas a segmentos de red concretos.
  • os: Permite filtrar los resultados con un sistema operativo determinado.
  • port: Permite filtrar los resultados con un puerto determinado.

Son solamente algunos de los filtros más comunes, pero como siempre, lo mejor es leer la documentación https://www.shodan.io/search/filters 

Como se ha comentado antes, para utilizar la API es necesario tener una cuenta de usuario y de esta forma obtener una Developer Key. El uso de las características básicas de Shodan no supone ningún coste para un desarrollador, sin embargo existen add-ons que no son gratuitos pero que incorporan características muy interesantes, como por ejemplo la capacidad de realizar búsquedas específicas para servicios como Telnet o HTTPS, acceso a todos los filtros disponibles desde la API y acceso sin restricciones a los resultados de las consultas.
Se trata de características que no son nada despreciables y que pueden ser adquiridas por un precio razonable.

Para descargar e instalar la librería de Shodan para Python se sigue el mismo patrón que muchas de las librerías disponibles para este lenguaje. Es posible hacerlo utilizando easy_install, pip o directamente ejecutando el script setup.py con el argumento install. La librería se encuentra en el repositorio PYPI

Para usar la API de Shodan debes crear una instancia de la clase shodan.Shodan especificando como único argumento una Developer Key válida que se encuentra asociada a una cuenta de usuario.

En el siguiente script se puede apreciar el uso básico de Shodan, en donde se obtiene un objeto del tipo shodan.Shodan y con este, se realiza una búsqueda abierta con una palabra introducida por parte del usuario. Finalmente, el script enseña el número total de coincidencias con el filtro indicado y los 10 primeros registros en la terminal.

Lo cierto es que la librería, como tal, cuenta con pocas más opciones. Es sencilla y te permite realizar búsquedas en Shodan. En otras palabras, cumple con el objetivo para el que fue creada.

A partir de la información que te devuelve Shodan, puedes, por ejemplo, utilizar otras librerías y herramientas disponibles para Pentesting y Hacking en Python, las cuales te permitirán crear utilidades muy potentes y que te ayudarán a automatizar el trabajo.

Si te ha parecido interesante, te leo en los comentarios.

Un saludo y Happy Hack.
Adastra.


文章来源: https://thehackerway.com/2023/03/01/como-puedes-usar-shodan-desde-tus-scripts-en-python/
如有侵权请联系:admin#unsafe.sh