CÓMO CREAR TU PROPIO SHODAN: UNA IP PARA GOBERNARLOS A TODOS [PARTE VII]

shodita

Si estas interesado empezar a programar con Python: QuantiKa14 desde 2013 oferta un curso online por solo 110 €

Hola a tod@s, os traigo el enlace para que podáis aportar en el proyecto de Shodita desde Github y podáis tener el código fuente. Algunos me han comentado que les da error al ejecutarlo. Es debido a la codificación. Solo deben borrar los comentarios que tienen acentos y funcionará perfectamente. Eso sí, deben configurar las IPs que quieren escanear.

Comentaros que los diferentes bots tendrán nombres de los personajes de la serie de dibujos Doraimon. El bot principal encargado de recoger toda la información base con la cual trabajarán los bots secundarios se llama nobita-bot.py y el bot que realiza fuerza bruta a diferentes servicios gigante-bot.py, etc.

  • nobita-bot.py: bot principal.
    • shizuka-bot.py: bot secundario con funciones de footprinting. Obtención de dominios webs compartidos por la misma ip y detección de gestores de contenido.
    • gigante-bot.py: bot secundario dedicado hacer fuerza bruta a diferentes servicios.

De momento esta solamente subido Nobita y en breve su platónica novia Shizuka. Y es que comentar solo lo de Github me parecía poco contenido para un nuevo post. Por ello os traigo el principio de este que tendrá el objetivo de explicar como obtener los dominios que se alojan bajo la misma IP. Esto es bastante frecuente en servicios multihost donde tu web es vecina de decenas de otras, permitiendo que, una vulnerabilidad posiblemente comprometa a todas las plataformas si no protegido debidamente.

Antes de empezar comentar que esto es prácticamente la misma aplicación que ya hice en su día para los talleres de WordPress llamada Wecino.py que nos permitía hacer un Ip reverse y detectar los WordPress alojados en una misma IP.

Lo primero será saber que librerías usaremos: urllib, re, BeautifulSoup y pymongo (pip install bs4/pymongo)

shodita-7-1

He investigado varias formas de obtener esta información a través de Sockets y otros módulos. Sin embargo no he encontrado una solución y optado por usar un servicio externo y parsear la respuesta. La web se llama viewdns.info y nos permite realizar lo que queremos. Debemos tener cuidado porque debe tener algún sistema o excepción(anti-bots) que al no mandar bien la petición HTTP por método GET nos devuelve unos dominios del año 1970 quizás cuando el capitán américa se hizo su primer blog.

shodita-7-2-1

Como podemos observar nos responde con un mensaje de que ha detectado peticiones automatizadas. No se equivoca. Debemos saber que esta web presta un servicio gratuito bastante limitado pero si no queréis tener limitaciones debes pagar por la API. 

Para no pagar incluyendo al final de la url un “&t=1” podremos realizar todas las peticiones que queramos sin que nos baneé, hasta que se den cuenta…

shodita-7-3

Esta función será la encargada de parsear y enviar esos dominios a los diferentes detectores de gestores de contenidos de los que hablaremos en la próxima entrada. Pero antes debemos de pasar por parámetro el target (ip). Esta información la tenemos gracias a Nobita Bot que sin descanso rastrea todas las IPs y obtienen si disponen de servicio web.

shodita-7-5

Para finalizar decir que lo único que falta es la función que inserta los datos pero como aun falta por explicar las funciones de detección y obtención de versión, título, login y descripción solo pondré la estructura de los datos que insertaríamos en la base de datos:

shodita-7-4

Para finalizar me gustaría mencionar que todo esto es gracias a vosotros y en este caso especial a Norberto que me propuso hacer esto en un comentario del blog. Por eso no me quiero despedir sin antes pedir que por favor comenten,  así poder mejorar y aprender entre todos. Un saludo.

NOVITA-FOOTER

 

3 Comments

  1. Norberto 18 agosto, 2016 Reply

Add a Comment

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