El reconocimiento es la primera fase de los test de penetración. Descubrir la superficie total de ataque del objetivo es crítico, especialmente si estás realizando phishing y no descubres un portal que puedas usar para autenticarte.

Sublist3r es un script de python que permite realizar un reconocimiento fácil y rápido de nuestro objetivo, descubriendo varios subdominios asociados con las webs o dominios que formen parte del objetivo.

Es fácil que nuestro ISP frunza el ceño con nuestras actividades de reconocimiento. Es por eso que la habitación proporciona un documento de texto con el output de Sublist3r para responder a lo que nos piden en la tarea final.

Probablemente, no pase nada lanzando Sublist3r, pero también es posible que Google nos ponga un captcha durante un rato

Si no queremos usar Sublist3r también podemos usar DNSDumpster.

Sublist3r enumera subdominios usando OSINT, a través de muchos motores de búsqueda, como Google, Yahoo, Bing, Baidu y Ask. Sublist3r también enumera usando otros servicios, como Netcraft, Virustotal, ThreatCrowd, DNSdumpster y ReverseDNS.

Instalación de Sublist3r

Vamos a instalar Sublist3r a partir de su repositorio en Github y lo vamos a hacer en nuestro directorio /opt.

Primero, nos vamos a /opt, luego clonamos Sublist3r, nos movemos al directorio recién creado e instalamos los requerimientos.

Para ello:

cd /opt
sudo git clone https://github.com/aboul3la/Sublist3r.git
cd Sublist3r
pip3 install -r requirements

Opciones de Sublist3r

Sublist3r tiene una serie de opciones que nos permiten especificar cosas como el dominio objetivo o cambiar el motor de búsqueda que usamos.

Podemos acceder a la ayuda con -h.

python3 sublist3r -h

Respondamos a las preguntas:

¿Qué opción podemos usar para especificar el dominio que queremos reconocer? (domain).

-d

¿Y para especificar los motores de búsqueda a usar? (engines).

-e

Guardar el resultado en un archivo es importante, con qué opción lo definimos? (output).

-o

Sublist3r puede tardar en sus tareas, pero podemos acelerarlo usando hilos (threads). ¿Qué opción nos permite configurar su número?

-t

También podemos hacer fuerza bruta (bruteforce). No es lo más útil siempre, pero podemos encontrar algún dominio que nos podríamos haber perdido de otro modo. ¿Qué opción habilita este modo?

-b

Escaneando

Hora de practicar contra el dominio de una compañía objetivo y aprender algo sobre dominios habituales. Podemos usar DNSDumpster también o descargar el archivo de resultados de la habitación.

Vamos a correr Sublist3r contra nbc.com con el comando:

python3 sublist3r -d nbc.com -o sub-output-nbc.txt

Para aprender bien, y evitarnos el baneo, vamos a usar proxychains con Tor a fin de correr el script.

En la máquina en la que estoy trabajando ahora mismo no lo tengo, así que empiezo de cero.

sudo apt install proxychains
sudo apt install tor
sudo nano /etc/proxychains.conf # Edito el archivo de configuración

En esa confiruración:

  • Activo la opción dynamic_chain quitando el signo de comentario # que le precede.
  • Me aseguro de que proxy_dns no está comentado para que no haya filtrado de datos DNS y dichas peticiones DNS también vayan a través del proxy.
  • Podría añadir proxies, pero de momento lo dejo como está, que por defecto pasa por tor.

Una vez grabado el archivo, necesito iniciar el servicio tor.

sudo systemctl start tor # Inicio tor mediante systemd en Ubuntu 21.04
systemctl status tor # Compruebo que está iniciado con éxito

Ahora, ya puedo usar proxychains y, para comprobar que funciona, inicio Firefox de esa manera y compruebo mi IP.

proxychains firefox

Y Google me detecta como tráfico inusual, mandándome captchas constantes.

Buena lección. Así que lo lanzo de nuevo a ver si tengo mejor suerte.

El script está funcionando, pero aparte de indicarnos que Virustotal y Google bloquean las peticiones, se produce un error de Python. Qué maravilla.

Voy probando con la instrucción de abajo hasta que al final se completa bien.

proxychains python3 sublist3r -d nbc.com -o ~/output.txt

Procedemos con las preguntas:

Los dominios de email casi siempre son interesantes porque suelen tener un portal de correo (normalmente, Outlook). ¿Qué subdominio es probablemente un portal de correo?

mail

Los paneles de control de administración no deberían estar expuestos en Internet. ¿Qué subdominio está expuesto y no debería?

admin

Los blogs de empresa a pueden revelar información sobre actividades internas. ¿Qué subdominio aloja ese blog?

blog

Los sitios en desarrollo son vulnerables a menudo. Hay dos de estos sitios expuestos, ¿cuál está asociado directamente con desarrollo web?

dev-www

Los helpdesk pueden revelar nomenclaturas internas y otra información sensible, ¿qué subdominio alberga un portal de este tipo?

help

La autenticación en un paso es algo que se suele usar en dominios corporativos. ¿Qué registro dns está asociado con esta característica? (Su abreviatura suele ser sso)

ssologin.stg

NBC produjo una comedia popular sobre el entorno de trabajo de una oficina. ¿Qué registro está asociado con ese show?

office-words