Instalar e Verificar Hydra

HydraBeginner
Pratique Agora

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.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível intermediário com uma taxa de conclusão de 63%. Recebeu uma taxa de avaliações positivas de 99% dos estudantes.

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.

  1. 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.

  1. Agora, instale o Hydra usando o gerenciador de pacotes apt. A flag -y confirma automaticamente quaisquer prompts durante a instalação:
sudo apt install -y hydra
  1. 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.

  2. Após a instalação, vamos verificar se o Hydra está corretamente instalado e acessível. O comando which mostra onde o sistema encontra o executável do Hydra:

which 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.

  1. Vamos começar com uma verificação básica da versão. Digite este comando no seu terminal:
hydra -v
  1. 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.

  1. Para obter mais detalhes técnicos sobre a sua instalação do Hydra, incluindo como ela foi compilada, use a opção -V maiúscula:
hydra -V
  1. 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:

  1. Ajuda você a verificar se a instalação foi bem-sucedida
  2. Você precisará deste caminho ao criar scripts ou aliases
  3. 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:

  1. Use o comando which para 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
  1. 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
  1. Agora, vamos obter mais detalhes sobre este arquivo executável. O seguinte comando combina ls -l (que mostra os detalhes do arquivo) com which hydra (para obter o caminho):
ls -l $(which hydra)
  1. 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
  1. 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)
  1. 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.

  1. 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
  1. 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
  ...
  1. 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.

  1. 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
  1. 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.

  1. 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
  1. 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
  1. 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
  1. 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)
  1. 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á fazendo
  • ssh: 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.