Page cover image

🔎Subdominios - Pasiva

La identificación de subdominios implica la búsqueda y enumeración de subdominios asociados a un dominio principal.

Enumeración pasiva de subdominios


La enumeración de subdominios se refiere al mapeo de todos los subdominios disponibles dentro de un nombre de dominio. Aumenta nuestra superficie de ataque y puede descubrir paneles de administración ocultos o aplicaciones web de intranet que los administradores de red esperaban mantener ocultos mediante la estrategia de "seguridad por oscuridad". En este punto, solo realizaremos una enumeración pasiva de subdominios utilizando servicios de terceros o información disponible públicamente. Aún así, ampliaremos la información que recopilamos en futuras actividades de enumeración de subdominios activos.


VirusTotal

VirusTotal mantiene su servicio de replicación de DNS, que se desarrolla preservando las resoluciones de DNS realizadas cuando los usuarios visitan las URL proporcionadas por ellos. Para recibir información sobre un dominio, escriba el nombre del dominio en la barra de búsqueda y haga clic en la pestaña "Relaciones".

imagen

Certificados

Otra fuente interesante de información que podemos utilizar para extraer subdominios son los certificados SSL/TLS. La razón principal es la Transparencia de Certificados (CT), un proyecto que requiere que cada certificado SSL/TLS emitido por una Autoridad Certificadora (CA) se publique en un registro de acceso público.

Aprenderemos cómo examinar los registros de CT para descubrir nombres de dominio y subdominios adicionales para una organización objetivo utilizando dos recursos principales:

Podemos navegar hasta https://search.censys.io/certificates o https://crt.sh e introducir el nombre de dominio de nuestra organización objetivo para comenzar a descubrir nuevos subdominios.

censys.io/certificates
crt.sh

Aunque el sitio web es excelente, nos gustaría tener esta información organizada y poder combinarla con otras fuentes encontradas durante el proceso de recopilación de información. Realicemos una solicitud curl al sitio web de destino solicitando una salida JSON, ya que nos resulta más manejable procesarla. Podemos hacer esto a través de los siguientes comandos:

Transparencia del certificado

afsh4ck$ export TARGET="facebook.com"
afsh4ck$ curl -s "https://crt.sh/?q=${TARGET}&output=json" | jq -r '.[] | "\(.name_value)\n\(.common_name)"' | sort -u > "${TARGET}_crt.sh.txt"
afsh4ck$ head -n20 facebook.com_crt.sh.txt

*.adtools.facebook.com
*.ak.facebook.com
*.ak.fbcdn.net
*.alpha.facebook.com
*.assistant.facebook.com
*.beta.facebook.com
*.channel.facebook.com
*.cinyour.facebook.com
*.cinyourrc.facebook.com
*.connect.facebook.com
*.cstools.facebook.com
*.ctscan.facebook.com
*.dev.facebook.com
*.dns.facebook.com
*.extern.facebook.com
*.extools.facebook.com
*.f--facebook.com
*.facebook.com
*.facebookcorewwwi.onion
*.facebookmail.com

curl -s

Emita la solicitud con un resultado mínimo.

https://crt.sh/?q=<DOMAIN>&output=json

Solicite la salida json.

jq -r '.[]' "\(.name_value)\n\(.common_name)"'

Procese la salida json e imprima el valor del nombre del certificado y el nombre común uno por línea.

sort -u

Ordene alfabéticamente el resultado proporcionado y elimine duplicados.

También podemos realizar esta operación manualmente contra un objetivo usando OpenSSL:

afsh4ck$ export TARGET="facebook.com"
afsh4ck$ export PORT="443"
afsh4ck$ openssl s_client -ign_eof 2>/dev/null <<<$'HEAD / HTTP/1.0\r\n\r' -connect "${TARGET}:${PORT}" | openssl x509 -noout -text -in - | grep 'DNS' | sed -e 's|DNS:|\n|g' -e 's|^\*.*||g' | tr -d ',' | sort -u

*.facebook.com
*.facebook.net
*.fbcdn.net
*.fbsbx.com
*.m.facebook.com
*.messenger.com
*.xx.fbcdn.net
*.xy.fbcdn.net
*.xz.fbcdn.net
facebook.com
messenger.com

Automatización de la enumeración pasiva de subdominios

Hemos aprendido cómo adquirir información útil de nuestra organización objetivo, como subdominios, patrones de nombres, TLD alternativos, rangos de IP, etc., utilizando servicios de terceros sin interactuar directamente con su infraestructura ni depender de herramientas automatizadas. Ahora aprenderemos a enumerar subdominios utilizando herramientas e información obtenida previamente.

The Harvester

The Harvester es una herramienta fácil de usar pero potente y eficaz para pruebas de penetración en etapas iniciales y ejercicios de Red Team. Podemos usarlo para recopilar información que ayude a identificar la superficie de ataque de una empresa. La herramienta recopila emails, nombres, subdominios, direcciones IPy URLs de varias fuentes de datos públicos para la recopilación de información pasiva. Por ahora, usaremos los siguientes módulos:

Motor de búsqueda Baidu

Bufferoverun

Utiliza datos del Proyecto Sonar de Rapid7: www.rapid7.com/research/project-sonar/

Búsqueda de certificados de Comodo.

Escáneres de vulnerabilidades online e inteligencia de red

Otx

Intercambio abierto de amenazas de AlienVault: https://otx.alienvault.com

Herramienta de consulta DNS, que facilita la consulta de subdominios o sitios que utilizan la misma IP

Herramienta rápida de enumeración de subdominios para penetration testers

Inteligencia sobre amenazas de código abierto

Minería de datos para inteligencia sobre amenazas

Trello

Buscar tableros de Trello (utiliza la búsqueda de Google)

Un sandbox web para estanear webs y URLs

Vhost

Búsqueda de hosts virtuales de Bing

Búsqueda de dominios

Versión china de Shodan

Para automatizar esto, crearemos un archivo llamado sources.txt con el siguiente contenido.

afsh4ck$ cat sources.txt

baidu
bufferoverun
crtsh
hackertarget
otx
projectdiscovery
rapiddns
sublist3r
threatcrowd
trello
urlscan
vhost
virustotal
zoomeye

Una vez creado el archivo, ejecutaremos los siguientes comandos para recopilar información de estas fuentes.

export TARGET="facebook.com"
cat sources.txt | while read source; do theHarvester -d "${TARGET}" -b $source -f "${source}_${TARGET}";done

<SNIP>
*******************************************************************
*  _   _                                            _             *
* | |_| |__   ___    /\  /\__ _ _ ____   _____  ___| |_ ___ _ __  *
* | __|  _ \ / _ \  / /_/ / _` | '__\ \ / / _ \/ __| __/ _ \ '__| *
* | |_| | | |  __/ / __  / (_| | |   \ V /  __/\__ \ ||  __/ |    *
*  \__|_| |_|\___| \/ /_/ \__,_|_|    \_/ \___||___/\__\___|_|    *
*                                                                 *
* theHarvester 4.0.0                                              *
* Coded by Christian Martorella                                   *
* Edge-Security Research                                          *
* cmartorella@edge-security.com                                   *
*                                                                 *
*******************************************************************


[*] Target: facebook.com

[*] Searching Urlscan.

[*] ASNS found: 29
--------------------
AS12578
AS13335
AS13535
AS136023
AS14061
AS14618
AS15169
AS15817

<SNIP>

Cuando finalice el proceso, podemos extraer todos los subdominios encontrados y ordenarlos mediante el siguiente comando:

cat *.json | jq -r '.hosts[]' 2>/dev/null | cut -d':' -f 1 | sort -u > "${TARGET}_theHarvester.txt"

Ahora podemos fusionar todos los archivos de reconocimiento pasivo mediante:

cat facebook.com_*.txt | sort -u > facebook.com_subdomains_passive.txt
cat facebook.com_subdomains_passive.txt | wc -l

11947

También podemos ejecutar theHarvester de una forma simple con el siguiente comando:

theHarvester -d facebook.com -l 400 -b all

Sublist3r

Sublist3r es una herramienta de línea de comandos que utiliza múltiples fuentes de datos públicas para buscar subdominios asociados a un dominio principal. Esta herramienta es fácil de usar y proporciona resultados precisos de manera rápida. Sublist3r también admite la integración con otras herramientas de seguridad, como Nmap y Maltego

sudo apt install sublist3r

# el parámetro -b es para hacer fuerza bruta
sublist3r -d hackthissite.org -v -b -o output.txt

# Encuentra puertos abiertos en subdominios. (Recon. Activo)
sublist3r -d hackthissite.org -v -p 80,443 

Reconocimiento Activo de Subdominios

En la siguiente sección veremos técnicas de reconocimiento activo de subdominios:

💻Subdominios - Activa

Última actualización

¿Te fue útil?