AQUATONE es una herramienta que nos va a permitir descubrir los subdominios de un determinado dominio. Esto lo va a conseguir gracias a fuentes abiertas que el programa se encargará de consultar, y también probando con diccionarios y fuerza bruta si existen los correspondientes subdominios.
Principales características de AQUATONE
AQUATONE además de descubrir los subdominios de un determinado dominio, también es capaz de descubrir los hosts que hay detrás de dichos dominios, incluyendo la posibilidad de realizar un escaneo de puertos a dichos hosts y analizar la cabecera HTTP, el cuerpo HTML e incluso realizar capturas de pantalla automáticas para posteriormente reunir toda la información recopilada en un informe. Estas capturas de pantalla solo serán posibles siempre y cuando el sistema operativo donde lo hemos ejecutado tenga interfaz gráfica de usuario.
Requisitos para instalar AQUATONE
AQUATONE necesitará tener la versión de Ruby más reciente instalada (se recomienda instalar Ruby con RVM), además, también depende del gestor de paquetes NPM así como de Node.js. Si vas a utilizar la distribución Linux orientada a la seguridad informática Kali Linux, el equipo de desarrollo ha indicado que Kali ya cumple todas las dependencias. Además, el equipo de desarrollo solo da soporte al sistema operativo Kali Linux.
La herramienta AQUATONE se puede instalar a través de Gem fácilmente, poniendo la siguiente sentencia:
gem install aquatone
Cómo ejecutar AQUATONE
Una vez que tenemos esta herramienta instalada, deberemos ejecutarla para descubrir los subdominios. El primer paso que deberemos realizar por tanto es el de descubrimiento, este descubrimiento como hemos dicho anteriormente, se realiza a través de fuentes de información, por diccionario y fuerza bruta. Para ejecutar este descubrimiento deberemos poner en consola:
aquatone-discover --domain redeszone.net
Aquatone-discover se encargará de encontrar los servidores de nombres del objetivo, y búsquedas DNS aleatorias. Si las búsquedas en los DNS de destino fallan, usará los DNS de Google para maximizar el descubrimiento. Si queremos buscar con unos DNS en concreto, debemos poner:
aquatone-discover --domain example.com --fallback-nameservers 8.8.8.8,8.8.4.4
También tenemos una opción para ejecutar cinco hilos paralelos y hacer el descubrimiento de manera más rápida, para activar esta opción deberemos poner el flag «–threads 200» por ejemplo. Para evitar baneos por parte de los servidores DNS por realizar cientos de consultas, podremos poner un «sleep» e incluso un «jitter» para dejar algo de tiempo entre consultas. Esta herramienta también es compatible con el popular servicio Shodan, permitiendo hacer consultas utilizando la API Key del servicio.
Cuando el programa termine de escanear todos los objetivos, creará un fichero de texto en la ubicación /aquatone/dominio-buscado/ con nombre hosts.txt. El formato de este archivo de texto será el del dominio y a continuación las direcciones IP separadas por comas si hubiera más de una IP.
example.com,93.184.216.34
www.example.com,93.184.216.34
secret.example.com,93.184.216.36
cdn.example.com,192.0.2.42
Si además de descubrir los subdominios, estás interesado en realizar un escaneo de puertos automatizado, podrás utilizar la herramienta aquatone-scan, algunos ejemplos los tienes a continuación:
aquatone-scan --domain redeszone.net --ports 80,443,3000,8080
Tal y como podéis ver, esta herramienta para descubrir subdominios es bastante potente. Os recomendamos acceder a la web oficial del proyecto AQUATONE en GitHub, aquí encontraréis tanto el código fuente, el manual de instalación y también ejemplos de utilización.