# Toma de Control de Cuenta
{% hint style="success" %}
Aprende y practica Hacking en AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Aprende y practica Hacking en GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Apoya a HackTricks
* Revisa los [**planes de suscripci贸n**](https://github.com/sponsors/carlospolop)!
* **脷nete al** 馃挰 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **s铆guenos** en **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos de github.
{% endhint %}
## **Problema de Autorizaci贸n**
Se debe intentar cambiar el correo electr贸nico de una cuenta, y el proceso de confirmaci贸n **debe ser examinado**. Si se encuentra **d茅bil**, el correo electr贸nico debe ser cambiado al del v铆ctima previsto y luego confirmado.
## **Problema de Normalizaci贸n de Unicode**
1. La cuenta del v铆ctima previsto `victim@gmail.com`
2. Se debe crear una cuenta usando Unicode\
por ejemplo: `vi膰tim@gmail.com`
Como se explic贸 en [**esta charla**](https://www.youtube.com/watch?v=CiIyaZ3x49c), el ataque anterior tambi茅n podr铆a realizarse abusando de proveedores de identidad de terceros:
* Crear una cuenta en el proveedor de identidad de terceros con un correo electr贸nico similar al del v铆ctima usando alg煤n car谩cter unicode (`vi膰tim@company.com`).
* El proveedor de terceros no deber铆a verificar el correo electr贸nico.
* Si el proveedor de identidad verifica el correo electr贸nico, tal vez puedas atacar la parte del dominio como: `victim@膰ompany.com` y registrar ese dominio y esperar que el proveedor de identidad genere la versi贸n ascii del dominio mientras la plataforma del v铆ctima normaliza el nombre de dominio.
* Iniciar sesi贸n a trav茅s de este proveedor de identidad en la plataforma del v铆ctima que deber铆a normalizar el car谩cter unicode y permitirte acceder a la cuenta del v铆ctima.
Para m谩s detalles, consulta el documento sobre Normalizaci贸n de Unicode:
{% content-ref url="unicode-injection/unicode-normalization.md" %}
[unicode-normalization.md](unicode-injection/unicode-normalization.md)
{% endcontent-ref %}
## **Reutilizaci贸n de Token de Restablecimiento**
Si el sistema objetivo permite que el **enlace de restablecimiento sea reutilizado**, se deben hacer esfuerzos para **encontrar m谩s enlaces de restablecimiento** utilizando herramientas como `gau`, `wayback` o `scan.io`.
## **Pre Toma de Control de Cuenta**
1. El correo electr贸nico del v铆ctima debe ser utilizado para registrarse en la plataforma, y se debe establecer una contrase帽a (se debe intentar confirmarla, aunque carecer de acceso a los correos del v铆ctima podr铆a hacer esto imposible).
2. Se debe esperar hasta que el v铆ctima se registre usando OAuth y confirme la cuenta.
3. Se espera que el registro regular sea confirmado, permitiendo el acceso a la cuenta del v铆ctima.
## **Configuraci贸n Incorrecta de CORS para Toma de Control de Cuenta**
Si la p谩gina contiene **configuraciones incorrectas de CORS**, podr铆as ser capaz de **robar informaci贸n sensible** del usuario para **tomar el control de su cuenta** o hacer que cambie la informaci贸n de autenticaci贸n con el mismo prop贸sito:
{% content-ref url="cors-bypass.md" %}
[cors-bypass.md](cors-bypass.md)
{% endcontent-ref %}
## **CSRF para Toma de Control de Cuenta**
Si la p谩gina es vulnerable a CSRF, podr铆as ser capaz de hacer que el **usuario modifique su contrase帽a**, correo electr贸nico o autenticaci贸n para que luego puedas acceder a ello:
{% content-ref url="csrf-cross-site-request-forgery.md" %}
[csrf-cross-site-request-forgery.md](csrf-cross-site-request-forgery.md)
{% endcontent-ref %}
## **XSS para Toma de Control de Cuenta**
Si encuentras un XSS en la aplicaci贸n, podr铆as ser capaz de robar cookies, almacenamiento local o informaci贸n de la p谩gina web que podr铆a permitirte tomar el control de la cuenta:
{% content-ref url="xss-cross-site-scripting/" %}
[xss-cross-site-scripting](xss-cross-site-scripting/)
{% endcontent-ref %}
## **Misma Origen + Cookies**
Si encuentras un XSS limitado o una toma de control de subdominio, podr铆as jugar con las cookies (fij谩ndolas, por ejemplo) para intentar comprometer la cuenta del v铆ctima:
{% content-ref url="hacking-with-cookies/" %}
[hacking-with-cookies](hacking-with-cookies/)
{% endcontent-ref %}
## **Atacando el Mecanismo de Restablecimiento de Contrase帽a**
{% content-ref url="reset-password.md" %}
[reset-password.md](reset-password.md)
{% endcontent-ref %}
## **Manipulaci贸n de Respuesta**
Si la respuesta de autenticaci贸n podr铆a ser **reducida a un simple booleano, solo intenta cambiar falso a verdadero** y ver si obtienes acceso.
## OAuth para Toma de Control de Cuenta
{% content-ref url="oauth-to-account-takeover.md" %}
[oauth-to-account-takeover.md](oauth-to-account-takeover.md)
{% endcontent-ref %}
## Inyecci贸n de Encabezado Host
1. El encabezado Host se modifica tras la iniciaci贸n de una solicitud de restablecimiento de contrase帽a.
2. El encabezado proxy `X-Forwarded-For` se altera a `attacker.com`.
3. Los encabezados Host, Referer y Origin se cambian simult谩neamente a `attacker.com`.
4. Despu茅s de iniciar un restablecimiento de contrase帽a y optar por reenviar el correo, se emplean los tres m茅todos mencionados anteriormente.
## Manipulaci贸n de Respuesta
1. **Manipulaci贸n de C贸digo**: El c贸digo de estado se altera a `200 OK`.
2. **Manipulaci贸n de C贸digo y Cuerpo**:
* El c贸digo de estado se cambia a `200 OK`.
* El cuerpo de la respuesta se modifica a `{"success":true}` o un objeto vac铆o `{}`.
Estas t茅cnicas de manipulaci贸n son efectivas en escenarios donde se utiliza JSON para la transmisi贸n y recepci贸n de datos.
## Cambiar correo electr贸nico de la sesi贸n actual
De [este informe](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea):
* El atacante solicita cambiar su correo electr贸nico por uno nuevo.
* El atacante recibe un enlace para confirmar el cambio del correo electr贸nico.
* El atacante env铆a al v铆ctima el enlace para que lo haga clic.
* El correo electr贸nico del v铆ctima se cambia al indicado por el atacante.
* El atacante puede recuperar la contrase帽a y tomar el control de la cuenta.
Esto tambi茅n ocurri贸 en [**este informe**](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea).
### Cookies Antiguas
Como se explic贸 [**en esta publicaci贸n**](https://medium.com/@niraj1mahajan/uncovering-the-hidden-vulnerability-how-i-found-an-authentication-bypass-on-shopifys-exchange-cc2729ea31a9), fue posible iniciar sesi贸n en una cuenta, guardar las cookies como un usuario autenticado, cerrar sesi贸n y luego iniciar sesi贸n nuevamente.\
Con el nuevo inicio de sesi贸n, aunque se podr铆an generar cookies diferentes, las antiguas comenzaron a funcionar nuevamente.
## Referencias
* [https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050](https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050)
* [https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea)
{% hint style="success" %}
Aprende y practica Hacking en AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Aprende y practica Hacking en GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Apoya a HackTricks
* Revisa los [**planes de suscripci贸n**](https://github.com/sponsors/carlospolop)!
* **脷nete al** 馃挰 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **s铆guenos** en **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos de github.
{% endhint %}