Account Takeover
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
O e-mail de uma conta deve ser tentado para ser alterado, e o processo de confirmação deve ser examinado. Se encontrado fraco, o e-mail deve ser alterado para o do alvo pretendido e então confirmado.
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:
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 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:
Unicode NormalizationSe 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
.
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).
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.
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:
CORS - Misconfigurations & BypassSe 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 que você possa acessá-la:
CSRF (Cross Site Request Forgery)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:
XSS (Cross Site Scripting)Se você encontrar um XSS limitado ou uma tomada de subdomínio, pode brincar com os cookies (fixando-os, por exemplo) para tentar comprometer a conta da vítima:
Cookies HackingSe 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.
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 para attacker.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 e-mail, todos os três métodos mencionados são empregados.
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.
A partir deste relatório:
O atacante solicita a alteração de seu e-mail para um novo.
O atacante recebe um link para confirmar a alteração do e-mail.
O atacante envia o link para a vítima para que ela clique.
O e-mail 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.
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 voltaram a funcionar.
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)