# Assumir o Controle da Conta
Aprenda a hackear a AWS do zero ao herói com htARTE (Especialista em Equipe Vermelha AWS do HackTricks)! Outras maneiras de apoiar o HackTricks: * Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
## **Problema de Autorização** O e-mail de uma conta deve ser tentado a ser alterado, e o processo de confirmação **deve ser examinado**. Se for considerado **fraco**, o e-mail deve ser alterado para o da vítima pretendida e então confirmado. ## **Problema de Normalização Unicode** 1. A conta da vítima pretendida `victim@gmail.com` 2. Uma conta deve ser criada usando Unicode\ por exemplo: `vićtim@gmail.com` Conforme explicado [**neste vídeo**](https://www.youtube.com/watch?v=CiIyaZ3x49c), o ataque anterior também poderia ser feito abusando de provedores de identidade de terceiros: * Criar uma conta no provedor de identidade de terceiros com um e-mail semelhante ao da vítima usando algum caractere unicode (`vićtim@company.com`). * O provedor de terceiros não deve verificar o e-mail * Se o provedor de identidade verificar o e-mail, talvez você possa atacar a parte do domínio como: `victim@ćompany.com` e registrar esse domínio e esperar que o provedor de identidade gere a versão ascii do domínio enquanto a plataforma da vítima normaliza o nome de domínio. * Faça login via esse provedor de identidade na plataforma da vítima que deve normalizar o caractere unicode e permitir que você acesse a conta da vítima. Para mais detalhes, consulte o documento sobre Normalização Unicode: {% content-ref url="unicode-injection/unicode-normalization.md" %} [unicode-normalization.md](unicode-injection/unicode-normalization.md) {% endcontent-ref %} ## **Reutilização de Token de Redefinição** Caso o sistema alvo permita que o **link de redefinição seja reutilizado**, esforços devem ser feitos para **encontrar mais links de redefinição** usando ferramentas como `gau`, `wayback`, ou `scan.io`. ## **Pré Assumir o Controle da Conta** 1. O e-mail da vítima deve ser usado para se inscrever na plataforma, e uma senha deve ser definida (uma tentativa de confirmá-la deve ser feita, embora a falta de acesso aos e-mails da vítima possa tornar isso impossível). 2. Deve-se aguardar até que a vítima se inscreva usando OAuth e confirme a conta. 3. Espera-se que a inscrição regular seja confirmada, permitindo o acesso à conta da vítima. ## **Configuração Incorreta de CORS para Assumir o Controle da Conta** Se a página contiver **configurações CORS incorretas**, você pode ser capaz de **roubar informações sensíveis** do usuário para **assumir sua conta** ou fazer com que ele altere informações de autenticação para o mesmo propósito: {% content-ref url="cors-bypass.md" %} [cors-bypass.md](cors-bypass.md) {% endcontent-ref %} ## **CSRF para Assumir o Controle da Conta** Se a página for vulnerável a CSRF, você pode ser capaz de fazer com que o **usuário modifique sua senha**, e-mail ou autenticação para então acessá-la: {% 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 Assumir o Controle da Conta** Se você encontrar um XSS na aplicação, pode ser capaz de roubar cookies, armazenamento local ou informações da página da web que poderiam permitir que você assumisse a conta: {% content-ref url="xss-cross-site-scripting/" %} [xss-cross-site-scripting](xss-cross-site-scripting/) {% endcontent-ref %} ## **Mesma Origem + Cookies** Se você encontrar um XSS limitado ou assumir um subdomínio, você pode brincar com os cookies (fixando-os, por exemplo) para tentar comprometer a conta da vítima: {% content-ref url="hacking-with-cookies/" %} [hacking-with-cookies](hacking-with-cookies/) {% endcontent-ref %} ## **Atacando o Mecanismo de Redefinição de Senha** {% content-ref url="reset-password.md" %} [reset-password.md](reset-password.md) {% endcontent-ref %} ## **Manipulação de Resposta** Se a resposta de autenticação puder ser **reduzida para um simples booleano, tente alterar false para true** e veja se obtém algum acesso. ## OAuth para Assumir o Controle da Conta {% content-ref url="oauth-to-account-takeover.md" %} [oauth-to-account-takeover.md](oauth-to-account-takeover.md) {% endcontent-ref %} ## Injeção de Cabeçalho de Host 1. O cabeçalho Host é modificado seguindo uma solicitação de redefinição de senha. 2. O cabeçalho de proxy `X-Forwarded-For` é alterado para `attacker.com`. 3. Os cabeçalhos Host, Referrer e Origin são alterados simultaneamente para `attacker.com`. 4. Após iniciar uma redefinição de senha e optar por reenviar o e-mail, todos os três métodos mencionados acima são empregados. ## Manipulação de Resposta 1. **Manipulação de Código**: O código de status é alterado para `200 OK`. 2. **Manipulação de Código e Corpo**: * O código de status é alterado para `200 OK`. * O corpo da resposta é modificado para `{"success":true}` ou um objeto vazio `{}`. Essas técnicas de manipulação são eficazes em cenários onde o JSON é utilizado para transmissão e recebimento de dados. ## Alterar o e-mail da sessão atual De acordo com [este relatório](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea): * O atacante solicita alterar seu e-mail por um novo * O atacante recebe um link para confirmar a alteração do e-mail * O atacante envia o link para a vítima, que o clica * O e-mail da vítima é alterado para o indicado pelo atacante * O ataque pode recuperar a senha e assumir a conta Isso também aconteceu em [**este relatório**](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea). ### Cookies Antigos Conforme explicado [**neste post**](https://medium.com/@niraj1mahajan/uncovering-the-hidden-vulnerability-how-i-found-an-authentication-bypass-on-shopifys-exchange-cc2729ea31a9), foi possível fazer login em uma conta, salvar os cookies como usuário autenticado, sair e depois fazer login novamente.\ Com o novo login, embora diferentes cookies possam ser gerados, os antigos voltaram a funcionar. ## Referências * [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)
Aprenda a hackear a AWS do zero ao herói com htARTE (Especialista em Equipe Vermelha AWS do HackTricks)! Outras maneiras de apoiar o HackTricks: * Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.