Account 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)
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.
La cuenta del víctima previsto victim@gmail.com
Se debe crear una cuenta usando Unicode
por ejemplo: vićtim@gmail.com
Como se explicó en esta charla, 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:
Unicode NormalizationSi 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
.
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).
Se debe esperar hasta que el víctima se registre usando OAuth y confirme la cuenta.
Se espera que el registro regular sea confirmado, permitiendo el acceso a la cuenta del víctima.
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:
CORS - Misconfigurations & BypassSi 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:
CSRF (Cross Site Request Forgery)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:
XSS (Cross Site Scripting)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:
Cookies HackingSi la respuesta de autenticación podría ser reducida a un simple booleano, solo intenta cambiar falso a verdadero y ver si obtienes acceso.
El encabezado Host se modifica tras la iniciación de una solicitud de restablecimiento de contraseña.
El encabezado proxy X-Forwarded-For
se altera a attacker.com
.
Los encabezados Host, Referer y Origin se cambian simultáneamente a attacker.com
.
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 Código: El código de estado se altera a 200 OK
.
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.
De este informe:
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.
Como se explicó en esta publicación, 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.
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)