hacktricks/pentesting-web/domain-subdomain-takeover.md

116 lines
10 KiB
Markdown

# Toma de control de dominio/subdominio
<details>
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén [**artículos oficiales de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
¡Accede hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Toma de control de dominio
Si descubres que algún dominio (dominio.tld) 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:
* [https://github.com/EdOverflow/can-i-take-over-xyz](https://github.com/EdOverflow/can-i-take-over-xyz)
* [https://github.com/blacklanternsecurity/bbot](https://github.com/blacklanternsecurity/bbot)
* [https://github.com/punk-security/dnsReaper](https://github.com/punk-security/dnsReaper)
* [https://github.com/haccer/subjack](https://github.com/haccer/subjack)
* [https://github.com/anshumanbh/tko-sub](https://github.com/anshumanbh/tko-subs)
* [https://github.com/ArifulProtik/sub-domain-takeover](https://github.com/ArifulProtik/sub-domain-takeover)
* [https://github.com/SaadAhmedx/Subdomain-Takeover](https://github.com/SaadAhmedx/Subdomain-Takeover)
* [https://github.com/Ice3man543/SubOver](https://github.com/Ice3man543/SubOver)
* [https://github.com/m4ll0k/takeover](https://github.com/m4ll0k/takeover)
* [https://github.com/antichown/subdomain-takeover](https://github.com/antichown/subdomain-takeover)
* [https://github.com/musana/mx-takeover](https://github.com/musana/mx-takeover)
* [https://github.com/PentestPad/subzy](https://github.com/PentestPad/subzy)
#### Escaneo de subdominios secuestrables con [BBOT](https://github.com/blacklanternsecurity/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](https://github.com/EdOverflow/can-i-take-over-xyz).
```bash
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 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` apunta 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](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_](https://en.wikipedia.org/wiki/Typosquatting) o [_Doppelganger domains_](https://en.wikipedia.org/wiki/Doppelg%C3%A4nger) 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](https://0xpatrik.com/subdomain-takeover/)
### **Certificados SSL**
Los certificados SSL, si son generados por atacantes a través de servicios como [_Let's Encrypt_](https://letsencrypt.org/), 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](https://en.wikipedia.org/wiki/Same-origin_policy). 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](https://github.com/michenriksen/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](https://about.gitlab.com/2018/02/05/gitlab-pages-custom-domain-validation/), han reconocido este problema e implementado mecanismos de verificación de dominio.
## Referencias
* [https://0xpatrik.com/subdomain-takeover/](https://0xpatrik.com/subdomain-takeover/)
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
Accede hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
<details>
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>