Obtener subdominios de un dominio por diccionario

Hola.

En casos de una auditoria nos es muy útil poder descubrir los subdominios que cuelgan de un dominio. Esto se puede conseguir a traves de google o con distintas herramientas. Pero en esta ocasión vamos a realizar un script propio, sencillo, el cual a traves de un diccionario creado por nosotros mismos vamos a poder averiguar los subdominios que cuelgan de un dominio y sus respectivas direcciones IP, empecemos.

Como siempre lo único que necesitamos para realizar esta tarea es, un equipo y como no, nuestro sistema operativo favorito, LINUX.

  1.  Creación del fichero de diccionario para búsqueda de dominios: Lo llamaremos ‘palabras.txt’ y lo podemos crear con nano por ejemplo. Este seria su contenido:

estudiante
intranet
correo
email
mail
primario
secundario
backup
intranet
gerencia
administracion
seguridad
contabilidad
contable

tecnico

admin

sistemas

interior

exterior

2. Creación del script:

for i in $(cat palabras.txt);
do
host $i.DOMINIO.COM;
done

Tenemos que cambiar el contenido de DOMINIO.COM por el DOMINIO que queremos analizar.

 

De esta forma si corremos ese comando con el dominio: GOOGLE.com este seria el resultado:

Host estudiante.google.com not found: 3(NXDOMAIN)
Host intranet.google.com not found: 3(NXDOMAIN)
Host correo.google.com not found: 3(NXDOMAIN)
email.google.com is an alias for gmail.google.com.
gmail.google.com is an alias for www3.l.google.com.
www3.l.google.com has address 216.58.201.142
www3.l.google.com has IPv6 address 2a00:1450:4003:804::200e
mail.google.com is an alias for googlemail.l.google.com.
googlemail.l.google.com has address 216.58.201.133
googlemail.l.google.com has IPv6 address 2a00:1450:4003:804::2005
Host primario.google.com not found: 3(NXDOMAIN)
Host secundario.google.com not found: 3(NXDOMAIN)
Host backup.google.com not found: 3(NXDOMAIN)
Host intranet.google.com not found: 3(NXDOMAIN)
Host gerencia.google.com not found: 3(NXDOMAIN)
Host administracion.google.com not found: 3(NXDOMAIN)
Host seguridad.google.com not found: 3(NXDOMAIN)
Host contabilidad.google.com not found: 3(NXDOMAIN)
Host contable.google.com not found: 3(NXDOMAIN)
Host mx.google.com not found: 3(NXDOMAIN)
Host mx01.google.com not found: 3(NXDOMAIN)
Host mx02.google.com not found: 3(NXDOMAIN)

Como podemos ver ha encontrado el subdominio ‘mail’ y el subdominio ‘email’.

Este seria el objetivo. Adaptar las palabras claves para el dominio que necesitamos y con esto podemos obtener muy buena información. Ademas, podemos filtrar un poco más la salida para obviar los resultados que no han coincidido, lo podemos hacer con grep:

for i in $(cat palabras.txt); do host $i.google.com; done | grep has

Ahora, esta seria la salida:

www3.l.google.com has address 216.58.201.142
www3.l.google.com has IPv6 address 2a00:1450:4003:804::200e
googlemail.l.google.com has address 216.58.201.133
googlemail.l.google.com has IPv6 address 2a00:1450:4003:804::2005

Mucho más sencilla, ¿verdad?

 

 

Espero os pueda servir de utilidad.

Un saludo.

Share