Saltearse al contenido

Ataques a DNS

DNS es la guía telefónica de Internet, y como todo el tráfico empieza resolviendo un nombre, manipularlo tiene un impacto enorme: puedes redirigir a víctimas a servidores falsos, interceptar tráfico, exfiltrar datos por un canal encubierto, o enumerar toda la infraestructura de una organización. Esta ficha cubre los ataques sobre el DNS, desde el recon hasta la manipulación activa (los fundamentos del protocolo están en Fundamentos de DNS).

  • Transferencia de zona (AXFR): si está mal configurada, te da toda la zona.
  • DNS spoofing/cache poisoning: responder con IPs falsas para redirigir víctimas.
  • DNS exfiltration/tunneling: sacar datos codificados en consultas DNS (canal encubierto).
  • Subdomain takeover: reclamar un subdominio con CNAME colgante (ver Subdomain takeover).
  • DNS rebinding: saltar la Same-Origin Policy hacia servicios internos.
  • DNS dinámico inseguro: actualizar registros sin autenticación.
# encontrar los NS y pedir la zona completa
dig NS target.com
dig axfr @ns1.target.com target.com
# si funciona: todos los registros (subdominios, IPs internas, mail, etc.)

Una AXFR abierta es un hallazgo clásico: entrega el mapa completo del dominio.

Responder a consultas DNS más rápido que el servidor legítimo (en MITM) o envenenar la caché de un resolver:

# en un MITM (ver net-mitm): responder la consulta de la víctima con tu IP
bettercap -> set dns.spoof.domains banco.com ; dns.spoof on
# la víctima resuelve banco.com -> tu servidor (phishing/captura)

Clásicamente también por fallos en la aleatoriedad del resolver (Kaminsky, 2008) — hoy mitigado con source port randomization y DNSSEC.

DNS suele estar permitido saliente incluso en redes restringidas, así que sirve como canal encubierto:

# codificar datos en subdominios -> el servidor autoritativo del atacante los recibe
datos.codificados.en.base32.atacante.com
# herramientas
iodine / dnscat2 / dns2tcp -> túnel completo (C2, exfiltración) sobre DNS

Útil para exfiltrar datos o mantener C2 cuando otros puertos están bloqueados.

Un dominio del atacante resuelve primero a su IP (para cargar el JS) y luego a una IP interna de la víctima, saltándose la Same-Origin Policy para atacar servicios internos (routers, APIs locales) desde el navegador de la víctima.

  • Restringir transferencias de zona a los secundarios autorizados (ACL en el DNS).
  • DNSSEC (firma de registros) contra spoofing/poisoning; source port randomization.
  • Monitorizar consultas DNS anómalas: volumen alto a un dominio, subdominios largos/aleatorios (tunneling), TXT inusuales.
  • Filtrar/inspeccionar DNS saliente (DNS firewall, bloqueo de resolvers externos, Protective DNS).
  • Contra rebinding: validar Host/Origin en servicios internos, bloquear respuestas DNS a IPs privadas desde resolvers externos.
  • Limpiar registros obsoletos (evita subdomain takeover — ver Subdomain takeover).
  • Transferencia de zona (AXFR) en los NS del dominio
  • DNS spoofing en un MITM (redirigir a host controlado)
  • Posibilidad de DNS tunneling (¿DNS saliente permitido?)
  • Subdomain takeover (CNAMEs colgantes — Subdomain takeover)
  • DNS rebinding hacia servicios internos
  • ¿DNSSEC presente? ¿aleatoriedad del resolver?
  • Registros obsoletos que faciliten takeover
  • Blue: monitorización de consultas anómalas