Introdução
Neste laboratório, você aprenderá a instalar e verificar o Hydra, uma ferramenta versátil de quebra de senhas usada para realizar ataques de força bruta contra logins de rede em diversos protocolos. Os exercícios abrangem a instalação de pacotes, a verificação da versão e testes básicos de comandos para confirmar o funcionamento correto.
Você praticará operações essenciais do Hydra, como consultar a versão, localizar o executável e explorar as opções de comando. Essas atividades práticas ajudarão a confirmar uma instalação bem-sucedida e, ao mesmo tempo, familiarizarão você com esta importante ferramenta de segurança.
Instalar o Hydra no sistema
Nesta etapa, você instalará o Hydra, uma poderosa ferramenta de quebra de senhas usada para testar a segurança de redes. O Hydra realiza ataques de força bruta contra sistemas de login e oferece suporte a mais de 30 protocolos, incluindo HTTP, FTP, SSH e outros. A instalação será feita na VM do LabEx, que fornece um ambiente seguro para aprendizado.
Observação: usuários gratuitos não podem se conectar à internet, portanto o Hydra já vem pré-instalado no ambiente do laboratório. Você pode ir diretamente ao item 4 da lista (verificar se o Hydra está instalado). Faça upgrade para o plano Pro para praticar a instalação do Hydra por conta própria.
- Primeiro, precisamos atualizar a lista de pacotes. Isso garante que você instalará a versão mais recente disponível do Hydra e de suas dependências:
sudo apt update
O comando sudo concede privilégios de administrador, enquanto apt update atualiza a lista de pacotes disponíveis no sistema.
- Agora instale o Hydra usando o gerenciador de pacotes apt. A opção
-yconfirma automaticamente todas as solicitações exibidas durante a instalação:
sudo apt install -y hydra
O processo de instalação cuidará automaticamente de todas as dependências necessárias. Elas são componentes de software adicionais de que o Hydra precisa para funcionar corretamente. Aguarde a conclusão do processo — uma mensagem será exibida quando ele terminar.
Após a instalação, vamos verificar se o Hydra foi instalado corretamente e está acessível. O comando
whichmostra onde o sistema encontra o executável do Hydra:
which hydra

Saída esperada:
/usr/bin/hydra
Essa saída confirma que o Hydra foi instalado corretamente. O caminho /usr/bin/ indica que a ferramenta está disponível em todo o sistema, podendo ser executada a partir de qualquer diretório no terminal. Nas próximas etapas, exploraremos como usar os recursos avançados do Hydra.
Verificar a versão instalada do Hydra
Nesta etapa, você confirmará que o Hydra é iniciado corretamente e identificará a versão instalada. O Hydra não oferece uma opção exclusiva para exibir apenas a versão. A saída de ajuda começa com um banner que inclui o número da versão.
Execute o comando de ajuda do Hydra e mantenha apenas a primeira linha:
hydra -h 2>&1 | head -n 1
Você deverá ver uma saída semelhante a:
Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak ...
A versão exata e o ano dos direitos autorais podem variar. A exibição do banner Hydra v... confirma que o shell consegue localizar e iniciar o executável instalado.
Não use hydra -v nem hydra -V para verificar a versão. No Hydra, -v ativa o modo detalhado e -V exibe cada tentativa de login e senha. Ambas as opções são usadas com um alvo real; quando executadas isoladamente, elas exibem o banner, mas depois falham porque nenhum alvo foi fornecido.
Localizar o caminho do executável do Hydra
Nesta etapa, você aprenderá a descobrir onde o Hydra está instalado no sistema. Quando instalamos um software como o Hydra, o sistema coloca seu arquivo executável em diretórios específicos. Conhecer esse caminho é essencial porque:
- Ajuda a verificar se a instalação foi concluída com sucesso
- Você precisará desse caminho ao criar scripts ou aliases
- Administradores de sistemas frequentemente precisam verificar a localização de executáveis durante auditorias de segurança
Vamos começar com o comando básico para localizar o Hydra:
- Use o comando
whichpara localizar o executável do Hydra. Esse comando pesquisa a variável de ambiente PATH do sistema para descobrir onde o Hydra está instalado:
which hydra
- A saída mostrará o caminho completo onde está localizado o executável principal do Hydra. Em um sistema Linux típico, será exibido algo como:
/usr/bin/hydra
- Agora vamos obter mais detalhes sobre esse arquivo executável. O comando a seguir combina
ls -l(que exibe detalhes do arquivo) comwhich hydra(para obter o caminho):
ls -l $(which hydra)
- Isso fornece informações importantes, incluindo:
- Permissões do arquivo (quem pode lê-lo, gravá-lo ou executá-lo)
- Proprietário do arquivo (geralmente root para programas instalados no sistema)
- Tamanho do arquivo e data de modificação
- Caminho completo
Exemplo de saída:
-rwxr-xr-x 1 root root 123456 Jan 1 00:00 /usr/bin/hydra
- Para obter ainda mais informações, podemos verificar que tipo de arquivo é o executável do Hydra. Isso é particularmente útil quando você precisa confirmar que ele é um binário legítimo, e não um script ou link simbólico:
file $(which hydra)
- A saída informa que se trata de um binário compilado (não de um script) e mostra detalhes técnicos sobre sua arquitetura e vinculação:
/usr/bin/hydra: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=abcdef1234567890, for GNU/Linux 3.2.0, stripped
Esses comandos fornecem uma visão completa de onde o Hydra está instalado e do tipo de executável que ele é. Esse é um conhecimento fundamental para trabalhar com qualquer ferramenta de linha de comando.
Executar o Hydra com o comando de ajuda
Nesta etapa, você aprenderá a acessar a documentação de ajuda integrada do Hydra para entender seu uso básico e a sintaxe dos comandos. O sistema de ajuda do Hydra é o primeiro ponto de referência ao trabalhar com a ferramenta, pois explica detalhadamente todos os comandos e opções disponíveis.
- Para exibir o menu básico de ajuda, que mostra a estrutura geral dos comandos e as opções mais comuns, execute este comando simples no terminal:
hydra -h
- A saída exibirá as informações da versão do Hydra, seguidas pela sintaxe básica dos comandos. Ela inclui:
Formatos dos parâmetros obrigatórios
Opções mais comuns
Exemplos básicos de uso
Normalmente, você verá algo semelhante a:
Hydra v9.2 (c) 2022 by van Hauser/THC & David Maciejak
Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvV46] [service://server[:PORT][/OPT]]
Options:
-l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE
-p PASS or -P FILE try password PASS, or load several passwords from FILE
...
- Para obter ajuda específica de um protocolo, com opções avançadas para determinados serviços, como HTTP ou FTP, use este formato de comando:
hydra -U SERVICE
Substitua SERVICE pelo nome do protocolo com o qual você está trabalhando, como http, ftp ou ssh. Isso exibirá as opções específicas desse serviço.
- Para descobrir todos os módulos de serviço disponíveis com os quais o Hydra pode trabalhar, execute este comando. Observe que
fooebarsão apenas marcadores de posição:
hydra -l foo -p bar -U
- A saída abrangente da ajuda fornece informações essenciais, incluindo:
- Parâmetros obrigatórios e opcionais de cada módulo
- Exemplos práticos de uso
- Lista completa dos protocolos compatíveis
- Configurações relacionadas ao desempenho para ajustar seus testes
Lembre-se de que o sistema de ajuda do Hydra é sensível ao contexto: as informações exibidas mudam de acordo com a combinação de opções usada com os sinalizadores -h ou -U.
Testar o Hydra com um comando fictício
Nesta etapa, você executará um comando de teste seguro com o Hydra para verificar sua funcionalidade básica sem atacar sistemas reais. Este é um primeiro passo importante para entender como o Hydra funciona antes de utilizá-lo em cenários reais.
- Primeiro, crie uma lista de senhas para teste. Esse arquivo conterá senhas de exemplo que o Hydra tentará usar durante o teste:
echo -e "password\n123456\nqwerty" > ~/project/test_passwords.txt
- Crie uma lista de nomes de usuário para teste. Da mesma forma, esse arquivo conterá nomes de usuário de exemplo que o Hydra tentará utilizar:
echo -e "admin\ntest\nroot" > ~/project/test_usernames.txt
- Agora executaremos o Hydra no modo de teste contra o localhost (a própria máquina). Isso é totalmente seguro, pois o alvo é o próprio sistema e as credenciais de teste não funcionarão de fato:
hydra -L ~/project/test_usernames.txt -P ~/project/test_passwords.txt 127.0.0.1 ssh -t 1 -vV
- Você deverá ver uma saída mostrando as tentativas do teste. Essa saída demonstra como o Hydra percorre as combinações de senhas, embora não consiga efetuar login:
[DATA] attacking ssh://127.0.0.1:22/
[VERBOSE] Resolving addresses ... [VERBOSE] resolving done
[INFO] Testing if password authentication is supported by ssh://127.0.0.1:22
[22][ssh] host: 127.0.0.1 login: admin password: password
[22][ssh] host: 127.0.0.1 login: admin password: 123456
[22][ssh] host: 127.0.0.1 login: admin password: qwerty
...
[STATUS] attack finished for 127.0.0.1 (waiting for children to complete tests)
- O comando usa os seguintes parâmetros seguros, que é importante compreender:
-L: especifica o caminho do arquivo que contém a lista de nomes de usuário criada-P: especifica o caminho do arquivo que contém a lista de senhas criada-t 1: limita o Hydra a uma conexão paralela (torna o teste mais lento, porém mais seguro)-vV: ativa a saída detalhada para que possamos acompanhar o que o Hydra está fazendossh: especifica que o teste será realizado contra o protocolo SSH (embora ele não seja bem-sucedido)
Este teste demonstra o funcionamento básico do Hydra sem riscos, mostrando como ele tenta sistematicamente diferentes combinações de nomes de usuário e senhas. A saída mostra as tentativas realizadas, embora nenhuma seja bem-sucedida contra a máquina local.
Resumo
Neste laboratório, você aprendeu a instalar e verificar a ferramenta de quebra de senhas Hydra em um sistema de VM do LabEx. O processo envolveu a atualização dos pacotes, a instalação do Hydra por meio do apt e a confirmação de seu caminho de instalação em /usr/bin/hydra. Você também verificou a instalação consultando a versão do Hydra com os comandos hydra -v e hydra -V.
Além disso, você explorou a funcionalidade básica do Hydra localizando seu executável com which hydra e testando comandos como hydra -h. Essas etapas garantiram que o Hydra estivesse instalado corretamente e pronto para uso prático em cenários de testes de segurança.


