
Escáner rápido de toma de control de DNS que verifica zonas alojadas faltantes mediante la consulta de servidores de nombres y la identificación de proveedores para detectar subdominios vulnerables.
Una herramienta rápida para comprobar zonas DNS alojadas faltantes que pueden llevar a una toma de control de subdominio.
Las vulnerabilidades de toma de control de DNS ocurren cuando un subdominio (subdominio.ejemplo.com) o dominio tiene su servidor de nombres autoritativo configurado en un proveedor (p. ej. AWS Route 53, Akamai, Microsoft Azure, etc.), pero la zona alojada ha sido eliminada o borrada. En consecuencia, al realizar una solicitud de registros DNS el servidor responde con un error SERVFAIL. Esto permite a un atacante crear la zona alojada faltante en el servicio que se estaba utilizando y así controlar todos los registros DNS de ese (sub)dominio.¹
¡La forma fácil! Puedes descargar un binario precompilado desde la página de lanzamientos, solo descomprime y ejecuta.
| NOTA: El compilador Go 1.16+ debe estar instalado y configurado. |
¡Muy rápido y limpio!
▶ go install github.com/pwnesia/dnstake/cmd/dnstake@latest
Construcción manual del ejecutable desde el código fuente:
▶ git clone https://github.com/pwnesia/dnstake
▶ cd dnstake/cmd/dnstake
▶ go build .
▶ (sudo) mv dnstake /usr/local/bin
$ dnstake -h
·▄▄▄▄ ▐ ▄ .▄▄ ·▄▄▄▄▄ ▄▄▄· ▄ •▄ ▄▄▄ .
██▪ ██ •█▌▐█▐█ ▀.•██ ▐█ ▀█ █▌▄▌▪▀▄.▀·
▐█· ▐█▌▐█▐▐▌▄▀▀▀█▄▐█.▪▄█▀▀█ ▐▀▀▄·▐▀▀▪▄
██. ██ ██▐█▌▐█▄▪▐█▐█▌·▐█ ▪▐▌▐█.█▌▐█▄▄▌
▀▀▀▀▀• ▀▀ █▪ ▀▀▀▀ ▀▀▀ ▀ ▀ ·▀ ▀ ▀▀▀
(c) pwnesia.org — v0.0.1
Uso:
[stdin] | dnstake [opciones]
dnstake -t HOSTNAME [opciones]
Opciones:
-t, --target <HOST/ARCHIVO> Definir un único host/lista objetivo a comprobar
-c, --concurrent <i> Establecer el nivel de concurrencia (por defecto: 25)
-s, --silent Suprimir errores y/o salida limpia
-o, --output <ARCHIVO> Guardar hosts vulnerables en ARCHIVO
-h, --help Mostrar esta ayuda
Ejemplos:
dnstake -t (sub.)dominio.tld
dnstake -t hosts.txt
dnstake -t hosts.txt -o ./dnstake.out
cat hosts.txt | dnstake
subfinder -silent -d dominio.tld | dnstake
DNSTake utiliza la biblioteca cliente RetryableDNS para enviar consultas DNS. El contacto inicial usa Google y Cloudflare como resolución, luego comprueba y obtiene las huellas dactilares de los servidores de nombres del host objetivo — si hay alguno, resuelve nuevamente el host objetivo con sus IPs de servidor de nombres como resolución; si se obtiene una respuesta de estado DNS extraña (distinta de NOERROR/NXDOMAIN), entonces es vulnerable a ser tomado. Más o menos así en forma de diagrama.
Proveedores DNS actualmente soportados, ver aquí.
DNSTake se distribuye bajo MIT. Ver LICENSE.