Curiosidades De Hackers
OWASP TOP 10

Robo de Subdominios(Subdomain Takeover); Explicación y PoC


La toma de control de subdominios, o «subdomain takeover» en inglés, es una vulnerabilidad crítica que permite a los atacantes hacerse con el control de un subdominio aprovechando configuraciones incorrectas en los registros DNS. Este tipo de ataque puede llevar a consecuencias graves como phishing, filtración de datos y redireccionamiento malicioso, lo que lo convierte en una herramienta valiosa tanto para los probadores de penetración como para los cazadores de recompensas por errores. A continuación, se explica paso a paso cómo identificar y explotar una toma de control de subdominios utilizando técnicas prácticas, diversas herramientas y ejemplos del mundo real.

¿Qué es un subdomain takeover?

Los subdomain takeover ocurren cuando un subdominio apunta a un servicio externo (como GitHub Pages, AWS S3, Heroku, etc.), pero este servicio no está correctamente configurado. El registro DNS sigue en su lugar, pero el recurso al que apunta ya no está activo o no es propiedad de la organización, dejando el subdominio vulnerable a ser explotado.

El nombre de dominio (por ejemplo, subdomaintakeover.curiosidadesdehackers.com) utiliza un registro CNAME para apuntar a otro dominio como puede ser subdomaintakeover.github.io (un servicio externo)

Más adelante, si subdomaintakeover.github.io expira y está disponible para su registro, cualquiera puede registrarlo. Dado que el registro CNAME no se elimina de la zona DNS de curiosidadesdehackers.com, quien registre subdomaintakeover.github.io obtiene el control total sobre subdomaintakeover.curiosidadesdehackers.com mientras el registro DNS permanezca intacto.

¿Por qué es Peligroso?

  1. Ataques de Phishing: Los atacantes pueden suplantar el dominio para engañar a los usuarios y obtener información sensible.
  2. Defacement: Los atacantes pueden alojar contenido malicioso en el subdominio, afectando la reputación de la organización.
  3. Hijacking Subdomain Trust*: Dado que el subdominio forma parte de un dominio de confianza, puede eludir filtros de seguridad o añadir credibilidad a los ataques.

Escenario común para un subdomain takeover:

CREACIÓN:

  • Aprovisionas un recurso de Azure con un nombre de dominio completo (FQDN) de app-curiosidadesdehackers-dev-001.azurewebsites.net.
  • Asignas un registro CNAME en tu zona DNS con el subdominio subdomaintakeover.curiosidadesdehackers.com que enruta el tráfico a tu recurso de Azure.

DESPROVISIONAMIENTO:

  • El recurso de Azure se desprovisiona o elimina cuando ya no se necesita.
  • En este punto, el registro CNAME subdomaintakeover.curiosidadesdehackers.com debería eliminarse de tu zona DNS. Si el registro CNAME no se elimina, se anuncia como un dominio activo pero no enruta el tráfico a un recurso de Azure activo. Ahora tienes un registro DNS «colgante».
  • El subdominio colgante, subdomaintakeover.curiosidadesdehackers.com, ahora es vulnerable y puede ser tomado asignándolo a otro recurso de suscripción de Azure.

TOMA DE CONTROL:

  • Utilizando métodos y herramientas comúnmente disponibles, un actor de amenazas descubre el subdominio colgante.
  • El actor de amenazas aprovisiona un recurso de Azure con el mismo FQDN del recurso que controlabas anteriormente. En este ejemplo, app-curiosidadesdehackers-dev-001.azurewebsites.net.
  • El tráfico enviado al subdominio subdomaintakeover.curiosidadesdehackers.com ahora se enruta al recurso del actor de amenazas donde controlan el contenido.

¿Cómo Funciona?

  1. Identificación de Subdominios Vulnerables:
  • Los atacantes buscan subdominios que estén configurados con registros DNS que apuntan a servicios externos. Estos subdominios pueden haber sido configurados para servicios que ya no están en uso o que han sido eliminados, pero los registros DNS siguen existiendo.
  • En este caso vemos con subdomaintakeover.curiosidadesdehackers.com apunta al servicio externo github.io.

Podemos utilizar herramientas como subzy para confirmar si el subdominio el vulnerable a un subdomain takeover.

  1. Verificación de la Disponibilidad del Servicio:
  • El atacante verifica si el servicio al que apunta el subdominio está realmente en uso. Si el servicio ha sido eliminado o nunca fue configurado correctamente, el subdominio queda «colgando» (dangling DNS record).
  • Con dig comprobamos que efectivamente existe un registro CNAME de subdomaintakeover.curiosidadesdehackers.com que apunta a subdomaintakeover.github.io, es decir un servicio externo y que a quedado colgado.
  1. Registro del Subdominio:
  • El atacante se registra en el servicio externo (por ejemplo, crea una cuenta en GitHub Pages) y configura un nuevo proyecto o página utilizando el subdominio vulnerable. Dado que el registro DNS del subdominio aún apunta al servicio externo, el atacante puede reclamar el subdominio como propio.
  • Crearemos un nuevo proyecto en GitHub con el nombre del subdominio para tener mejor organización.

Para publicarlo añadiremos el subdominio como dominio personalizado y lo publicaremos desde GitHub Pages.

Podemos editarlo como queramos a nuestro gusto.

  1. Control del Subdominio:
  • Una vez que el atacante ha reclamado el subdominio, tiene control total sobre él. Esto le permite alojar contenido malicioso, realizar ataques de phishing, distribuir malware, o incluso redirigir el tráfico a otros sitios maliciosos.
  • Y vemos que nos hemos quedado con el subdominio realizando un subdomain takeover.

Impacto y Riesgos

El control del subdominio puede permitir al atacante leer cookies del dominio principal, realizar ataques de cross-site scripting (XSS), o eludir políticas de seguridad de contenido. Esto puede comprometer la seguridad de los usuarios y dañar la reputación de la organización afectada.

Prevención

Para prevenir la toma de control de subdominios, las organizaciones deben asegurarse de eliminar los registros DNS de los subdominios que ya no están en uso. También es importante monitorear regularmente los registros DNS y verificar la propiedad de los dominios antes de crear nuevos registros.

Este proceso muestra cómo una configuración incorrecta o la falta de mantenimiento de los registros DNS puede llevar a una vulnerabilidad significativa que puede ser explotada por atacantes.

Video PoC


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *