Obtendo o dicionário adequado
Existem diferentes listas de palavras ou dicionários, otimizados de acordo com o tipo de destino. Se você quiser quebrar a senha de um roteador para acessar wi-fi, você usará dicionários contendo no mínimo 8 caracteres, se quiser quebrar um serviço ssh, então você usará um banco de dados de nome de usuário contendo o usuário “raiz“.
Aqui você tem alguns sites dos quais pode baixar listas de palavras.
- O catálogo de listas de palavras do Hack Today
- Dicionários de senha por SkullSecurity
O melhor é usar a forma de pesquisa mais versátil, conforme ilustrado na animação a seguir.
Instalando e usando Hydra para quebrar credenciais ssh e ftp
Hydra é uma das ferramentas de força bruta mais populares. Ele vem por padrão com o Kali e é compatível com os repositórios padrão do Debian / Ubuntu. Para instalar o Hydra run:
apt instalar Hydra -y
Agora vamos atacar o serviço SSH de um alvo para acessar como root executando o seguinte comando:
Hydra -l root -P Caminho / para / dicionário / lista de palavras.txt X.X.X.X ssh
Onde: Hydra chama o software.
-eu: especifica o nome de usuário de login
-P: especifica o dicionário ou localização da lista de palavras.
X.X.X.X: representa o endereço IP, substitua-o pelo IP do seu alvo.
ssh: especifica o serviço para atacar.
Observação: Opcionalmente, você pode usar o -você parâmetro para definir uma lista de nomes de usuário também.
Como você pode ver na sessão de tela, a hydra encontrou a senha na lista de palavras.
Se quisermos quebrar um serviço ftp podemos fazer o mesmo substituindo o último parâmetro ssh para ftp:
Hydra -l root -P Caminho / para / dicionário / lista de palavras.txt X.X.X.X ssh
Instalando e quebrando credenciais com Medusa
Para instalar o Medusa digite:
apt install medusa -y
Agora vamos hackear um serviço SSH usando Medusa, execute o seguinte comando:
medusa -u NOME DE USUÁRIO -P '/ CAMINHO / PARA / LISTA DE PALAVRA.TXT '-h X.X.X.X -M ssh
Onde:
medusa: chama o software
-u: especifica nome de usuário
-P: especifica o caminho para a lista de palavras ou dicionário.
-h: especifica o nome do host ou IP
-M especifica o serviço.
Como você pode ver na captura de tela, o Medusa conseguiu encontrar a senha dentro do dicionário, ao substituir a especificação ssh por outra porta, podemos direcionar diferentes serviços.
Ficando protegido contra ataques de força bruta
Por padrão, as instalações padrão do Linux vêm totalmente acessíveis para nos conceder o primeiro acesso, entre as melhores práticas para evitar ataques de força bruta estão desabilitando o acesso remoto root, limitando o número de tentativas de login por X segundos, instalando software adicional como fail2ban.
1. Desativando o acesso remoto como root.
Digite o seguinte comando para editar o arquivo de configuração sshd para desabilitar o acesso root remoto.
nano / etc / ssh / sshd_config
Encontre a linha que contém PermitRootLogin sim e editá-lo para PermitRootLogin no
Aperte ctrl + w e pesquise por “raiz”
Aperte ctrl + x para salvar e sair do nano.
Agora tente fazer o ssh e veja o resultado:
ssh root @ localhost ou ssh @ 127.0.0.1
Tente como um usuário regular e você conseguirá fazer o login.
2. Substituindo a autenticação de senha para chaves.
nano / etc / ssh / sshd_configPressione ctrl + we pesquise por PasswordAuthentication sim e editar substituindo a linha por PasswordAuthentication não.
Pressione ctrl + x para salvar e sair.
3. Instalando Fail2ban
Para instalar o Fail2ban run:
apt install fail2ban -y
4. Limitando tentativas de login usando iptables
Adicione as seguintes regras de iptables:
Iptables -A INPUT -i lo -j ACEITARIptables -A INPUT -m state --state ESTABELECIDO, RELACIONADO -j ACEITAR
Então digite
Iptables -A INPUT -p tcp -m multiport --porta 21,22,110,143 -m recente --update--segundos 3600 --name BANNED --rsource -j DROP
Aperte iptables-save> / etc / iptables / rules.v4 para salvar e reiniciar o serviço.
reinicialização de iptables de serviço
NOTA: para obter mais informações sobre iptables, visite https: // linuxhint.com / iptables_for_beginners /
Conclusão:
Realizar ataques de força bruta não requer conhecimentos avançados de segurança, com poucos comandos e hardware forte podemos quebrar senhas rapidamente, permitindo que o software execute tentativas massivas de logins em um curto espaço de tempo. Defender-nos contra tais ataques é muito fácil, não requer conhecimento de nível de administrador de sistema e várias opções estão disponíveis, sendo uma obrigação básica para manter seu dispositivo seguro.
Espero que você tenha achado este tutorial básico sobre força bruta ofensiva e defensiva útil. Continue visitando LinuxHint para obter mais dicas sobre Segurança e Administração do Linux.