Domain/Subdomain takeover

Aprende hacking en AWS de cero a héroe con htARTE (Experto en Equipos Rojos de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Utiliza Trickest para construir y automatizar flujos de trabajo fácilmente con las herramientas comunitarias más avanzadas del mundo. ¡Accede hoy mismo:

Toma de control de dominio

Si descubres un dominio (dominio.tld) que está siendo utilizado por algún servicio dentro del alcance pero la empresa ha perdido la propiedad del mismo, puedes intentar registrarlo (si es lo suficientemente barato) y notificar a la empresa. Si este dominio está recibiendo alguna información sensible como una cookie de sesión a través de un parámetro GET o en la cabecera Referer, esto es sin duda una vulnerabilidad.

Toma de control de subdominio

Un subdominio de la empresa apunta a un servicio de terceros con un nombre no registrado. Si puedes crear una cuenta en este servicio de terceros y registras el nombre que se está utilizando, puedes llevar a cabo la toma de control del subdominio.

Existen varias herramientas con diccionarios para verificar posibles tomas de control:

Escaneo de subdominios secuestrables con BBOT:

Las comprobaciones de toma de control de subdominios están incluidas en la enumeración de subdominios predeterminada de BBOT. Las firmas se extraen directamente de https://github.com/EdOverflow/can-i-take-over-xyz.

bbot -t evilcorp.com -f subdomain-enum

Generación de Subdominio Takeover a través de DNS Wildcard

Cuando se utiliza un comodín DNS en un dominio, cualquier subdominio solicitado de ese dominio que no tenga una dirección diferente explícitamente será resuelto a la misma información. Esto podría ser una dirección IP A, un CNAME...

Por ejemplo, si *.testing.com está comodinado a 1.1.1.1. Entonces, not-existent.testing.com apuntará a 1.1.1.1.

Sin embargo, si en lugar de apuntar a una dirección IP, el administrador de sistemas lo apunta a un servicio de terceros a través de un CNAME, como un subdominio de github por ejemplo (sohomdatta1.github.io). Un atacante podría crear su propia página de terceros (en Github en este caso) y decir que something.testing.com está apuntando allí. Debido a que el comodín CNAME lo permite, el atacante podrá generar subdominios arbitrarios para el dominio de la víctima apuntando a sus páginas.

Puedes encontrar un ejemplo de esta vulnerabilidad en el write-up de CTF: https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api

Explotando un subdominio takeover

El subdominio takeover es esencialmente un spoofing DNS para un dominio específico en Internet, lo que permite a los atacantes establecer registros A para un dominio, haciendo que los navegadores muestren contenido desde el servidor del atacante. Esta transparencia en los navegadores hace que los dominios sean propensos a phishing. Los atacantes pueden emplear typosquatting o Doppelganger domains con este propósito. Especialmente vulnerables son los dominios donde la URL en un correo electrónico de phishing parece legítima, engañando a los usuarios y evadiendo los filtros de spam debido a la confianza inherente del dominio.

Consulta este post para más detalles

Certificados SSL

Los certificados SSL, si son generados por atacantes a través de servicios como Let's Encrypt, añaden legitimidad a estos dominios falsos, haciendo que los ataques de phishing sean más convincentes.

Seguridad de Cookies y Transparencia del Navegador

La transparencia del navegador también se extiende a la seguridad de las cookies, gobernada por políticas como la política de mismo origen. Las cookies, a menudo utilizadas para gestionar sesiones y almacenar tokens de inicio de sesión, pueden ser explotadas a través de un subdominio takeover. Los atacantes pueden recopilar cookies de sesión simplemente dirigiendo a los usuarios a un subdominio comprometido, poniendo en peligro los datos y la privacidad del usuario.

Correos Electrónicos y Subdominio Takeover

Otro aspecto del subdominio takeover implica servicios de correo electrónico. Los atacantes pueden manipular los registros MX para recibir o enviar correos electrónicos desde un subdominio legítimo, mejorando la eficacia de los ataques de phishing.

Riesgos de Orden Superior

Otros riesgos incluyen el takeover de registros NS. Si un atacante obtiene control sobre un registro NS de un dominio, potencialmente puede dirigir una parte del tráfico a un servidor bajo su control. Este riesgo se amplifica si el atacante establece un alto TTL (Tiempo de Vida) para los registros DNS, prolongando la duración del ataque.

Vulnerabilidad de Registro CNAME

Los atacantes pueden explotar registros CNAME no reclamados que apuntan a servicios externos que ya no se utilizan o han sido desactivados. Esto les permite crear una página bajo el dominio de confianza, facilitando aún más el phishing o la distribución de malware.

Estrategias de Mitigación

Las estrategias de mitigación incluyen:

  1. Eliminar registros DNS vulnerables - Esto es efectivo si el subdominio ya no es necesario.

  2. Reclamar el nombre de dominio - Registrar el recurso con el proveedor de la nube respectivo o recomprar un dominio caducado.

  3. Monitoreo regular de vulnerabilidades - Herramientas como aquatone pueden ayudar a identificar dominios susceptibles. Las organizaciones también deben revisar sus procesos de gestión de infraestructura, asegurando que la creación de registros DNS sea el último paso en la creación de recursos y el primer paso en la destrucción de recursos.

Para los proveedores de nube, verificar la propiedad del dominio es crucial para prevenir subdominio takeovers. Algunos, como GitLab, han reconocido este problema e implementado mecanismos de verificación de dominio.

Referencias

Utiliza Trickest para construir y automatizar flujos de trabajo fácilmente con las herramientas comunitarias más avanzadas del mundo. Accede hoy mismo:

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización