
Escáner concurrente de toma de control de DNS que detecta vulnerabilidades en registros CNAME, NS, AXFR, SPF, MX, SRV y registros A obsoletos en proveedores de nube, con análisis de cadenas multinivel.
Escáner de toma de control de DNS
Subjack es un escáner de toma de control de DNS escrito en Go, diseñado para escanear una lista de dominios de forma concurrente e identificar aquellos que pueden ser secuestrados. Con la velocidad y eficiencia de Go, esta herramienta realmente destaca cuando se trata de pruebas masivas. Verifica siempre los resultados manualmente para descartar falsos positivos.
Subjack detecta:
include: de SPF que permiten suplantación de correo electrónicoRequiere Go
go install github.com/haccer/subjack@latest
También hay binarios precompilados para Linux, macOS y Windows disponibles en la página de releases — útiles para VPS pequeñas donde la compilación es lenta.
subjack -w subdomains.txt -t 100 -timeout 30 -o results.txt -ssl
| Flag | Descripción | Predeterminado |
|---|---|---|
-d | Dominio único a comprobar | |
-w | Ruta al diccionario de subdominios | |
-t | Número de hilos concurrentes | 10 |
-timeout | Segundos a esperar antes del timeout de conexión | 10 |
-o | Guardar resultados en archivo (usa la extensión .json para salida JSON) | |
-ssl | Forzar conexiones HTTPS (puede aumentar la precisión) | false |
-a | Enviar solicitudes a todas las URL, no solo a aquellas con CNAMEs identificados (recomendado) | false |
-m | Marcar registros CNAME muertos incluso si el dominio no está disponible para registro | false |
-r | Ruta a una lista de resolutores DNS (una IP o host:port por línea, recurre a 8.8.8.8 en caso de fallo) | |
-ns | Comprobar tomas de control de NS (dominios NS expirados + delegaciones DNS en la nube colgantes) | false |
-ar | Comprobar registros A obsoletos que apuntan a IPs muertas (puede requerir root para ICMP) | false |
-axfr | Comprobar transferencias de zona (AXFR) incluyendo fuerza bruta de NS | false |
-mail | Comprobar tomas de control por include de SPF y registros MX | false |
-srv | Comprobar tomas de control por registros SRV (añade ~28 consultas DNS por dominio) | false |
-v | Mostrar más información por solicitud | false |
Subjack puede leer dominios desde stdin, lo que facilita el pipe de salida de otras herramientas:
subfinder -d example.com | subjack -ssl -o results.json
cat domains.txt | subjack -t 20 -o results.txt
Con el flag -ns, subjack realiza dos tipos de comprobaciones de toma de control de servidores de nombres:
Dominios NS expirados: Comprueba si alguno de los servidores de nombres de un dominio ha expirado y está disponible para su compra. Un atacante que registre un servidor de nombres expirado puede tomar el control total de todo el DNS de ese dominio — puede apuntar cualquier registro a donde quiera, interceptar correo electrónico, emitir certificados y más.
Delegaciones NS colgantes: Detecta cuando los registros NS de un dominio apuntan a proveedores de DNS en la nube pero la zona alojada ha sido eliminada. Subjack consulta cada servidor de nombres directamente en busca de un registro SOA — si todos devuelven SERVFAIL o REFUSED, la zona ha desaparecido y es potencialmente reclamable. Proveedores soportados:
ns-*.awsdns-*)ns-cloud-*.googledomains.com)ns*-*.azure-dns.*)ns*.digitalocean.com)ns*.vultr.com)ns*.linode.com)subjack -w subdomains.txt -ns -o results.json
Con el flag -ar, subjack resolverá los registros A y comprobará si la dirección IP está realmente activa. Cuando una empresa da de baja un servidor en la nube pero olvida eliminar el registro DNS A, la IP se libera de vuelta al pool del proveedor. Un atacante puede crear nuevas instancias en ese proveedor hasta que aterrice en la misma IP, obteniendo el control del subdominio.
Subjack identifica el proveedor de nube (AWS, GCP, Azure, DigitalOcean, Linode, Vultr, Oracle) cuando es posible, lo que facilita apuntar a la plataforma correcta. La detección utiliza ping ICMP (requiere root) con un fallback TCP en los puertos 80/443.
sudo subjack -w subdomains.txt -ar -o results.json
Los resultados se marcan como STALE A RECORD y deben verificarse manualmente — una IP que no responde no siempre significa que sea reclamable.
Con el flag -axfr, subjack intentará transferencias de zona DNS (AXFR) que pueden exponer todos los registros DNS de un dominio. Subjack va más allá de simplemente probar los servidores de nombres oficiales del dominio — también hace fuerza bruta sobre nombres de host comunes de servidores de nombres (ns1, dns-0, ns-backup, etc.) porque los servidores de nombres ocultos u olvidados a menudo quedan sin asegurar incluso después de que los principales hayan sido bloqueados.
subjack -d example.com -axfr -o results.json
subjack -w domains.txt -axfr -o results.json
Los resultados se marcan como ZONE TRANSFER con el servidor de nombres vulnerable y el número de registros expuestos.
Con el flag -mail, subjack comprueba dos vectores de toma de control basados en correo electrónico:
Toma de control por include de SPF: Analiza los registros TXT de SPF y comprueba si alguno de los dominios en include: ha expirado y está disponible para registro. Un atacante que registre el dominio incluido puede enviar correos totalmente autenticados como el objetivo, eludiendo SPF y DMARC.
Toma de control por registro MX: Comprueba si alguno de los objetivos de los registros MX ha expirado y está disponible para registro. Un atacante que controle el servidor de correo puede interceptar todo el correo entrante — restablecimientos de contraseña, códigos 2FA y más.
subjack -w domains.txt -mail -o results.json