O que é um ataque de força bruta?
Um ataque de força bruta usa tentativas e erros para adivinhar sistematicamente informações de login, credenciais e chaves de criptografia. O invasor envia combinações de nome do usuário e senhas até acertar.
Uma vez bem-sucedidos, os invasores podem entrar no sistema se disfarçando de usuários legítimos e ficar por lá até serem detectados. Eles usam esse tempo para se mover lateralmente, instalar backdoors, obter conhecimento sobre o sistema para usar em ataques futuros e, obviamente, roubar dados.
Os ataques de força bruta existem desde a criação das primeiras senhas. Eles não somente continuam famosos, mas estão em alta devido à migração geral para o modelo de trabalho remoto.
Tipos de ataques de força bruta
Ataque de força bruta simples
Um ataque de força bruta básico usa a automação e scripts para tentar decifrar senhas. Ataques de força bruta comuns realizam algumas centenas de tentativas por segundo. Senhas simples, que não usam letras maiúsculas e minúsculas ou que utilizam combinações como "123456" ou "senha", podem ser quebradas em questão de minutos. No entanto, há o potencial dessa velocidade aumentar de forma significativa. Já em 2012, um pesquisador demonstrou a capacidade de um cluster de computadores de decifrar até 350 bilhões de senhas por segundo.
Ataque de dicionário
Um ataque de dicionário testa combinações de palavras e frases comuns. Antigamente, esses ataques usavam palavras de dicionários convencionais e números. Hoje em dia, ataques de dicionário também usam senhas vazadas em comprometimentos de dados anteriores. Essas senhas vazadas são comercializadas na dark web e podem até ser encontradas gratuitamente na web aberta.
Softwares de dicionário são capazes de substituir caracteres semelhantes para gerar novas tentativas de senha. Por exemplo, o software pode substituir um "l" minúsculo por um "I" maiúsculo ou um "a" minúsculo por um "@". O software testa apenas as combinações que sua lógica considera ter mais chances de sucesso.
Stuffing de credenciais
Ao longo dos anos, mais de 8,5 bilhões de nomes de usuário e senhas foram expostos em vazamentos de dado. Essas credenciais roubadas são comercializadas entre ciber criminosos na dark web e usadas em diversas atividades, desde o envio de spam até a tomada de controle de contas.
Um ataque de stuffing de credenciais usa essas combinações de login roubadas em diversos websites. Esse tipo de ataque funciona porque diversos usuários reutilizam seus nomes de usuário e senhas em plataformas diferentes. Dessa forma, se um invasor ganha acesso à conta de um usuário em uma empresa de energia elétrica, há uma grande chance das mesmas credenciais permitirem o acesso à conta bancária on-line dele.
Embora empresas de jogos, mídia e varejo sejam alvos frequentes, os ataques de stuffing de credenciais são comuns em todos os setores.
Ataque de força bruta reverso
Em um ataque de força bruta convencional, o invasor começa por uma chave conhecida, geralmente um nome de usuário ou número de conta. Depois, ele utiliza ferramentas automatizadas para descobrir a senha correspondente. Em um ataque de força bruta reverso, o invasor possui a senha e precisa encontrar o nome de usuário ou número da conta.
Ataque de força bruta híbrido
Esse tipo de ataque combina as técnicas de um ataque de dicionário e um ataque de força bruta convencional. As pessoas costumam adicionar uma sequência de números – geralmente quatro – ao final de suas senhas. Eles frequentemente representam um ano significativo para o usuário, como o ano de nascimento ou formatura, ou seja, o primeiro número geralmente é 1 ou 2.
Em um ataque de força bruta híbrido, os invasores utilizam um ataque de dicionário para gerar as palavras e, em seguida, automatizam um ataque de força bruta sobre a parte numérica final. Essa abordagem é mais eficiente do que usar isoladamente um ataque de dicionário ou um ataque de força bruta convencional.
Password Spraying
Os ataques de força bruta tradicionais tentam decifrar a senha de uma única conta. O password spraying adota uma abordagem oposta, tentando aplicar uma senha comum a várias contas. Essa técnica evita a detecção por políticas de bloqueio que limitam o número de tentativas de senha. O password spraying geralmente é usado contra alvos que utilizam Single Sign-On (SSO) e aplicações baseadas na nuvem com autenticação federada.
Botnets
Um ataque de força bruta é essencialmente uma questão de número, exigindo um poder computacional significativo para ser executado em grande escala. Ao implementar redes de computadores comprometidos (botnets) para executar algoritmos de ataque, os invasores não precisam arcar com os custos e as complexidades de operar sistemas próprios. Além disso, o uso de botnets oferece uma camada adicional de anonimato. Botnets podem ser empregados em qualquer tipo de ataque de força bruta.
Motivações por trás de ataques de força bruta
Os invasores podem usar ataques de força bruta para:
- roubar dados confidenciais
- espalhar malware
- sequestrar sistemas para fins maliciosos
- deixar websites indisponíveis
- lucrar com anúncios
- desviar o tráfego de websites para anúncios comissionados
- infectar websites com spyware para coletar dados para vender para anunciantes
O nível de conhecimento técnico e o custo exigidos para realizar ataques de stuffing de credenciais é muito baixo. Com US$ 550 e um computador, qualquer pessoa pode começar um ataque de stuffing de credenciais.
Como funciona um ataque de força bruta?
Adversários usam ferramentas automatizadas para realizar esse tipo de ataques. Mesmo que eles não tenham conhecimento para desenvolver suas próprias ferramentas, elas podem ser adquiridas na dark web, na forma de kits de malware. Eles também podem comprar dados, tais como credenciais vazadas, que podem ser usados em ataques de stuffing de credenciais ou ataques de força bruta híbridos. Essas listas podem ser oferecidas como parte de um pacote que inclui ferramentas automatizadas e outros recursos, como consoles de gerenciamento.
Depois que o invasor configura as ferramentas e alimenta as listas a elas (quando aplicável) o ataque se inicia.
Ataques de força bruta podem ser executados com botnets. Botnets são redes de computadores comprometidos usados como poder de processamento sem o consentimento ou conhecimento dos usuários legítimos. Assim como os kits de malware já mencionados, também é possível comprar kits de botnets na dark web. No ano passado, uma botnet foi utilizada para atacar servidores SSH pertencentes a bancos, centros médicos, instituições educacionais e outras organizações.
Os ataques de força bruta gastam muitos recursos, mas são eficientes. Eles também podem ser a etapa inicial de um ataque de várias fases. Um exemplo disso é explicado em detalhes no blog da CrowdStrike, com a análise de um caso em que um ataque de força bruta foi parte de um exploit de várias etapas que possibilitou a elevação de privilégios sem autenticação para privilégios totais de domínio.
Ferramentas usadas em ataques de força bruta
Várias ferramentas (muitas delas, grátis) estão disponíveis na Internet e funcionam contra uma ampla variedade de plataformas e protocolos. Estas são algumas delas:
- Aircrack-ng: é uma ferramenta gratuita de ataques de força bruta para senhas de Wi-Fi. Ela acompanha ferramentas de análise e cracker WEP/WPA/WPA2-PSK para realizar ataques em Wi-Fi 802.11 e pode ser usada para qualquer NIC com suporte ao modo de monitoramento bruto.
- DaveGrohl: é uma ferramenta de força bruta para Mac OS X com suporte para ataques de dicionário. Ela conta com um modo distribuído que permite que um invasor execute ataques de vários computadores no mesmo hash de senha.
- Hashcat: é uma ferramenta de quebra de senha baseada em CPU disponível gratuitamente. Ela funciona em sistemas Windows, Mac OS e Linux e com diversos tipos de ataques, tais como de força bruta simples, de dicionário e híbridos.
- THC Hydra: quebra senhas de autenticações de rede. Realiza ataques de dicionário contra mais de 30 protocolos, incluindo HTTPS, FTP e Telnet.
- John the Ripper: é uma ferramenta gratuita de quebra de senha que foi desenvolvida para sistemas Unix. Atualmente, está disponível para 15 outras plataformas, tais como Windows, OpenVMS e DOS. John the Ripper automaticamente detecta o tipo de hashing usado em uma senha, para execução contra um armazenamento de senha criptografado.
- L0phtCrack: usado em ataques de força bruta simples, de dicionário, híbridos e de tabela arco-íris para quebrar senhas do Windows.
- NL Brute: ferramenta de força bruta para Remote Desktop Protocol (RDP) disponível na dark web pelo menos desde 2016.
- Ophcrack: ferramenta gratuita de quebra de senha de código aberto para Windows. Ela usa hashes LM através de tabelas arco-íris.
- Rainbow Crack: ferramenta que gera tabelas arco-íris para usar durante a execução de um ataque. As tabelas arco-íris são pré-computadas, por isso reduzem o tempo necessário para realizar um ataque.
Qual é a melhor proteção contra ataques de força bruta?
Usar a proteção multifatorial
Quando os usuários têm que apresentar mais de uma forma de autenticação, tal como uma senha e uma digital ou uma senha e um token de segurança de uso único, os ataques de força bruta têm bem menos chances de sucesso.
Implementar a higiene de TI
Tenha visibilidade do uso de credenciais em todo o ambiente e exija que as senhas sejam alteradas com frequência.
Definir políticas que rejeitam senhas fracas
Senhas mais longas não são necessariamente melhores. O que realmente protege é exigir uma mistura de letras maiúsculas, minúsculas e caracteres especiais. Eduque os usuários sobre as práticas recomendadas para a criação de senhas, tais como evitar usar quatro números no final e números comuns, como os que começam com 1 ou 2. Providencie uma ferramenta de gerenciamento de senhas para impedir que os usuários recorram a senhas fáceis de lembrar e use uma ferramenta de descoberta que exponha as senhas padrão em dispositivos que não foram alteradas.
Implementar a investigação de ameaças proativa
A investigação de ameaças expõe tipos de ataques que medidas de proteção padrão podem deixar passar. Se um ataque de força bruta foi usado para entrar com sucesso no sistema, um time de threat hunters pode detectar o ataque, mesmo que esteja disfarçado de credenciais legítimas.