8.3 KiB
Tomada de Conta
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para os repositórios do HackTricks e HackTricks Cloud.
Problema de Autorização
O email de uma conta deve ser tentado para ser alterado, e o processo de confirmação deve ser examinado. Se encontrado fraco, o email deve ser alterado para o do alvo pretendido e então confirmado.
Problema de Normalização Unicode
- A conta da vítima pretendida
victim@gmail.com
- Uma conta deve ser criada usando Unicode
por exemplo:vićtim@gmail.com
Como explicado em esta palestra, o ataque anterior também poderia ser realizado abusando de provedores de identidade de terceiros:
- Crie uma conta no provedor de identidade de terceiros com um email semelhante ao da vítima usando algum caractere unicode (
vićtim@company.com
). - O provedor de terceiros não deve verificar o email
- Se o provedor de identidade verificar o email, 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 do domínio. - Faça login via este 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 {% endcontent-ref %}
Reutilizando Token de Redefinição
Se o sistema alvo permitir 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é Tomada de Conta
- O email 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 emails da vítima possa tornar isso impossível).
- Deve-se esperar até que a vítima se inscreva usando OAuth e confirme a conta.
- Espera-se que a inscrição regular seja confirmada, permitindo o acesso à conta da vítima.
Configuração CORS Incorreta para Tomada de Conta
Se a página contiver configurações CORS incorretas, você pode ser capaz de roubar informações sensíveis do usuário para tomar conta de 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 {% endcontent-ref %}
CSRF para Tomada de Conta
Se a página for vulnerável a CSRF, você pode ser capaz de fazer com que o usuário modifique sua senha, email ou autenticação para que você possa acessá-la:
{% content-ref url="csrf-cross-site-request-forgery.md" %} csrf-cross-site-request-forgery.md {% endcontent-ref %}
XSS para Tomada de 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ê tomasse conta da conta:
{% content-ref url="xss-cross-site-scripting/" %} xss-cross-site-scripting {% endcontent-ref %}
Mesma Origem + Cookies
Se você encontrar um XSS limitado ou uma tomada de subdomínio, você poderia 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 {% endcontent-ref %}
Atacando o Mecanismo de Redefinição de Senha
{% content-ref url="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, apenas tente mudar falso para verdadeiro e veja se você obtém algum acesso.
OAuth para Tomada de Conta
{% content-ref url="oauth-to-account-takeover.md" %} oauth-to-account-takeover.md {% endcontent-ref %}
Injeção de Cabeçalho Host
- O cabeçalho Host é modificado após a iniciação de um pedido de redefinição de senha.
- O cabeçalho proxy
X-Forwarded-For
é alterado paraattacker.com
. - Os cabeçalhos Host, Referrer e Origin são simultaneamente alterados para
attacker.com
. - Após iniciar uma redefinição de senha e optar por reenviar o email, todos os três métodos mencionados são empregados.
Manipulação de Resposta
- Manipulação de Código: O código de status é alterado para
200 OK
. - 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 email da sessão atual
A partir deste relatório:
- O atacante solicita a alteração de seu email para um novo
- O atacante recebe um link para confirmar a alteração do email
- O atacante envia o link para a vítima para que ela clique
- O email da vítima é alterado para o indicado pelo atacante
- O atacante pode recuperar a senha e tomar conta da conta
Isso também aconteceu em este relatório.
Cookies Antigos
Como explicado neste post, foi possível fazer login em uma conta, salvar os cookies como um usuário autenticado, sair e então fazer login novamente.
Com o novo login, embora cookies diferentes possam ser gerados, os antigos começaram a funcionar novamente.
Referências
- https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050
- https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para os repositórios do HackTricks e HackTricks Cloud.