Saltearse al contenido

Subdomain takeover

Cuando un subdominio apunta (por CNAME u otro registro DNS) a un servicio externo que ya no existe o no está reclamado, el atacante puede registrar ese recurso y servir su propio contenido desde el subdominio de la víctima. Como es un dominio legítimo, hereda su confianza: phishing creíble, robo de cookies de dominio, bypass de listas blancas por subdominio (OAuth/CORS/CSP) y daño reputacional.

  • Phishing muy creíble en el dominio real.
  • Robo de cookies de dominio si el Domain es amplio (.empresa.tld).
  • Bypass de confianza: subdominios en listas blancas de OAuth redirect_uri, CORS, CSP o cookies.
  • Abuso de reputación (envío de correo, distribución de malware desde el dominio).

Un registro DNS colgante (dangling): el subdominio tiene un CNAME (o A/NS) a un recurso de un proveedor que fue eliminado pero el registro DNS sigue. El proveedor permite reclamar ese nombre de recurso (bucket, app, página) → sirves tu contenido. Tipos de registro vulnerables: CNAME colgante (el más común), A/AAAA a una IP que puedes reclamar (cloud), y NS colgante (takeover de toda la zona).

  1. Enumera subdominios (ver área 01) y resuelve sus registros (dnsx, subfinder).
  2. Busca los que apunten a servicios de terceros y den una página de “no reclamado” (el error típico del proveedor).
  3. Reclama el recurso en ese proveedor (crear el bucket/app/página con ese nombre).
  4. Publica una PoC inofensiva (una página con tu marca) para demostrar el control.
AWS S3 "NoSuchBucket"
GitHub Pages "There isn't a GitHub Pages site here"
Heroku "No such app" / herokucdn
Azure "404 Web Site not found" (*.azurewebsites.net, *.cloudapp.net)
Fastly "Fastly error: unknown domain"
Shopify "Sorry, this shop is currently unavailable"
Zendesk "Help Center Closed"
Readthedocs, Surge, Netlify, Cargo, Tumblr, Unbounce... (ver can-i-take-over-xyz)

subjack, nuclei (plantillas de takeover), dnsx/httpx/subfinder, y la lista de referencia can-i-take-over-xyz (qué servicios son reclamables y cómo).

Phishing, robo de cookies, y bypass de controles que confían en el subdominio: por ejemplo, si login.empresa.tld está en la lista de redirect_uri de OAuth, un takeover de otro subdominio de confianza puede encadenar a ATO.

  • Inventario DNS continuo: registros CNAME/A/NS hacia servicios de terceros; alertar sobre los que devuelven “no claimed”.
  • Monitorización de respuestas de subdominios (fingerprints de “recurso no existe”).
  1. Proceso de baja (decommission): al eliminar un servicio, eliminar primero el registro DNS que lo apunta.
  2. Monitorización automatizada de DNS y de subdominios (nuclei/takeover en CI).
  3. Verificación de propiedad y, donde se pueda, claim preventivo de los recursos.

Eliminar/corregir el registro DNS, reclamar el recurso para quitárselo al atacante, y revisar el abuso (phishing, cookies robadas).

  • No es un CVE de producto, sino de configuración DNS; es uno de los hallazgos más frecuentes y de mayor impacto en bug bounty, con casos públicos en grandes marcas (subdominios de documentación, marketing o entornos antiguos olvidados).
  • Subdominios enumerados y registros (CNAME/A/NS) resueltos.
  • Identificados registros colgantes hacia servicios reclamables (por fingerprint).
  • Takeover demostrado con PoC inofensiva en el subdominio.
  • Evaluado el encadenamiento (cookies de dominio, OAuth/CORS whitelists).