Hoy vamos a ver diferentes formas de detectar subdominios. Existen numerosas formas de llevar a cabo esta detección. En el artículo de hoy vamos a ver algunas de ellas.

Antes de comenzar a ver cómo llevar a cabo esta práctica, vamos a ver primero el para qué sirve, o para que me puede servir. Un dominio puede tener varios subdominios con servicios activos, siendo estos utilizados para diferentes fines. Si podemos detectar los subdominios activos, quizá podremos acceder a nuevas zonas de la web que desconocíamos. Conseguir acceso a nuevos paneles de login o descubrir servicios que se están ejecutando en esa máquina.

Esto es muy importante a la hora buscar fallos de seguridad en compañías. Un subdominio mal protegido podría ser sin duda un vector de ataque mediante el cual conseguir acceso a una infraestructura.

Por ello vamos a ver algunas de las formas de detección de subdominios. Detectar los subdominios activos en una web nos puede ayudar a la hora de hacernos una idea del tamaño que va a tener la infraestructura a auditar, así cómo incrementar la información que obtenemos sobre la misma, obteniendo detalles sobre los posibles servicios activos que pueda tener, versiones de los servicios, etc (por tanto es también una labor de ciberinteligencia).

Vamos a ver unas cuantas herramientas que nos van a ayudar a detectar estos subdominios. Hay muchísimas formas de llevar a cabo esta práctica, y ninguna forma es correcta, pero siempre podemos sacar nueva información o contratar las fuentes, por ello es recomendable usar varias de ellas y así comparar los resultados.

Recon-ng

Se trata de una herramienta completísima. Tiene una estructura modular y se parece bastante a metasploit en algunos aspectos. Esta herramienta es muy útil para labores de inteligencia, pero para lo que nos atañe también. Si usamos el siguiente módulo: “recon/domains-hosts/threatminer” podemos sacar información sobre los subdominos ubicados en un dominio.

Usarlo es muy sencillo. Pondríamos: “use ruta_modulo” y una vez estemos dentro del módulo, con “show options” podríamos ver las opciones disponibles.

Escribimos “set SOURCE dominio.com

Y posteriormente run.

Con esto obtendríamos ya los subdominios de la web.

subdominios1

DNScan

Vamos a ver ahora como podemos detectar estos subdominios mediante fuerza bruta. Usando la herramienta “dnscan” podemos sacar información sobre los DNS, así como de los subdominios (objetivo del artículo), pero, nos prueba más cosas, incluso, prueba si es vulnerable a las transferencias de zona.

En este caso, por ejemplo, tras ejecutar el script, “python3 dnscan.py -d google.es”, nos ha dado como resultado lo siguiente:

Pueden observarse nuevos subdominios para este dominio, la mayoría de ellos nuevos.

Esta herramienta tiene diferentes opciones de uso, funciona mediante un proceso de fuerza bruta, es decir, va probando a ver si existen coincidencias con los subdominios que tiene guardados. Podemos asignarle el archivo con los subdominios, la propia herramienta trae varios por defecto. Otro de los parámetros que podemos asignarle son los threads de ejecución. Podemos además ponerlo en modo verbose o no.

subdominios2

Probamos por ejemplo a pasar el script de la siguiente manera: “python3 dnscan.py -d google.es -w ./subdomains-1000.txt -t 50”.

subdominios3

Como puede verse ha conseguido algo más de información que la vez anterior. Lo bueno de esta herramienta es que podemos ir haciéndonos nuestra propia lista de subdominios, así vamos actualizando los más comunes o añadiendo nuevos, siendo esto una opción perfecta para ahorrar tiempos de ejecución y aumentar el número de detecciones.

DNSenum

Especialmente parecido al anterior tenemos a “dnsenum”. Es muy parecido al anterior, realiza fuerza bruta para conseguir subdominios, pero tiene todas las demás opciones del anterior. Podemos sacar información sobre los mails servers, los names servers, y además prueba si puede realizar automáticamente las transferencias de zona. Para la ejecución del mismo, si queremos que nos saque subdominios, tenemos que pasarle un fichero con los nombres de los subdominios (al igual que hacíamos con dnscan). Personalmente nos gusta mucho más este pues está mejor presentada la presentación de los datos y da algo más de información sobre los DNS. Este script está desarrollado en Perl.

subdominios4

Estos dos podrían ser llamados (salvando las distancias obviamente) “automatización de nslookup” pues al final nos dan la misma información, pero ahorrándonos pasos y de una forma algo más automática.

Podemos encontrar muchas más herramientas de fuerza bruta para la obtención de subdominios, por ejemplo “subbrute” o incluso el bueno y versátil nmap con el script de “dns-brute”. Pero al final, siempre acaba siendo lo mismo en esencia, fuerza bruta, por ello no vamos a seguir viendo más de este tipo.

Dnsdumpster

Se trata de una herramienta web. Es accesible mediante el siguiente enlace: https://dnsdumpster.com/. Podemos sacar de esta herramienta información parecida a la proporcionada por las anteriores, pero en menos cantidad. No obstante, debe estar aquí con las demás pues hace algo genial que es darnos un mapeo del dominio, viendo de una forma más gráfica cómo se distribuyen las DNS.

subdominios5

Además, nos da otras opciones como comprobar las transferencias de zona, ver más hosts que compartan la IP de nuestro objetivo o incluso hacer un escaneo de puertos con nmap.

Buscar en una entidad certificadora

Sin duda una de las mejores opciones es acceder a una entidad certificadora y preguntarle por la información de los certificados expedidos hacia un dominio en cuestión. Podemos ir por ejemplo a Censys.io que tiene acceso a certificados y preguntarle por el dominio que queremos buscar.

Esta nos va a devolver la información de todos los certificados, dándonos información de los distintos subdominios por tanto que hay en una organización.

Un ejemplo de cómo quedan las búsquedas:

subdominios6

Aquí podemos ver por ejemplo que al dominio de telefónica se le asigno un certificado para el subdominio WAS10.

Otra herramienta, muy buena es la siguiente: https://pentest-tools.com/information-gathering/find-subdomains-of-domain, herramienta que saca también subdominios online.

Esperemos que os haya servido de ayuda, siempre podéis dejar en los comentarios más formas de sacar subdominios y opinar sobre cual pensáis que es la mejor de todas según vuestra experiencia.

Hasta el próximo artículo!!

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.