August 27, 2025

Subdomain TakeOver

🔎 ¿Qué es?

La vulnerabilidad Subdomain TakeOver ocurre cuando un subdominio apunta a un servicio externo (ej. AWS S3, GitHub Pages, Azure, Heroku, etc.) que ya no está en uso, pero la referencia DNS sigue activa.
👉 Un atacante puede reclamar ese recurso y controlar el subdominio.


⚙️ Flujo de la vulnerabilidad

[DNS del dominio] --> [CNAME a servicio externo]
        |
        | (el recurso externo ya no existe)

   ❌ Vacío / No Configurado

   🔓 Atacante lo reclama

   ✅ Controla el subdominio

📍 Ejemplo real

  1. blog.empresa.com → CNAME → empresa.github.io

  2. La empresa borra el repositorio de GitHub Pages.

  3. El DNS sigue apuntando al servicio.

  4. Un atacante crea un repositorio con ese nombre.

  5. Ahora controla blog.empresa.com.


🚨 Riesgos

  • Phishing (páginas falsas en subdominios legítimos).

  • Defacement (alteración de imagen de marca).

  • Exfiltración de datos (cookies, formularios).

  • Escalamiento interno (si se usa en entornos corporativos).


🛠️ Cómo detectarlo

  1. Revisar DNS con herramientas:

    • dig, nslookup

    • subfinder, assetfinder, amass

  2. Escaneo masivo de subdominios

    • Buscar respuestas como:

      NXDOMAIN
      NoSuchBucket
      There isn't a GitHub Pages site here.
  3. Herramientas especializadas:

    • subjack

    • nuclei (templates de takeover)


🛡️ Medidas de prevención

✅ Eliminar registros DNS huérfanos.
✅ Usar monitorización continua de subdominios.
✅ Implementar políticas de asset inventory.
✅ Configurar alertas de seguridad en proveedores externos.
✅ Aplicar DNS as Code (gestión centralizada de registros).


🎨 Resumen visual

Subdomain TakeOver
 ├── Causa: DNS → recurso inexistente
 ├── Impacto: phishing, defacement, robo de datos
 ├── Detección: escaneo DNS + herramientas takeover
 └── Prevención: limpieza DNS + monitoreo continuo