Instalar e verificar o 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 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.

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

  1. Agora instale o Hydra usando o gerenciador de pacotes apt. A opção -y confirma automaticamente todas as solicitações exibidas durante a instalação:
sudo apt install -y hydra
  1. 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.

  2. Após a instalação, vamos verificar se o Hydra foi instalado corretamente e está 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

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:

  1. Ajuda a verificar se a instalação foi concluída com sucesso
  2. Você precisará desse caminho ao criar scripts ou aliases
  3. 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:

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

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

  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 marcadores de posição:
hydra -l foo -p bar -U
  1. 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.

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