hacktricks/pentesting-web/account-takeover.md

132 lines
6.9 KiB
Markdown

# Assumir Controle de Conta
<details>
<summary><strong>Aprenda hacking AWS do zero ao avançado com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras formas 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 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 Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo 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 repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## **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`
Para mais detalhes, consulte o documento sobre Normalização Unicode:
[unicode-normalization.md](unicode-injection/unicode-normalization.md)
## **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 Controle de 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 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 fazê-lo alterar 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 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 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 a um simples booleano, tente alterar false para true** e veja se obtém algum acesso.
## OAuth para Assumir 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 após a iniciação de uma solicitação de redefinição de senha.
2. O cabeçalho de proxy `X-Forwarded-For` é alterado para `attacker.com`.
3. O Host, Referrer e Origin headers são simultaneamente alterados 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 JSON é utilizado para transmissão e recebimento de dados.
## Alterar e-mail da sessão atual
De [este relatório](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea):
* Atacante solicita alterar seu e-mail por um novo
* Atacante recebe um link para confirmar a mudança do e-mail
* Atacante envia o link para a vítima clicar
* O e-mail da vítima é alterado para o indicado pelo atacante
* O ataque pode recuperar a senha e assumir a conta
## 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)
<details>
<summary><strong>Aprenda hacking AWS do zero ao avançado com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras formas 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 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 Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo 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 repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>