Enumeración de subdominios

introducir:

        La recopilación temprana de información en una prueba de penetración normal es muy importante. Cuando se encuentra una superficie de exposición de activos más, puede haber un punto de ataque más y es más probable que derribe el sistema objetivo. La mayor parte de la recopilación normal de sub- los nombres de dominio se realizan mediante la destrucción de nombres de subdominios, o vulnerabilidades de transmisión de dominios, etc., aquí hay un resumen de la enumeración de subdominios, para comprender mejor los principios y medios de la recopilación de subdominios;

Además, aún es necesario comprender algunos conocimientos básicos. Los tipos de registros DNS comunes son los siguientes. Además, el número de puerto TCP/UDP predeterminado es 53:

Un registro de dirección IP, que registra la dirección IP correspondiente a un nombre de dominio 
Registro de dirección IPv6 AAAA, registra la dirección IPv6 correspondiente a un 
registro CNAME de nombre de dominio, registra el nombre de alias de un 
registro de intercambio de correo electrónico MX de host, registra la dirección IP correspondiente a un nombre de dominio de correo, como root @xxxx.com 
Registro del servidor de nombres de dominio NS, que registra qué servidor de nombres de dominio resuelve el registro inverso PTR del nombre de dominio 
, es decir, un registro desde la dirección IP al nombre de dominio 
TXT registra el texto relevante información del nombre de dominio

Normalmente, podemos usar NS para obtener el servidor DNS de la URL y podemos especificar el servidor DNS nosotros mismos:

nslookup -qt=NS baidu.com 8.8.8.8  

 

Explosión de subdominio:

        Esto es muy simple. Lo principal es usar herramientas y diccionarios para destruir y enumerar nombres de subdominios. El número de enumeraciones depende de la calidad de nuestros diccionarios y de la calidad de las herramientas. Es probable que se active una alarma y los subdominios que encontramos no son completos, pero como método más común y fácil de usar, sigue siendo muy importante:

        Tres herramientas importantes + diccionario + servidor DNS para explosión de subdominios:

        El primero es el diccionario. Hay muchas direcciones en Internet donde puede descargar diccionarios. Puede descargarlos usted mismo, pero la mayoría de los diccionarios contienen una gran cantidad de datos basura y no son completos. Esto requiere una actualización manual del diccionario. El diccionario no debe ser demasiado grande, demasiado tiempo y costo.Alto, y si la configuración del hilo es alta, habrá pérdida de paquetes.Lo más común es que los resultados de cada voladura sean diferentes;

        La elección del servidor DNS depende de si el servicio de nombres de dominio que desea utilizar es nacional o extranjero. Después de confirmar esto, puede elegir el servidor DNS. Aquí hay algunas recomendaciones:

        DNS públicos: 114.114.114.114 y 114.114.115.115

        Ali DNS: 223.5.5.5 y 223.6.6.6

        OpenDNS: 208.67.222.222 y 208.67.220.220

        DNS de Google: 8.8.8.8 y 8.8.4.4

        Selección de herramientas, aquí suelo utilizar Layer y ksubdomain,

dirección del subdominio k:

https://github.com/knownsec/ksubdomain

A menos que desee modificar el código y compilarlo usted mismo, puede publicar directamente el archivo ejecutable la próxima semana. El comando es el siguiente:

ksubdominio -d baidu.com -f subdominio.txt -ttl -b 1k -o /home/dnsscan/out.txt

El resultado se puede dividir usando awk: awk '{print $1,$3,$3,$7}' out.txt

Aunque el uso de -b reduce la velocidad, todavía existe un problema de pérdida de paquetes. Aunque es muy rápido, la pérdida de paquetes puede provocar un escaneo incompleto.

Dirección de capa:

https://github.com/euphrat1ca/LayerDomainFinder

La capa se usa en Windows, lo cual es conveniente para que Xiaobai lo opere. Puede configurar el servidor DNS usted mismo. La velocidad no es tan rápida como la de ksubdomain, pero aún es posible:

 Además, hay muchas herramientas de voladura en Internet, por lo que no las enumeraré aquí. Puede descargarlas y probarlas usted mismo.

buscador:

Además, puedes utilizar los motores de búsqueda para encontrar:

google: sitio:target.com

bing: sitio:target.com

Ojo de Zhong Kui: sitio = target.com

Transparencia del certificado:

Transparencia de certificados (Certificate Transparency) es un programa de autoridades certificadoras que publican cada certificado SSL/TLS en un registro público. Un certificado SSL/TLS normalmente incluye el nombre de dominio, el nombre del subdominio y la dirección de correo electrónico. La forma más sencilla de saber a qué certificado pertenece un dominio es utilizar un motor de búsqueda para buscar algunos registros CT públicos.

Entró en vigor un requisito obligatorio para el navegador web Google Chrome que exige que todas las autoridades de certificación TLS emitidas recientemente cumplan con la política de transparencia de certificados (CT) de Chromium. Según este mandato, los sitios web deben garantizar que los certificados de confianza pública emitidos por autoridades de certificación (CA) aparezcan en los registros de CT. De lo contrario, Chrome mostrará un mensaje de error a los visitantes advirtiéndoles que el sitio no cumple con CT y evitará que los subrecursos servidos a través de conexiones HTTPS se carguen correctamente.

https://crt.sh/ 
https://search.censys.io/certificates 
https://ui.ctsearch.entrust.com/ui/ctsearchui

O utilice la herramienta ctrf:

https://github.com/UnaPibaGeek/ctfr

Utilice el comando: python3 ctfr.py -d test.com

 

SAN (Nombre alternativo del sujeto) Nombre alternativo del sujeto:

SAN (Nombre alternativo del sujeto) Nombre alternativo del sujeto, Certificado de nombre alternativo del sujeto En pocas palabras, cuando se requieren y utilizan varios nombres de dominio para diversos servicios, se pueden utilizar certificados SAN. Permite el uso del campo sujetoAltName en certificados de seguridad para asociar varios valores al certificado, conocidos como nombres alternativos de sujeto. El nombre puede incluir: dirección IP, nombre DNS, etc.

Ejemplo: el-arte-de-la-enumeración-de-subdominios

https://github.com/appsecco/the-art-of-subdomain-enumeration

 python3 san_subdomain_enum.py www.baidu.com

Divulgación de información:

GitHub:

Se puede buscar directamente en github, pero hay muchos contenidos, es mejor cooperar con las herramientas, puede usar la herramienta github-subdomains:

https://github.com/gwen001/github-subdomains

dominio cruzado.xml:

Acceda al archivo de política entre dominios crossdomain.xml:

robots.txt 

Robots.txt conduce a la divulgación de directorio o subdominio: 

 

CSP (Política de seguridad de contenido):

Si se configura csp, puede haber subdominios en él:

Puede utilizar la herramienta csprecon para obtener en lotes:

https://github.com/edoardottt/csprecon
apt install gccgo-go 
apt install golang-go
go install github.com/edoardottt/csprecon/cmd/csprecon@latest

mapa del sitio.xml

El archivo de dirección del sitio web sitemap.xml conduce a la divulgación de información:

Hay una filtración en la página:

Los saltos en js o html pueden ocultar algunos subdominios, que se pueden rastrear con herramientas de rastreo, y aquí se recomienda gospider:

https://github.com/jaeles-project/gospider

Vulnerabilidad de transferencia de dominio DNS:

La llamada vulnerabilidad de transferencia de dominio significa que cualquier máquina puede pretender ser un servidor de respaldo y enviar una solicitud de transferencia de dominio al servidor principal. Principalmente vía transferencias de zona AXFR e IXFR:

AXFR: transferencia de región completa, transfiere completamente toda la base de datos de la región 
IXFR: transferencia de región incremental, se puede usar un tipo de consulta opcional en este momento, lo que permite que el servidor secundario encuentre solo algunos cambios de región para la copia de la región y la región de origen (puede ser otra Sincronización entre réplicas de zona primaria o secundaria mantenidas por servidores DNS

 Puede usar nslookup, aquí puede usar freebuf para realizar pruebas de manera informal y, cuando haya una vulnerabilidad, use ls para imprimir la URL:

También puedes usar dig, primero usa nslookup para obtener la dirección del servidor:

nslookup -qt=NS baidu.com

 

 excavar @ 110.242.68.134 baidu.com

excavar @ 110.242.68.134 -t axfr baidu.com 

Esto es solo para pruebas. Cuando hay una vulnerabilidad de transmisión de dominio, puede usar axfr para sincronizar la URL del servidor de dominio principal.

 

Por supuesto, también puedes usar la prueba nmap.

nmap --script dns-zone-transfer.nse --script-args "dns-zone-transfer.domain=vulhub.org" -Pn -p 53 192.168.101.152

Colección de herramientas:

El proyecto OneForAll con una mejor colección de estas funciones:

https://github.com/shmilylty/OneForAll

OneForAll cubre básicamente los métodos anteriores, y además es muy sencillo y práctico de utilizar, se recomienda utilizar:

python3 oneforall.py --target dxy.cn --dns Ejecución falsa

Se generará un archivo csv y, cuando lo abra, podrá ver que los resultados del análisis son bastante completos:

fin:

Básicamente, la adquisición de nombres de subdominio se trata de lo anterior: el uso de herramientas puede acelerar nuestra comprensión de los activos, pero aún necesitamos un poco de comprensión de los principios de las herramientas para que podamos realizar pruebas de manera más flexible en las operaciones diarias.

Supongo que te gusta

Origin blog.csdn.net/GalaxySpaceX/article/details/132599035
Recomendado
Clasificación