Reconocimiento BlackBox #2:  Enumerando subdominios

Reconocimiento BlackBox #2: Enumerando subdominios

En el mundo siempre en evolución de la ciberseguridad, la capacidad de descubrir y mapear subdominios de un dominio principal es una habilidad crucial para cualquier profesional de seguridad. En esta entrada, nos sumergiremos en la técnica de la enumeración pasiva de subdominios utilizando herramientas automatizadas, una metodología esencial para los pentesters y analistas de seguridad.

¿Qué es la Enumeración Pasiva de Subdominios? La enumeración pasiva de subdominios es un proceso de recopilación de información donde recopilamos datos sobre los subdominios de un dominio específico sin enviar tráfico directo al dominio objetivo. Esta técnica es fundamental para mantener un perfil bajo y evitar la detección durante la fase de reconocimiento en una evaluación de seguridad.

Inspirado en la parte dos de https://twitter.com/RogueSMG/status/1496217791976054784

Temas:

  • Configurar el servidor VPS.
  • Enumeración de subdominios.

Configurar el servidor VPS

Para enumerar subdominios de un objetivo, la forma más fácil es la automatización mediante programas.

Para este laboratorio se contó con un sistema operativo basado en Linux, específicamente la distribución de KaliLinux que puede ser utilizado como máquina virtual desde Vmware en Windows.

Nuestra recomendación es comprar algún VPS, no importa de que proveedor sea, pero el requisito es que provea el acceso remoto por SSH con el usuario root. Para este caso se eligió un VPS basado en Ubuntu 20.04.

Después de tener acceso al VPS por SSH se instaló Go. Enseguida se ingresó a la página "https://go.dev/dl/" y se ubicó la descarga del archivo "tar.gz" con soporte para Linux. En este caso se bajó la versión 1.18.3.

Los comandos para descargar e instalar Go fueron 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 se ejecutó el comando "go version" en la terminal.

go version go1.18.3 linux/amd64

Enumeración Pasiva De Subdominios

Las herramientas utilizadas fueron 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

image-1.png

image-2.png

Si presenta problemas con la instalación debido a la versión de Go, se recomienda 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 se utilizó el siguiente comando:

amass enum --passive -d starbucks.com

image-3.png

Assetfinder

https://github.com/tomnomnom/assetfinder

Debido a que esta herramienta ya no tiene actualizaciones desde el 2020 es probable que se presenten problemas al momento de la instalación.

Es necesario descargar los archivos e instalar Go directamente mediante los siguientes comandos:

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

Enseguida se debe ejecutar la herramienta assetfinder con el siguiente comando para realizar la enumeración de subdominios.

assetfinder --subs-only starbucks.com

image-4.png

Subfinder

Instalación:

https://github.com/projectdiscovery/subfinder

go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest

Uso:

subfinder -d starbucks.com

image-1.png

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. image.png

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

← Back to Blog