Domain/Subdomain takeover
Last updated
Last updated
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
Usa Trickest para construir y automatizar flujos de trabajo fácilmente, impulsados por las herramientas comunitarias más avanzadas del mundo. Obtén acceso hoy:
Si descubres algún dominio (domain.tld) que está siendo utilizado por algún servicio dentro del alcance pero la empresa ha perdido la propiedad de este, puedes intentar registrarlo (si es lo suficientemente barato) y avisar 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 el encabezado Referer, esto es sin duda una vulnerabilidad.
Un subdominio de la empresa está apuntando a un servicio de terceros con un nombre no registrado. Si puedes crear una cuenta en este servicio de terceros y registrar el nombre que está en uso, puedes realizar la toma de control del subdominio.
Hay varias herramientas con diccionarios para verificar posibles tomas de control:
Cuando se utiliza un wildcard de 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á wildcard 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 del sistema lo apunta a un servicio de terceros a través de 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í. Porque, el CNAME wildcard permitirá que el atacante genere subdominios arbitrarios para el dominio de la víctima apuntando a sus páginas.
Puedes encontrar un ejemplo de esta vulnerabilidad en el informe de CTF: https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api
La toma de control de subdominio es esencialmente un spoofing de DNS para un dominio específico a través de internet, permitiendo a los atacantes establecer registros A para un dominio, llevando a los navegadores a mostrar contenido desde el servidor del atacante. Esta transparencia en los navegadores hace que los dominios sean propensos al phishing. Los atacantes pueden emplear typosquatting o dominios Doppelganger para 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 filtros de spam debido a la confianza inherente del dominio.
Consulta este post para más detalles
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.
La transparencia del navegador también se extiende a la seguridad de las cookies, regida 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 la toma de control de subdominio. 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.
Otro aspecto de la toma de control de subdominio involucra servicios de correo electrónico. Los atacantes pueden manipular registros MX para recibir o enviar correos electrónicos desde un subdominio legítimo, mejorando la eficacia de los ataques de phishing.
Más riesgos incluyen la toma de control de registros NS. Si un atacante obtiene control sobre un registro NS de un dominio, puede potencialmente dirigir una porción 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.
Los atacantes podrían explotar registros CNAME no reclamados que apuntan a servicios externos que ya no se utilizan o han sido descontinuados. 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.
Las estrategias de mitigación incluyen:
Eliminar registros DNS vulnerables - Esto es efectivo si el subdominio ya no es necesario.
Reclamar el nombre de dominio - Registrando el recurso con el proveedor de nube respectivo o recomprando un dominio expirado.
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 tomas de control de subdominio. Algunos, como GitLab, han reconocido este problema e implementado mecanismos de verificación de dominio.
Usa Trickest para construir y automatizar flujos de trabajo fácilmente, impulsados por las herramientas comunitarias más avanzadas del mundo. Obtén acceso hoy:
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)