Utilizar o Modo Verbose do Hydra

HydraBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a utilizar o modo verbose do Hydra para obter mais informações sobre o processo de quebra de senha. O laboratório se concentra em demonstrar diferentes níveis de verbosidade ao realizar um ataque FTP.

Primeiro, você executará um ataque básico de login FTP contra um alvo fictício (127.0.0.1) sem saída verbose, utilizando listas de usuário e senha criadas em seu diretório ~/project (users.txt e passwords.txt). Em seguida, você reexecutará o ataque usando a opção -v para exibir mais detalhes sobre cada tentativa e, finalmente, utilizará a opção -V para mostrar cada tentativa em tempo real. Comparando a saída desses diferentes níveis de verbosidade, você entenderá como utilizar eficazmente as opções de verbosidade do Hydra para melhor monitoramento e solução de problemas.

Executar Ataque FTP Sem Verbosidade

Neste passo, você realizará um ataque básico de login FTP usando o Hydra sem saída verbose. Isso significa que o Hydra tentará quebrar a senha FTP, mas não exibirá informações detalhadas sobre cada tentativa de login na tela. Isso é útil quando você deseja executar o ataque em segundo plano ou evitar poluir seu terminal.

Antes de começar, vamos entender a sintaxe básica do Hydra:

hydra [options] [service://server[:port]] [OPT]
  • hydra: O comando para executar a ferramenta Hydra.
  • [options]: Várias opções para personalizar o ataque, como listas de usuários, listas de senhas e configurações de conexão.
  • [service://server[:port]]: Especifica o serviço a ser atacado (por exemplo, ftp, ssh, http), o endereço do servidor de destino e, opcionalmente, o número da porta.
  • [OPT]: Opções adicionais específicas para o serviço atacado.

Agora, navegue até o diretório ~/project, que é o diretório de trabalho padrão neste ambiente de laboratório:

cd ~/project

Em seguida, você criará uma lista simples de nomes de usuário e uma lista de senhas para seu ataque.

  1. Criar uma lista de nomes de usuário:

    Crie um arquivo chamado users.txt em seu diretório ~/project. Este arquivo conterá uma lista de nomes de usuário, com um nome de usuário por linha. Use o editor de texto nano para criar e editar o arquivo:

    nano users.txt
    

    Adicione os seguintes nomes de usuário ao arquivo:

    user1
    user2
    user3
    

    Para salvar o arquivo no nano:

    1. Pressione Ctrl + X para sair.
    2. Pressione Y para confirmar a gravação.
    3. Pressione Enter para confirmar o nome do arquivo.
  2. Criar uma lista de senhas:

    Similarmente, crie um arquivo chamado passwords.txt em seu diretório ~/project. Este arquivo conterá uma lista de senhas, com uma senha por linha. Use o nano para criar e editar o arquivo:

    nano passwords.txt
    

    Adicione as seguintes senhas ao arquivo:

    password123
    password
    123456
    

    Salve o arquivo e saia do nano (Ctrl+X, Y, Enter).

  3. Executar o ataque FTP sem saída verbose:

    Agora, você executará o ataque Hydra contra um servidor FTP de destino. Para fins de demonstração, você usará um alvo fictício 127.0.0.1. Importante: Não tente atacar sistemas sem permissão explícita.

    Execute o seguinte comando em seu terminal:

    hydra -L users.txt -P passwords.txt ftp://127.0.0.1
    

    Vamos decompor este comando:

    • -L users.txt: Especifica o arquivo de lista de nomes de usuário. Como você está no diretório ~/project, pode usar o caminho relativo users.txt.
    • -P passwords.txt: Especifica o arquivo de lista de senhas. Da mesma forma, você pode usar o caminho relativo passwords.txt.
    • ftp://127.0.0.1: Especifica o serviço FTP e o endereço do servidor de destino.

    Observação: Como não há um servidor FTP em execução em 127.0.0.1, o ataque falhará. No entanto, este comando demonstra a sintaxe básica para executar um ataque FTP sem saída verbose. O Hydra tentará cada combinação de nome de usuário e senha, mas exibirá os resultados apenas se um login bem-sucedido for encontrado. Se nenhum login bem-sucedido for encontrado, exibirá uma mensagem indicando que nenhuma senha foi quebrada.

    A saída será semelhante a esta:

    Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
    
    Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-05-30 09:45:40
    [DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task
    [DATA] attacking ftp://127.0.0.1:21/
    1 of 1 target completed, 0 valid password found
    Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-05-30 09:45:52
    

    Como você pode ver, sem o modo verbose, o Hydra fornece uma saída mínima - apenas as informações básicas sobre a configuração do ataque, o alvo atacado e o resultado final. Nenhuma tentativa individual de login é mostrada.

Reexecute com Detalhes (-v)

Neste passo, você reexecutará o ataque FTP do passo anterior, mas desta vez usará a opção -v para ativar a saída verbose. A saída verbose fornece informações mais detalhadas sobre cada tentativa de login, o que pode ser útil para solucionar problemas ou entender o progresso do ataque.

A opção -v no Hydra significa "verbose". Quando usada, aumenta a quantidade de informações exibidas na tela durante o ataque. Isso inclui detalhes sobre cada tentativa de conexão, o nome de usuário e a senha testados e quaisquer erros que ocorram.

Você continuará usando as mesmas listas de nomes de usuário e senhas (users.txt e passwords.txt) criadas no passo anterior. Certifique-se de que ainda esteja no diretório ~/project.

  1. Reexecução do ataque FTP com saída verbose:

    Execute o seguinte comando em seu terminal:

    hydra -L users.txt -P passwords.txt -v ftp://127.0.0.1
    

    Vamos decompor este comando:

    • -L users.txt: Especifica o arquivo de lista de nomes de usuário.
    • -P passwords.txt: Especifica o arquivo de lista de senhas.
    • -v: Ativa a saída verbose. Esta é a nova opção que você está adicionando.
    • ftp://127.0.0.1: Especifica o serviço FTP e o endereço do servidor de destino.

    Observação: Assim como no passo anterior, como não há um servidor FTP em execução em 127.0.0.1, o ataque falhará. No entanto, este comando demonstra o uso da opção -v.

    A saída agora será mais detalhada do que no passo anterior. Você verá informações sobre cada tentativa de conexão, incluindo o nome de usuário e a senha testados, e quaisquer erros que ocorram. A saída será semelhante a esta:

    Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
    
    Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-05-30 09:45:54
    [DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task
    [DATA] attacking ftp://127.0.0.1:21/
    [VERBOSE] Resolving addresses ... [VERBOSE] resolving done
    Process 1216: Can not connect [unreachable], retrying (1 of 1 retries)
    Process 1218: Can not connect [unreachable], retrying (1 of 1 retries)
    Process 1217: Can not connect [unreachable], retrying (1 of 1 retries)
    ...
    [ERROR] Child with pid 1220 terminating, can not connect
    [ERROR] Child with pid 1224 terminating, can not connect
    [ERROR] Child with pid 1219 terminating, can not connect
    ...
    [VERBOSE] Disabled child 7 because of too many errors
    [VERBOSE] Disabled child 8 because of too many errors
    ...
    1 of 1 target completed, 0 valid password found
    Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-05-30 09:46:07
    

    Você pode ver que o modo verbose fornece informações muito mais detalhadas sobre o processo de conexão, incluindo:

    • Detalhes da resolução de DNS
    • Tentativas e retentativas de conexão de cada processo individual
    • Mensagens de erro específicas para cada conexão falha
    • Informações sobre processos filhos sendo desabilitados devido a erros

    Este nível de detalhe é particularmente útil para solucionar problemas de conexão e entender por que um ataque pode estar falhando.

Execute com -V para Mostrar Tentativas

Neste passo, você reexecutará o ataque FTP novamente, mas desta vez usando a opção -V. A opção -V fornece um nível diferente de verbosidade em comparação com -v. Ela se concentra em exibir cada tentativa de login em um formato conciso, facilitando o acompanhamento do progresso do ataque.

A opção -V no Hydra é semelhante a -v, mas fornece uma saída mais compacta. Em vez de mostrar informações detalhadas de conexão para cada tentativa, ela simplesmente exibe o nome de usuário e a senha que estão sendo testados. Isso pode ser útil quando você deseja monitorar o progresso do ataque sem ser sobrecarregado por muitas informações.

Você continuará usando as mesmas listas de nomes de usuário e senhas (users.txt e passwords.txt) dos passos anteriores. Certifique-se de que ainda esteja no diretório ~/project.

  1. Reexecução do ataque FTP com saída -V:

    Execute o seguinte comando em seu terminal:

    hydra -L users.txt -P passwords.txt -V ftp://127.0.0.1
    

    Vamos decompor este comando:

    • -L users.txt: Especifica o arquivo de lista de nomes de usuário.
    • -P passwords.txt: Especifica o arquivo de lista de senhas.
    • -V: Ativa a saída focada nas tentativas. Esta é a nova opção que você está adicionando.
    • ftp://127.0.0.1: Especifica o serviço FTP e o endereço do servidor de destino.

    Observação: Como antes, como não há um servidor FTP em execução em 127.0.0.1, o ataque falhará. No entanto, este comando demonstra o uso da opção -V.

    A saída será mais concisa do que com a opção -v. Você verá cada tentativa de login exibida em um formato simples, mostrando o nome de usuário e a senha que estão sendo testados. A saída será semelhante a esta:

    Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
    
    Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-05-30 09:46:09
    [DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task
    [DATA] attacking ftp://127.0.0.1:21/
    [ATTEMPT] target 127.0.0.1 - login "user1" - pass "password123" - 1 of 9 [child 0] (0/0)
    [ATTEMPT] target 127.0.0.1 - login "user1" - pass "password" - 2 of 9 [child 1] (0/0)
    [ATTEMPT] target 127.0.0.1 - login "user1" - pass "123456" - 3 of 9 [child 2] (0/0)
    [ATTEMPT] target 127.0.0.1 - login "user2" - pass "password123" - 4 of 9 [child 3] (0/0)
    ...
    1 of 1 target completed, 0 valid password found
    Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-05-30 09:46:21
    

    Esta saída mostra cada tentativa de login em um formato claro e estruturado, incluindo:

    • O endereço IP do alvo.
    • O nome de usuário e a senha que estão sendo testados (entre aspas).
    • O número da tentativa e o total de tentativas.
    • O ID do processo filho que está lidando com a tentativa.
    • Tentativas de repetição quando as conexões falham (mostradas como REDO-ATTEMPT).

    Este formato fornece excelente visibilidade do progresso do ataque sem as informações detalhadas de depuração de conexão verbose.

Comparar Níveis de Detalhes

Neste passo, você comparará os diferentes níveis de verbosidade usados nos passos anteriores: sem saída verbose, -v (verbose) e -V (mostrar tentativas). Compreender as diferenças entre esses níveis permite escolher o nível de detalhe mais apropriado para suas necessidades específicas ao usar o Hydra.

Vamos resumir as características de cada nível de verbosidade:

  • Sem Saída Verbose: Este é o comportamento padrão. O Hydra exibirá apenas informações básicas sobre o ataque, detalhes de configuração e os resultados finais. Fornece a menor quantidade de informações e é adequado para executar ataques em segundo plano ou quando você se importa apenas com logins bem-sucedidos e resultados gerais.

  • -v (Verbose): Esta opção fornece informações técnicas detalhadas sobre o processo de conexão, incluindo resolução de DNS, tentativas de conexão de processos individuais, mecanismos de retentativas e mensagens de erro detalhadas. É particularmente útil para solucionar problemas de conexão e entender por que um ataque pode estar falhando no nível de rede.

  • -V (Mostrar Tentativas): Esta opção exibe cada tentativa de login em um formato estruturado, mostrando as combinações específicas de nome de usuário e senha que estão sendo testadas, contadores de tentativas e informações sobre o processo filho. Fornece excelente visibilidade do progresso do ataque sem sobrecarregar detalhes técnicos sobre conexões de rede.

Para ilustrar melhor as diferenças, vamos considerar o que você vê quando o Hydra tenta atacar um servidor FTP:

  • Sem Saída Verbose: Você vê apenas a configuração básica e os resultados finais:

    [DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task
    [DATA] attacking ftp://127.0.0.1:21/
    1 of 1 target completed, 0 valid password found
    
  • -v (Verbose): Você vê informações detalhadas sobre a conexão e o tratamento de erros:

    [VERBOSE] Resolving addresses ... [VERBOSE] resolving done
    Process 1216: Can not connect [unreachable], retrying (1 of 1 retries)
    [ERROR] Child with pid 1220 terminating, can not connect
    [VERBOSE] Disabled child 7 because of too many errors
    
  • -V (Mostrar Tentativas): Você vê cada tentativa específica de login com credenciais:

    [ATTEMPT] target 127.0.0.1 - login "user1" - pass "password123" - 1 of 9 [child 0] (0/0)
    [ATTEMPT] target 127.0.0.1 - login "user2" - pass "password" - 5 of 9 [child 4] (0/0)
    [REDO-ATTEMPT] target 127.0.0.1 - login "user1" - pass "password123" - 10 of 18 [child 0] (1/9)
    

Escolhendo o Nível de Verbosidade Correto:

A escolha do nível de verbosidade depende de suas necessidades e preferências específicas.

  • Se você deseja executar o ataque em segundo plano e se importa apenas com logins bem-sucedidos e resultados básicos, use a saída sem verbosidade.
  • Se você precisa de informações técnicas detalhadas para solucionar problemas de conexão, problemas de rede ou entender por que um ataque está falhando no nível do protocolo, use a opção -v.
  • Se você deseja monitorar as combinações específicas de nome de usuário e senha que estão sendo testadas e acompanhar o progresso do ataque por meio de suas listas de palavras, use a opção -V.

Em resumo, experimentando diferentes níveis de verbosidade, você pode obter uma melhor compreensão de como o Hydra funciona e escolher o nível de detalhe mais apropriado para suas necessidades específicas. A opção -V é particularmente útil para monitorar o progresso do ataque, enquanto -v é melhor para depurar problemas de conexão.

Resumo

Neste laboratório, você explorou os modos verbose do Hydra realizando um ataque de login FTP. Iniciou executando um ataque básico contra um servidor FTP fictício (127.0.0.1) sem saída verbose, utilizando listas de nomes de usuário e senhas criadas no diretório ~/project. Isso demonstrou o comportamento padrão do Hydra, onde informações detalhadas sobre as tentativas de login são suprimidas.

O laboratório então guiou você a usar as opções -v e -V para aumentar a verbosidade da saída do Hydra, permitindo que você observe mais detalhes sobre cada tentativa de login. Ao comparar a saída do ataque com diferentes níveis de verbosidade, você obteve uma melhor compreensão de como usar as opções de verbosidade do Hydra para monitorar e solucionar problemas em ataques.