Bom , neste pequeno Artigo vamos entender de forma básica o funcionamento do Hydra.
Para isso, me conectei ao meu kali linux de forma remota na porta ssh e procedi com todos os passos usados para se fazer um ataque de brute force, lembrando que o fato de estar conectado via ssh não me impede de usar os programas que rodam em modo terminal, impediria de usar os pacotes que necessitem de uma interface gráfica para tal.
Bom, é importante ressaltar que estou usando um ambiente de testes, o “host alvo” é de minha propriedade e este post serve apenas paras fins de analise e estudo, não fazendo apologia a invasão. Também não me responsabilizarei por eventuais danos causados a terceiros pelo uso incorreto dessa ferramenta..
Aqui temos a versão do Kali que estou rodando.
Bom, o Hydra como muitos conhecem é um programa open source disponibilizado nativamente no Kali Linux, tendo também o codigo fonte disponível para download no repositório oficial do projeto. E quanto a instalação do pacote, esta não será abordada nestas minhas pequenas linhas de raciocinio.
Quem quiser saber mais sobre o Hydra pode diretamente no terminal rodar o man do programa, bastando para isso…
root@love:~# man hydra
Ele dará todas as informações necessárias para que você o conheça melhor, podendo assim planejar e executar diferentes ataques.
Neste exemplo usei como alvo uma Routerboard 433AH rodando Router OS e com usuário previamente cadastrado. Falando em hydra, é sempre interessante ter, pelo menos, o nome de usuário que será usado durante o ataque.
A senha cadastrada foi incluída no nosso arquivo de senhas, qual será usado pelo hydra para realizar os testes de login e assim verificar o password correto.
Bom, vamos ao que realmente interessa. De posse do seu Terminal, crie um arquivo onde você possa inserir prováveis senhas(veja, estamos trabalhando com prováveis senhas , aquelas que imaginamos ser usadas pelo usuario vitima do ataque.) para que possamos realizar nosso pequeno e singelo ataque.
No Terminal, crie então um arquivo, o nome pode ser qualquer um.
root@love:~# nano pass.txt
Neste arquivo insira as senhas, caso use uma lista pre definida.
Após termos nossa base de dados de password já pronta, vamos então verificar quais serviços o nosso host vitima está rodando, quais portas estão abertas e que possam ser testadas pelo Hydra.
root@love:~# nmap -v 10.2.2.1
Constatada as portas abertas, podemos prosseguir com nosso propósito, atacar e obter o password.
Então, vamos invocar o Hydra de forma a usar o arquivo “pass.txt” como base para as senhas.
root@love:~# hydra -l kali -P pass.txt 10.2.2.1 ssh
Explicando a linha:
Hydra: invocamos o programa a ser executado, no caso obviamente o Hydra.
O menos L minusculo “-l” especifica login(vide man hydra).
Kali= Nome do usuário a ser testado (como disse acima, user previamente cadastrador por mim)
O “-P” maiúsculo especifica um arquivo contendo senhas, caso fosse “-p” minúsculo poderíamos especificar somente um password por vez.
Pass.txt é obviamente nosso arquivo com as passwords.
10.2.2.1 é o host alvo do ataque e o SSH no final da linha indica o serviço(porta) a ser testada.
Feito isso, basta correr o comando, damos {Enter} e aguardamos que os testes se concluam. Dependendo do tamanho do seu arquivo de senhas e da complexidade isso pode demorar muito tempo… 😉
Olha, que lindo, aqui já podemos ver que o Hydra encontrou o password do usuário Kali. Isso após alguns segundos somente.
Vamos fazer um teste via ssh?
Pronto, conectado…!
Realmente funciona, e realmente da para fazer ataques de níveis bem diferentes deste, por exemplo, caso eu quisesse testar também uma serie de senhas para o protocolo(serviço ftp) bastava a mim mudar ou especificar no fim da linha onde invoco o Hydra o serviço, para um ftp teríamos:
root@love:~# hydra -l kali -P passftp.txt 10.2.2.1 ftp
Bom amigos, por hoje e só por hoje é só! Hehe
O hydra é um velho companheiro, e se vocẽ quiser realmente aprender sobre ele não se esqueça de ler a man do programa, não existe tutorial/artigo que se compare a qualidade das informações disponíveis lá.