# 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 %}