Categorías
Programacion de Hacking

Busqueda subdominios

Vamos a realizar un detector de subdominios, por regla general la página principal que revisaremos como pentester será la que este mas segurizada, para eso buscaremos otros dominios desde los que revisaremos posteriormente si están segurizados contra más técnicas que podremos probar. 

Para empezar a buscar subdominios comenzaremos importando las bibliotecas que necesitamos, que en este caso serán request, path y sys. 

Continuamos poniendo como siempre nuestro if name para evitar bloqueos del programa y malos funcionamientos. 

El siguiente paso será empezar a definir nuestra función main con una variable de nombre dominio que introduciremos por consola, para darle un aspecto más destacado dentro de nuestro programa lo contendremos entre asteriscos, aunque no es funcionalmente necesario. 

Dentro del proyecto junto a nuestro programa Python colocaremos un archivo con extensión txt que emplearemos como diccionario, que previamente habremos descargado, es tan solo una lista de palabras similar al que emplearíamos en un script de fuerza bruta, solo que en este caso se empleara un listado de palabras que haga referencia a los subdominios más preestablecidos y conocidos. 

Ahora empezaremos a escribir la lógica del programa en el que el sistema buscara el archivo de subdominios y realizara una lectura del mismo y si no se producirá una salida de sistema para que si el dominio que ponemos no es válido nos cierre el mismo.

El siguiente paso es con un for recorrer la variable wordlist en la que hemos iterado nuestro diccionario se convertirá en una url con http la palabra del wordlist y el dominio que hemos insertado para que si prueba y nos da error continue a la siguiente palabra y en caso contrario nos muestre el subdominio localizado por pantalla. 

Del mismo modo lo haremos con la cabecera https. 

Nuestro programa final se verá completado de esta forma. 

Por último, debemos comprobar su funcionamiento, en este caso lo haremos con dos conocidos dominios. 

Como vemos el programa nos da salida de palabras del diccionario más el dominio que hemos introducido en el input, dándonos como salida los existentes.