dnsx es un kit de herramientas DNS rápido y multipropósito que permite ejecutar múltiples probers usando la librería retryabledns, que te permite realizar múltiples consultas DNS de tu elección con una lista de resolvers suministrados por el usuario.
dnsx es el sucesor de dnsprobe que incluye nuevas características, múltiples correcciones de errores, y adaptado para una mejor experiencia de usuario, algunas flags notables son resp
y resp-only
que permiten controlar e imprimir la información exacta que estás buscando.
También han portado la característica de filtrado de comodines DNS a dnsx desde shuffledns como un soporte independiente.
Características
- Utilidad sencilla y práctica para consultar los registros DNS.
- Soporta A, AAAA, CNAME, PTR, NS, MX, TXT, SOA
- Maneja subdominios comodín de forma automatizada.
- Optimizado para facilitar su uso.
- Soporte de stdin y stdout para trabajar con otras herramientas.
Instrucciones de instalación
De la fuente
La instalación es sencilla. Puedes descargar los binarios preconstruidos para tu plataforma desde la página de Lanzamientos. Extrae los archivos con tar, muévelos a tu $PATH y estarás listo para empezar.
Descarga el último binario desde https://github.com/projectdiscovery/dnsx/releases
▶ tar -xvf dnsx-linux-amd64.tar
▶ mv dnsx-linux-amd64 /usr/local/bin/dnsx
▶ dnsx -h
De la fuente
dnsx requiere go1.15+ para instalarse con éxito. Ejecute el siguiente comando para obtener el repo:
GO111MODULE=on go get -v github.com/projectdiscovery/dnsx/cmd/dnsx
Desde Github
git clone https://github.com/projectdiscovery/dnsx.git; cd dnsx/cmd/dnsx; go build; mv dnsx /usr/local/bin/; dnsx -version
Instalar a través de brew
Si eres usuario de macOS y utilizas Homebrew, puedes instalarlo mediante el comando brew
:
brew install dnsx
Uso
dnsx -h
Esto mostrará la ayuda de la herramienta. Aquí están todos las opciones que soporta.
Flag | Descripción | Ejemplo |
---|---|---|
a | Consulta de registro A | dnsx -a |
aaaa | Consulta de registro AAAA | dnsx -aaaa |
cname | Consulta de registro CNAME | dnsx -cname |
ns | Consulta de registro NS | dnsx -ns |
ptr | Consulta de registro PTR | dnsx -ptr |
txt | Consulta de registro TXT | dnsx -txt |
mx | Consulta de registro MX | dnsx -mx |
soa | Consulta de registro SOA | dnsx -soa |
raw | Funciona como dig | dnsx -raw |
l | Lista de entrada de archivos de subdominios/host | dnsx -l list.txt |
json | Salida JSON | dnsx -json |
r | Archivo o resolvedores separados por comas | dnsx -r 1.1.1.1 |
rl | Límite de peticiones DNS/segundo | dnsx -rl 100 |
resp | Mostrar datos de respuesta | dnsx -cname -resp |
resp-only | Mostrar sólo los datos de respuesta | dnsx -cname resp-only |
retry | Número de reintentos de DNS | dnsx -retry 1 |
silent | Mostrar sólo los resultados en la salida | dnsx -silent |
o | Archivo en el que escribir la salida (opcional) | dnsx -o output.txt |
t | Hilos concurrentes para hacer | dnsx -t 250 |
verbose | Salida detallada | dnsx -verbose |
version | Mostrar la versión de dnsx | dnsx -version |
wd | Nombre de dominio wildcard/comodín para el filtrado | dnsx -wd example.com |
wt | Umbral del filtro wildcard | dnsx -wt 5 |
Ejecución de dnsx
dnsx puede utilizarse para filtrar los registros muertos de la lista de subdominios pasivos obtenidos de diversas fuentes, por ejemplo:
▶ subfinder -silent -d hackerone.com | dnsx
_ __ __
__| | _ __ ___ \ \/ /
/ _' || '_ \ / __| \ /
| (_| || | | |\__ \ / \
\__,_||_| |_||___//_/\_\ v1.0
projectdiscovery.io
[WRN] Use with caution. You are responsible for your actions
[WRN] Developers assume no liability and are not responsible for any misuse or damage.
a.ns.hackerone.com
www.hackerone.com
api.hackerone.com
docs.hackerone.com
mta-sts.managed.hackerone.com
mta-sts.hackerone.com
resources.hackerone.com
b.ns.hackerone.com
mta-sts.forwarding.hackerone.com
events.hackerone.com
support.hackerone.com
dnsx puede utilizarse para extraer los registros A de la lista de subdominios dada, por ejemplo:
▶ subfinder -silent -d hackerone.com | dnsx -silent -a -resp
a.ns.hackerone.com [162.159.0.31]
b.ns.hackerone.com [162.159.1.31]
mta-sts.hackerone.com [185.199.108.153]
events.hackerone.com [208.100.11.134]
mta-sts.managed.hackerone.com [185.199.108.153]
resources.hackerone.com [52.60.160.16]
resources.hackerone.com [52.60.165.183]
www.hackerone.com [104.16.100.52]
support.hackerone.com [104.16.53.111]
dnsx puede utilizarse para extraer los registros CNAME de la lista de subdominios dada, por ejemplo:
▶ subfinder -silent -d hackerone.com | dnsx -silent -cname -resp
support.hackerone.com [hackerone.zendesk.com]
resources.hackerone.com [read.uberflip.com]
mta-sts.hackerone.com [hacker0x01.github.io]
mta-sts.forwarding.hackerone.com [hacker0x01.github.io]
events.hackerone.com [whitelabel.bigmarker.com]
dnsx puede utilizarse para extraer subdominios de un rango de red determinado mediante una consulta PTR, por ejemplo:
mapcidr -cidr 173.0.84.0/24 -silent | dnsx -silent -resp-only -ptr
cors.api.paypal.com
trinityadminauth.paypal.com
cld-edge-origin-api.paypal.com
appmanagement.paypal.com
svcs.paypal.com
trinitypie-serv.paypal.com
ppn.paypal.com
pointofsale-new.paypal.com
pointofsale.paypal.com
slc-a-origin-pointofsale.paypal.com
fpdbs.paypal.com
Filtrado Wildcard
Una característica especial de dnsx es su habilidad para manejar comodines/wildcard basados en DNS de múltiples niveles y hacerlo con un número muy bajo de solicitudes de DNS. A veces todos los subdominios se resolverán, lo que conducirá a mucha basura en los resultados. La forma en que dnsx maneja esto es que mantendrá un registro de cuantos subdominios apuntan a una IP y si el conteo de los subdominios se incrementa más allá de un cierto umbral pequeño, revisará los comodines en todos los niveles de los hosts para esa IP iterativamente.
dnsx -l airbnb-subs.txt -wd airbnb.com -o output.txt
Notas
- Por defecto, dnsx comprueba el registro A.
- Por defecto dnsx usa Google, Cloudflare, Quad9 resolver.
- La entrada del nombre de dominio es obligatoria para la eliminación de comodines.
- La flag del registro DNS no puede ser usada cuando se usa el filtrado de wildcard.
dnsx (este enlace se abre en una nueva ventana) por projectdiscovery (este enlace se abre en una nueva ventana)
dnsx is a fast and multi-purpose DNS toolkit allow to run multiple DNS queries of your choice with a list of user-supplied resolvers.