Inspirado en la parte dos de https://twitter.com/RogueSMG/status/1496217791976054784
Temas:
Para enumerar subdominios de un objetivo, la forma más fácil es la automatización mediante programas.
Primero que nada necesitamos contar con un sistema operativo basado en Linux, como la distribución KaliLinux que puede ser utilizado como máquina virtual desde Vmware en Windows.
Pero mi recomendación es comprar algún VPS barato, no importa de que proveedor sea, en mi caso yo he elegido un VPS basado en Ubuntu 20.04.
https://www.google.com/search?q=vps+cheap
Después de tener acceso al VPS por SSH debemos instalar Go. Debemos ir a la página https://go.dev/dl/ y ubicar la descarga del archivo «tar.gz» para Linux. En mi caso he bajado la versión 1.18.3 y esta puede cambiar por una más nueva cuando usted lea esta entrada.
Los comandos para descargar e instalar Go son los siguientes:
wget https://go.dev/dl/go1.18.3.linux-amd64.tar.gz
tar -xvf go1.18.3.linux-amd64.tar.gz
sudo mv go /usr/local
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source ~/.profile
Para verificar si Go está instalado correctamente ejecute el comando «go version» en la terminal, obtendrá algo como lo siguiente:
go version go1.18.3 linux/amd64
Las herramientas a utilizar serían las siguientes:
Amass
https://github.com/OWASP/Amass
Para instalación la versión para Go ejecute el siguiente comando.
go install -v github.com/OWASP/Amass/v3/...@master
Si tiene problemas con la instalación debido a la versión de Go, recomiendo utilizar la versión 1.18.3 ya que esta es compatible con Amass.
También puede instalar Amass mediante Docker o bajando el binario desde los release. Más información consulte su repositorio oficial de GitHub.
Para enumerar subdominios de forma pasiva con Amass utilice el siguiente comando.
amass enum --passive -d starbucks.com
Assetfinder
https://github.com/tomnomnom/assetfinder
Debido a que esta herramienta ya no tiene actualizaciones desde el 2020 es probable que tenga problemas de instalación.
Es necesario descargar los archivos de Go e instalar directamente desde estos archivos.
wget https://github.com/tomnomnom/assetfinder/archive/refs/tags/v0.1.1.zip
unzip v0.1.1.zip -d assetfinder
cd assetfinder/
cd assetfinder-0.1.1/
go env -w GO111MODULE=auto
Ahora ejecute la herramienta con el siguiente comando para realizar la enumeración de subdominios.
assetfinder --subs-only starbucks.com
Subfinder
Instalación
https://github.com/projectdiscovery/subfinder
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
Uso
subfinder -d starbucks.com
Las siguientes dos herramientas son opcionales, pero son muy buenas también.
Findomain
https://github.com/Findomain/Findomain
Esta herramienta es muy interesante porque utiliza distintos servicios para la enumeración de subdominios, y es compatible con Windows y Linux.
Github-subdomains.py
Como su nombre lo indica, permite obtener subdominios de proyectos alojados en repositorios públicos de GitHub. Solo debe configurar el token.
https://github.com/gwen001/github-search/blob/master/github-subdomains.py