mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-24 13:43:24 +00:00
98 lines
5.7 KiB
Markdown
98 lines
5.7 KiB
Markdown
<details>
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
|
|
|
- Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
|
|
|
- Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
|
|
- Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
|
|
- **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) **grupo do Discord** ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
|
|
- **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
|
|
|
|
</details>
|
|
|
|
|
|
# **Burlando autenticação de dois fatores (2FA)**
|
|
|
|
## **Burla direta**
|
|
|
|
Para burlar o 2FA, basta **tentar acessar diretamente o próximo endpoint** (você precisa saber o caminho do próximo endpoint). Se isso não funcionar, tente alterar o **cabeçalho Referrer** como se você tivesse vindo da página 2FA.
|
|
|
|
## **Reutilização de token**
|
|
|
|
Talvez você possa reutilizar um token previamente usado dentro da conta para autenticar.
|
|
|
|
## Compartilhamento de tokens não utilizados
|
|
|
|
Verifique se você pode obter o token da sua conta e tente usá-lo para burlar o 2FA em uma conta diferente.
|
|
|
|
## Token vazado
|
|
|
|
O token vazou em uma resposta da aplicação web?
|
|
|
|
## Permissão de sessão
|
|
|
|
Usando a mesma sessão, inicie o fluxo usando sua conta e a conta da vítima. Quando chegar ao ponto 2FA em ambas as contas, conclua o 2FA com sua conta, mas não acesse a próxima parte. Em vez disso, tente acessar a próxima etapa com o fluxo da conta da vítima. Se o back-end apenas definir um booleano dentro de suas sessões dizendo que você passou com sucesso pelo 2FA, você poderá burlar o 2FA da vítima.
|
|
|
|
## **Função de redefinição de senha**
|
|
|
|
Em quase todas as aplicações web, a **função de redefinição de senha faz login automaticamente no usuário** após o procedimento de redefinição ser concluído. Verifique se um **e-mail** é enviado com um **link** para **redefinir a senha** e se você pode **reutilizar** esse **link** para redefinir a senha **quantas vezes quiser** (mesmo que a vítima altere seu endereço de e-mail).
|
|
|
|
## OAuth
|
|
|
|
Se você puder comprometer a conta do usuário em uma plataforma de **OAuth** confiável (Google, Facebook...)
|
|
|
|
## Força bruta
|
|
|
|
### Falta de limite de taxa
|
|
|
|
Existe algum limite no número de códigos que você pode tentar, para que você possa simplesmente forçar a entrada? Tenha cuidado com um possível limite de taxa "silencioso", sempre tente vários códigos e depois o real para confirmar a vulnerabilidade.
|
|
|
|
### Limite de fluxo, mas sem limite de taxa
|
|
|
|
Nesse caso, há um limite de fluxo (você tem que forçar a entrada muito devagar: 1 thread e algum tempo de espera antes de 2 tentativas), mas sem limite de taxa. Então, com tempo suficiente, você pode ser capaz de encontrar o código válido.
|
|
|
|
### Reenviar código e redefinir o limite
|
|
|
|
Existe um limite de taxa, mas quando você "reenvia o código", o mesmo código é enviado e o limite de taxa é redefinido. Então, você pode forçar a entrada do código enquanto o reenvia, para que o limite de taxa nunca seja atingido.
|
|
|
|
### Burla de limite de taxa do lado do cliente
|
|
|
|
{% content-ref url="rate-limit-bypass.md" %}
|
|
[rate-limit-bypass.md](rate-limit-bypass.md)
|
|
{% endcontent-ref %}
|
|
|
|
### Falta de limite de taxa na conta do usuário
|
|
|
|
Às vezes, você pode configurar o 2FA para algumas ações dentro da sua conta (alterar e-mail, senha...). No entanto, mesmo nos casos em que há um limite de taxa quando você tentou fazer login, não há nenhum limite de taxa para proteger as ações dentro da conta.
|
|
|
|
### Falta de limite de taxa ao reenviar o código via SMS
|
|
|
|
Você não poderá burlar o 2FA, mas poderá desperdiçar o dinheiro da empresa.
|
|
|
|
### Regeneração infinita de OTP
|
|
|
|
Se você puder **gerar um novo OTP infinitas vezes**, o **OTP é simples o suficiente** (4 números) e você pode tentar até 4 ou 5 tokens por OTP gerado, você pode simplesmente tentar os mesmos 4 ou 5 tokens todas as vezes e gerar OTPs até que corresponda aos que você está usando.
|
|
|
|
## CSRF/Clickjacking
|
|
|
|
Verifique se há uma vulnerabilidade de Cross Site Request Forgery (CSRF) ou Clickjacking para desativar o 2FA.
|
|
|
|
## Funcionalidade de lembrar-me
|
|
|
|
### Cookie adivinhável
|
|
|
|
Se a funcionalidade "lembrar-me" usa um novo cookie com um código adivinhável, tente adivinhá-lo.
|
|
|
|
### Endereço IP
|
|
|
|
Se a funcionalidade "lembrar-me" estiver vinculada ao seu endereço IP, você pode tentar descobrir o endereço IP da vítima e se passar por ela usando o cabeçalho **X-Forwarded-For**.
|
|
|
|
## Versões antigas
|
|
|
|
### Subdomínios
|
|
|
|
Se você puder encontrar alguns subdomínios de "teste" com a funcionalidade de login, eles podem estar usando versões antigas que não suportam 2FA (então é diretamente
|