CÓMO CREAR TU PROPIO SHODAN: PYTHON+NMAP [PARTE II]

Volvemos con esta segunda parte después de saber cómo usar MongoDB para nuestro juguete que estamos fabricando. Antes de empezar me gustaría poder a agradecer a Daniel que en Facebook nos ha compartido un comentario sobre los indices en MongoDB. Respondiendo a su pregunta solo decir que efectivamente es algo que trataremos más adelante en esta saga de tutoriales. De nuevo a agradecer el comentario ya que es justamente lo que buscamos: compartir ideas y mejorar entre todos.

daniel-comentario-shodita

En esta segunda parte voy a explicar como usar Python con la librería de Nmap para realizar los escáneres automatizados a un rango de IPs que iremos generando. Este rango llegará a un total de 65025 de IPs. En la tercera parte que publicaremos la semana que viene insertaremos los datos que obtenemos a través de una API a MongoDB.

¿Cómo instalamos la librería de NMAP?

Primero tendremos que instalar Nmap con un “apt-get install”:

sudo-nmap

Para descargar paquetes del repositorio PyPi se pueden utilizar varias herramientas, pero en este caso se va a usar pip. Es necesario instalar esta herramienta en el sistema en caso de no estar disponible, antes de poder instalar un paquete Python.

Es posible instalar pip usando el gestor de paquetes de una distribución Linux ejecutando alguno de los comandos que aparecen a continuación, dependiendo de la distribución de Linux que se tenga a mano.

pip-install

Para realizar el escaner de puertos y servicios en Python con Nmap solo debemos hacer lo siguiente:

nmap1

A través de la función “scan” podemos usar un segundo parámetro para usar las diferentes búsquedas y funcionalidades de Nmap: podemos encontrar una lista completa aquí

¿Qué es el banner grabbing?

El banner grabbing es una de las formas de conocer qué infraestructura o sistema se encuentra detrás de un servicio. En otras palabras, podemos usarlo para hacer figerprinting y obtener información bastante valiosa a la hora de recogida de datos.

Repasando lo anterior nuestro script  rastreará y analizará los puertos, servicios y banners de cada ip y el código quedaría así:

nmap3

Los parámetros que hemos usado son:

  • -O : detección del sistema operativo.
  • -v : aumentar el nivel de detalle y depuración.
  • -sV : detección de la versión de los servicios.
  • –script banner : imprimir el banner de los servicios.

Sin embargo decir que existe otra forma de realizar todo el escaner mejor y más rápido con Sockets. Hablaré como hacerlo de la otra forma en la tercera parte de esta saga de tutoriales de cómo hacer tu Shodan de casa fácilmente. ¡NO TE LA PIERDAS! que la cosa poco a poco se va poniendo más interesante.

Recuerda, si no nos sigues en las redes sociales porque no tienes Twitter, Facebook, LinkedIn, Google+, etc puedes suscribirse a nuestro blog y enterarte el primero de la próxima entrada.


 

Espero que vayáis viendo la idea de Shodita y cualquier aportación y mejora es bien recibida. Un saludo.

NOVITA-FOOTER

2 Comments

  1. Jorge 9 octubre, 2016 Reply

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *