Password Spraying
Ataques de força bruta são amplamente conhecidos pela facilidade em se descobrir usuários e senhas válidos em aplicações. O ataque consiste em realizar múltiplos testes de login em uma aplicação por tentativa e erro de usuários e senhas comuns. Para isso, o atacante deve conhecer os padrões de usuários aceitos para o login e ter uma lista de senhas comuns ou criadas a partir de palavras-chaves.
No levantamento de nome de usuário, muitas aplicações na internet utilizam o próprio e-mail do usuário para efetuar o login, o que, dado um domínio alvo, é possível encontrar listas de e-mails na internet. Quando o usuário não utiliza seu e-mail para login, padrões comuns de nome de usuário podem fazer parte do teste (primeira letra do nome seguido de ponto e o sobrenome, nome seguido de ponto e o sobrenome, etc).
Já no caso de levantamento de senhas, existem listas e listas de senhas padrões e conhecidas na internet. O atacante pode também utilizar padrões de senhas próprias inserindo o nome do alvo entre as números, caracteres e palavras completas, por exemplo.
Munido destas listas, o atacante realiza várias tentativas de login utilizando todas as opções da lista de senhas para cada usuário da lista de usuários.
Red Alert
A grande questão deste ataque é que já existem diversos mecanismos para detecção e mitigação do mesmo. Bloqueio de conta após 3 tentativas de login, captcha para verificação de tentativa real de login e bloqueio temporário de acesso à página são alguns dos mecanismos mais conhecidos de mitigação.
A técnica não só é mitigada, como diversos tipos de proteções encontradas no mercado podem gerar logs e alertas para os seus analistas, visto que este ataque é categorizado com uma alta criticidade e o acionamento das equipes de segurança geram todo um trabalho para encontrar as origens do ataque.
A “Solução”?
Como forma de burlar os sistemas de bloqueios por tentativa de login das aplicações, o atacante pode rotacionar os logins utilizando apenas uma senha.
Na técnica de password spray o atacante seta uma lista de usuários que serão testados com senhas padrões conhecidas. Porém, em vez de testar todas as senhas para cada usuário, ele testa todos os usuários para cada senha.
Se a quantidade de usuários da lista de senhas for relativamente grande, é possível até burlar o sistema de bloqueio por tempo de tentativa de login. O tempo de teste de login entre uma senha e outra para cada usuário pode ser grande o suficiente para não alertar o sistema sobre tentativas excessivas de acesso com um único login em um curto espaço de tempo.
Possíveis técnicas de mitigação
Nível Técnico
- Forçar usuários ao uso de senhas complexas (exigir quantidade mínima de caracteres, forçar uso de caracteres especiais, letras maiúsculas e minúsculas, numerais, etc);
- Implementação de Captcha após um número limitado de tentativas de login;
- Implementação de 2FA (Two Factor Authentication).
Nível Humano
- Documentação de procedimentos de segurança;
- Conscientização das equipes no uso de e-mails profissionais em locais inadequados;
- Não compartilhamento de senhas;
- Não reutilizar senhas em diversos serviços.
Conclusão
Neste artigo vimos que a técnica de brute force pode ser usada também em usuários, não só em senhas. Com isso, o elo mais fraco da segurança (pessoas) pode ser explorado para encontrar nomes de usuários válidos em aplicações web. Além disso, a utilização de senhas fracas e aplicações que possibilitem o uso senhas de simplistas torna o cenário ainda mais fácil de ser encontrado.
O artigo é pequeno e o assunto simples, mas pode ajudar muitos administradores de sistema a pensarem fora da caixa e entenderem porque existem tantas linhas de erro de login em seus logs de acesso sem acionamento de alarmes.
Referências:
https://www.cybrary.it/0p3n/password-spraying-vulnerable/ https://christierney.com/2018/03/28/password-spraying/
https://www.trustwave.com/Resources/SpiderLabs-Blog/Simplifying-Password-Spraying/
https://cloudblogs.microsoft.com/enterprisemobility/2018/03/05/azure-ad-and-adfs-best-practices-defending-against-password-spray-attacks
Referências:
https://www.cybrary.it/0p3n/password-spraying-vulnerable/ https://christierney.com/2018/03/28/password-spraying/
https://www.trustwave.com/Resources/SpiderLabs-Blog/Simplifying-Password-Spraying/
https://cloudblogs.microsoft.com/enterprisemobility/2018/03/05/azure-ad-and-adfs-best-practices-defending-against-password-spray-attacks
0 comentários: