Introdução
Neste laboratório, você aprenderá a instalar e verificar o Hydra, uma ferramenta versátil de quebra de senhas (password-cracking) para ataques de força bruta (brute-forcing) em logins de rede através de vários protocolos. Os exercícios cobrem a instalação do pacote, a verificação da versão e testes básicos de comandos para garantir a funcionalidade adequada.
Você praticará operações essenciais do Hydra, incluindo a verificação da sua versão, a localização do executável e a exploração das opções de comando. Estas etapas práticas o ajudarão a confirmar uma instalação bem-sucedida, ao mesmo tempo em que o familiarizarão com esta importante ferramenta de segurança.
Instalar Hydra no Seu Sistema
Nesta etapa, você instalará o Hydra, uma poderosa ferramenta de quebra de senhas (password-cracking) usada para testar a segurança da rede. O Hydra realiza ataques de força bruta (brute-force) contra sistemas de login e suporta mais de 30 protocolos, incluindo HTTP, FTP, SSH e muito mais. Vamos instalá-lo na sua VM LabEx, que fornece um ambiente seguro para aprendizado.
Nota: Usuários gratuitos não podem se conectar à internet, então o Hydra já está pré-instalado no ambiente do laboratório. Você pode pular para o item 4 da lista (verificar se o Hydra está instalado). Atualize para um usuário 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 suas dependências:
sudo apt update
O comando sudo concede a você privilégios de administrador, enquanto apt update atualiza a lista de pacotes disponíveis do seu sistema.
- Agora, instale o Hydra usando o gerenciador de pacotes apt. A flag
-yconfirma automaticamente quaisquer prompts durante a instalação:
sudo apt install -y hydra
O processo de instalação lidará automaticamente com todas as dependências necessárias. Estes são componentes de software adicionais que o Hydra precisa para funcionar corretamente. Aguarde a conclusão do processo - você verá uma mensagem quando terminar.
Após a instalação, vamos verificar se o Hydra está corretamente instalado e acessível. O comando
whichmostra onde o sistema encontra o executável do Hydra:
which hydra

Saída esperada:
/usr/bin/hydra
Esta saída confirma que o Hydra está instalado corretamente. A localização /usr/bin/ significa que a ferramenta está disponível em todo o sistema, então você pode executá-la de qualquer diretório no seu terminal. Nas próximas etapas, exploraremos como usar os recursos poderosos do Hydra.
Verificar a Instalação do Hydra com Verificação de Versão
Nesta etapa, verificaremos se o Hydra está corretamente instalado, verificando seu número de versão. Esta é uma verificação inicial essencial porque confirma três coisas importantes: que o software está instalado corretamente, que seu sistema pode encontrá-lo (através do PATH) e que está pronto para uso.
Ao trabalhar com ferramentas de linha de comando (command-line) como o Hydra, verificar a versão é sempre um bom ponto de partida. Isso ajuda você a confirmar que está trabalhando com a ferramenta certa e fornece informações básicas sobre sua instalação.
- Vamos começar com uma verificação básica da versão. Digite este comando no seu terminal:
hydra -v
- Após executá-lo, você deverá ver uma saída semelhante a:
Hydra v9.2 (c) 2022 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes.
Isso mostra o número da versão (v9.2 neste exemplo) e algumas informações de direitos autorais. O número da versão é particularmente importante ao seguir tutoriais ou documentação, pois diferentes versões podem ter recursos ligeiramente diferentes.
- Para obter mais detalhes técnicos sobre a sua instalação do Hydra, incluindo como ela foi compilada, use a opção
-Vmaiúscula:
hydra -V
- Este comando exibirá informações de compilação adicionais que podem ser úteis para solucionar problemas ou ao relatar problemas.
Essas verificações simples realizam várias coisas importantes:
- Elas confirmam que o Hydra está instalado e funcionando
- Elas verificam se seu sistema pode encontrar o comando Hydra (o que significa que ele está no seu PATH)
- Elas fornecem informações sobre qual versão você está usando
- Elas ajudam a identificar quaisquer problemas imediatos com a instalação
Se algum desses comandos falhar ou fornecer um erro, provavelmente significa que o Hydra não está instalado corretamente ou não está no PATH do seu sistema, e você precisará solucionar problemas na instalação.
Localizar o Caminho do Executável do Hydra
Nesta etapa, você aprenderá como encontrar onde o Hydra está instalado em seu sistema. Quando instalamos software como o Hydra, o sistema coloca seu arquivo executável em diretórios específicos. Conhecer este caminho é essencial porque:
- Ajuda você a verificar se a instalação foi bem-sucedida
- Você precisará deste caminho ao criar scripts ou aliases
- Os administradores de sistema geralmente precisam verificar os locais dos executáveis para 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. Este comando pesquisa na variável de ambiente PATH do seu sistema para encontrar onde o Hydra está instalado:
which hydra
- A saída mostrará o caminho completo onde reside o executável principal do Hydra. Um sistema Linux típico mostrará algo como:
/usr/bin/hydra
- Agora, vamos obter mais detalhes sobre este arquivo executável. O seguinte comando combina
ls -l(que mostra os detalhes do arquivo) comwhich hydra(para obter o caminho):
ls -l $(which hydra)
- Isso fornece informações importantes, incluindo:
- Permissões de arquivo (quem pode ler/escrever/executar)
- Proprietário do arquivo (geralmente root para programas instalados no sistema)
- Tamanho do arquivo e data de modificação
- O caminho real
Exemplo de saída:
-rwxr-xr-x 1 root root 123456 Jan 1 00:00 /usr/bin/hydra
- Para ir ainda mais fundo, podemos verificar que tipo de arquivo é o executável do Hydra. Isso é particularmente útil quando você precisa verificar se é um binário genuíno e não um script ou symlink:
file $(which hydra)
- A saída informa que é um binário compilado (não um script) e mostra detalhes técnicos sobre sua arquitetura e linking:
/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 imagem completa de onde o Hydra está instalado e que tipo de executável ele é, o que é conhecimento fundamental para trabalhar com qualquer ferramenta de linha de comando.
Executar Hydra com o Comando de Ajuda
Nesta etapa, você aprenderá como 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 é seu primeiro ponto de referência ao trabalhar com esta ferramenta, pois explica todos os comandos e opções disponíveis em detalhes.
- Para exibir o menu de ajuda básico que mostra a estrutura geral dos comandos e as opções comuns, execute este comando simples no seu terminal:
hydra -h
- A saída exibirá as informações da versão do Hydra, seguida pela sintaxe básica do comando. Isso inclui:
- Formatos de parâmetros obrigatórios
- Flags de opções comuns
- Exemplos básicos de uso Aqui está o que você normalmente verá:
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 do protocolo que mostra opções avançadas para serviços específicos (como HTTP ou FTP), use este formato de comando:
hydra -U SERVICE
Substitua SERVICE pelo nome real do protocolo com o qual você está trabalhando, como http, ftp ou ssh. Isso exibirá opções especializadas para esse serviço específico.
- Para descobrir todos os módulos de serviço disponíveis com os quais o Hydra pode trabalhar, execute este comando (observe que 'foo' e 'bar' são apenas espaços reservados aqui):
hydra -l foo -p bar -U
- A saída de ajuda abrangente fornece informações cruciais, incluindo:
- Parâmetros obrigatórios vs. opcionais para cada módulo
- Exemplos práticos de uso
- Lista completa de protocolos suportados
- 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 com base em quais opções você combina com as flags -h ou -U.
Testar 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 nenhum sistema real. Esta é uma primeira etapa importante para entender como o Hydra funciona antes de usá-lo em cenários reais.
- Primeiro, crie uma lista de senhas de teste. Este arquivo conterá senhas de amostra que o Hydra tentará durante o teste:
echo -e "password\n123456\nqwerty" > ~/project/test_passwords.txt
- Crie uma lista de nomes de usuário de teste. Da mesma forma, este arquivo contém nomes de usuário de amostra que o Hydra tentará usar:
echo -e "admin\ntest\nroot" > ~/project/test_usernames.txt
- Agora, executaremos o Hydra no modo de teste contra o localhost (sua própria máquina). Isso é completamente seguro porque estamos mirando em nós mesmos e usando credenciais de teste que realmente não funcionarão:
hydra -L ~/project/test_usernames.txt -P ~/project/test_passwords.txt 127.0.0.1 ssh -t 1 -vV
- Você deve ver a saída mostrando a tentativa de teste. Esta saída demonstra como o Hydra funciona através das combinações de senhas, embora na verdade não consiga fazer 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 esses parâmetros seguros que são importantes para entender:
-L: Especifica o caminho para o arquivo da lista de nomes de usuário que criamos-P: Especifica o caminho para o arquivo da lista de senhas que criamos-t 1: Limita o Hydra a 1 conexão paralela (torna o teste mais lento, mas mais seguro)-vV: Habilita a saída verbose para que possamos ver o que o Hydra está fazendossh: Especifica que estamos testando contra o protocolo SSH (embora este teste não tenha sucesso)
Este teste demonstra a operação básica do Hydra sem nenhum risco, mostrando como ele tenta sistematicamente diferentes combinações de nome de usuário/senha. A saída mostra as tentativas sendo feitas, embora nenhuma tenha sucesso contra sua máquina local.
Resumo
Neste laboratório, você aprendeu como instalar e verificar a ferramenta de quebra de senhas Hydra em um sistema de VM do LabEx. O processo envolveu a atualização de pacotes, a instalação do Hydra via apt e a confirmação de seu caminho de instalação em /usr/bin/hydra. Você também verificou a instalação verificando a versão do Hydra usando os comandos hydra -v e hydra -V.
Além disso, você explorou a funcionalidade básica do Hydra, localizando seu caminho executável com which hydra e testando comandos como hydra -h. Essas etapas garantiram que o Hydra fosse instalado corretamente e estivesse pronto para uso prático em cenários de teste de segurança.


