Buscando una aplicación para intentar enumerar los posibles subdominios me he encontrado con SubBrute. La aplicación tiene una serie de ventajas, como puede ser el uso de multitud de resolvedores DNS diferentes para así evitar las limitaciones de tasa de peticiones de resolución de dominios.
Como su nombre indica, SubBrute hace uso de la fuerza bruta para rastrear los posibles subdominios y registros DNS. La página oficial del proyecto está en Github, desde la que podemos descargar la aplicación. Es un programa gratuito, multiplataforma y de código abierto.
Instalación y uso de SubBrute.
La instalación en Windows es muy sencilla, ya que incluye un archivo ejecutable que podemos emplear directamente desde la consola. Este ejecutable subbrute.exe
lo encontramos en la carpeta Windows.
Para instalar SubBrute en Ubuntu primero tenemos que instalar las dependencias con el comando:
sudo apt-get install python-dnspython
Como es obvio, necesitamos Python instalado en el sistema para poder ejecutarlo. El comando de uso básico es:
subbrute.py google.com
En último caso, siempre podemos recurrir al comando subbrute.py --help
que nos mostrará toda la ayuda y opciones disponibles.
Usage:
subbrute.exe [options] target_domain
subbrute.exe -p target_domain
Options:
-h, --help show this help message and exit
-s SUBS, --subs=SUBS (optional) A list of subdomains, accepts a file, or a
directory of files. default = 'names.txt'
-r RESOLVERS, --resolvers=RESOLVERS
(optional) A list of DNS resolvers, if this list is
empty it will OS's internal resolver default =
'resolvers.txt'
-t TARGETS, --targets_file=TARGETS
(optional) A file containing a newline delimited list
of domains to brute force.
-p, -P (optional) Print data from found DNS records (default
= off).
-o OUTPUT, --output=OUTPUT
(optional) Output to file (Greppable Format)
-j JSON, --json=JSON (optional) Output to file (JSON Format)
--type=TYPE (optional) Print all reponses for an arbitrary DNS
record type (CNAME, AAAA, TXT, SOA, MX...)
-c PROCESS_COUNT, --process_count=PROCESS_COUNT
(optional) Number of lookup theads to run. default =
16
-v, --verbose (optional) Print debug information.