Ignorar Ficheiros de Restauração do Hydra

HydraBeginner
Pratique Agora

Introdução

Neste laboratório, aprenderá como o Hydra lida com ataques interrompidos e como retomá-los eficazmente. Vamos simular um ataque interrompido do Hydra contra o serviço SSH no localhost criando listas simples de nomes de utilizadores e palavras-passe, lançando um ataque e, em seguida, interrompendo-o manualmente usando Ctrl+C.

Este laboratório irá guiá-lo através da reinicialização do ataque com a opção -R e observando como o Hydra lida com os ficheiros de restauração, seguido do uso da opção -I em conjunto com -R para ignorar os ficheiros de restauração e garantir um novo início. Aprenderá a diferença entre ataques concluídos e ataques interrompidos em termos da criação de ficheiros de restauração.

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 iniciante com uma taxa de conclusão de 94%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Criar Ficheiros de Teste e Executar o Ataque Inicial

Neste passo, criará os ficheiros de teste necessários e executará um ataque inicial do Hydra para compreender o comportamento básico. Isto ajudará a compreender como o Hydra funciona quando os ataques completam normalmente versus quando são interrompidos.

Primeiro, navegue para o seu diretório de projeto:

cd ~/project

Agora, vamos criar uma lista simples de palavras-passe. Utilize nano para criar um ficheiro chamado passwords.txt no seu diretório atual:

nano passwords.txt

Adicione algumas palavras-passe comuns ao ficheiro, uma palavra-passe por linha. Por exemplo:

password
123456
qwerty

Grave o ficheiro pressionando Ctrl+X, depois Y para confirmar a gravação e Enter para confirmar o nome do ficheiro.

Em seguida, vamos criar um ficheiro simples de nomes de utilizador. Utilize nano para criar um ficheiro chamado users.txt no mesmo diretório:

nano users.txt

Adicione um único nome de utilizador ao ficheiro:

root

Grave o ficheiro e saia do nano usando os mesmos passos anteriores.

Agora, vamos executar um ataque completo do Hydra para ver o comportamento normal:

hydra -V -L users.txt -P passwords.txt localhost ssh

Vamos decompor este comando:

  • -V: Habilita o modo detalhado para mostrar tentativas de ataque detalhadas
  • -L users.txt: Indica ao Hydra para usar o ficheiro users.txt para os nomes de utilizador.
  • -P passwords.txt: Indica ao Hydra para usar o ficheiro passwords.txt para as palavras-passe.
  • localhost: Especifica o host alvo como localhost.
  • ssh: Especifica o serviço a atacar como SSH.

Deverá ver uma saída 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:56:06
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 3 tasks per 1 server, overall 3 tasks, 3 login tries (l:1/p:3), ~1 try per task
[DATA] attacking ssh://localhost:22/
[ATTEMPT] target 127.0.0.1 - login "root" - pass "password" - 1 of 3 [child 0] (0/0)
[ATTEMPT] target 127.0.0.1 - login "root" - pass "123456" - 2 of 3 [child 0] (0/0)
[ATTEMPT] target 127.0.0.1 - login "root" - pass "qwerty" - 3 of 3 [child 0] (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:56:09

Note que, quando o ataque termina normalmente, o Hydra não cria um ficheiro de restauração. Os ficheiros de restauração são criados apenas quando os ataques são interrompidos.

Simular um Ataque Interrompido

Neste passo, irá simular um ataque interrompido do Hydra para criar um ficheiro de restauração. Isto é necessário porque o Hydra apenas cria ficheiros de restauração quando os ataques são interrompidos, não quando completam normalmente.

Para criar um ataque de execução mais longa que possa interromper, vamos expandir a sua lista de palavras-passe. Abra novamente o ficheiro passwords.txt:

nano passwords.txt

Adicione mais palavras-passe para tornar o ataque mais demorado:

password
123456
qwerty
admin
root
test
guest
user
login
pass
secret

Grave o ficheiro e saia do nano.

Agora, lance o ataque Hydra com um tempo de execução mais lento para facilitar a interrupção:

hydra -V -L users.txt -P passwords.txt -t 1 -W 2 localhost ssh

As opções adicionais são:

  • -V: Habilita o modo detalhado para mostrar tentativas de ataque detalhadas
  • -t 1: Utilize apenas 1 tarefa (execução mais lenta)
  • -W 2: Aguarde 2 segundos entre as tentativas de ligação

IMPORTANTE: Enquanto o ataque estiver a decorrer (deverá ver o Hydra a tentar diferentes combinações de nome de utilizador/palavra-passe), pressione Ctrl+C para o interromper após algumas tentativas.

Deverá ver uma saída 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 10:00:00
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 1 task per 1 server, overall 1 tasks, 11 login tries (l:1/p:11), ~11 tries per task
[DATA] attacking ssh://localhost:22/
[ATTEMPT] target 127.0.0.1 - login "root" - pass "password" - 1 of 11 [child 0] (0/0)
[ATTEMPT] target 127.0.0.1 - login "root" - pass "123456" - 2 of 11 [child 0] (0/0)
^C
[ERROR] Received signal 2, going down ...
The session file ./hydra.restore was written, you can resume with: hydra -R

O ^C indica que interrompeu o processo e, o mais importante, deverá ver uma mensagem sobre o ficheiro de restauração ter sido escrito.

Reiniciar com -R e Observar o Comportamento

Neste passo, irá reiniciar o ataque interrompido do Hydra do passo anterior utilizando a opção -R. Esta opção indica ao Hydra para retomar o ataque a partir do ponto em que foi interrompido utilizando o ficheiro de restauração.

Para reiniciar o ataque, execute o seguinte comando no seu terminal:

hydra -R

Este comando utiliza apenas a opção -R:

  • -R: Indica ao Hydra para retomar uma sessão previamente interrompida ou falhada utilizando o ficheiro de restauração.

Observe a saída. Deverá ver que o Hydra lê o ficheiro de restauração e continua a partir do ponto em que parou:

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

[INFORMATION] reading restore file ./hydra.restore
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-05-30 10:05:00
[DATA] max 1 task per 1 server, overall 1 tasks, 9 login tries (l:1/p:9), ~9 tries per task
[DATA] attacking ssh://localhost:22/
[ATTEMPT] target 127.0.0.1 - login "root" - pass "qwerty" - 3 of 11 [child 0] (0/0)
[ATTEMPT] target 127.0.0.1 - login "root" - pass "admin" - 4 of 11 [child 0] (0/0)
...

Note que o Hydra retoma a partir do ponto em que foi interrompido (neste exemplo, começando com "qwerty" como a 3ª tentativa) em vez de começar do início.

Utilizar -I para Ignorar Ficheiros de Restauração

Neste passo, irá utilizar a opção -I para ignorar ficheiros de restauração existentes e iniciar um novo ataque. Isto é útil quando pretende reiniciar um ataque do início, independentemente de quaisquer dados de sessão anteriores.

Primeiro, vamos tentar usar -R quando nenhum ficheiro de restauração existe para ver o erro:

rm -f hydra.restore
hydra -V -R -L users.txt -P passwords.txt localhost ssh

Deverá ver uma mensagem de erro:

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

[INFORMATION] reading restore file ./hydra.restore
[ERROR] restore file (./hydra.restore) not found - No such file or directory

Agora, vamos criar novamente um ficheiro de restauração, interrompendo um ataque:

hydra -V -L users.txt -P passwords.txt -t 1 -W 2 localhost ssh

Interrompa com Ctrl+C após algumas tentativas para criar o ficheiro de restauração.

Agora, execute o seguinte comando para ignorar o ficheiro de restauração:

hydra -V -I -L users.txt -P passwords.txt localhost ssh

Este comando inclui a opção -I:

  • -I: Indica ao Hydra para ignorar um ficheiro de restauração existente e não criar um novo.

Observe a saída. Deverá ver que o Hydra inicia do início, ignorando qualquer ficheiro de restauração existente:

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 10:10:00
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 3 tasks per 1 server, overall 3 tasks, 11 login tries (l:1/p:11), ~4 tries per task
[DATA] attacking ssh://localhost:22/
[ATTEMPT] target 127.0.0.1 - login "root" - pass "password" - 1 of 11 [child 0] (0/0)
[ATTEMPT] target 127.0.0.1 - login "root" - pass "123456" - 2 of 11 [child 0] (0/0)
...

Note que o ataque inicia a partir da primeira palavra-passe ("password"), independentemente do ficheiro de restauração existente.

Combinar as Opções -I e -R

Neste passo, irá compreender o que acontece quando combina as opções -I e -R. Esta combinação demonstra como o Hydra lida com instruções conflitantes.

Execute o seguinte comando:

hydra -V -I -R -L users.txt -P passwords.txt localhost ssh

Este comando inclui ambas as opções:

  • -V: Habilita o modo detalhado para mostrar tentativas de ataque detalhadas
  • -I: Ignorar ficheiros de restauração existentes
  • -R: Retomar a partir do ficheiro de restauração

Deverá ver uma mensagem de erro 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).

[INFORMATION] reading restore file ./hydra.restore
[ERROR] restore file (./hydra.restore) not found - No such file or directory

Isto acontece porque:

  1. A opção -R indica ao Hydra para procurar um ficheiro de restauração.
  2. A opção -I indica ao Hydra para ignorar ficheiros de restauração.
  3. Quando ambas são usadas em conjunto, o Hydra ainda tenta ler o ficheiro de restauração devido a -R, mas se o ficheiro não existir ou for ignorado devido a -I, resulta num erro.

Isto demonstra que as opções -I e -R são opções conflitantes e não devem ser usadas em conjunto. Em vez disso:

  • Utilize -R sozinho para retomar a partir de um ficheiro de restauração.
  • Utilize -I sozinho para ignorar ficheiros de restauração e iniciar um novo ataque.
  • Não utilize nenhuma para executar um ataque normal.

Resumo

Neste laboratório, aprendeu como o Hydra lida com ataques interrompidos e ficheiros de restauração. Os principais pontos a reter incluem:

  1. Ficheiros de restauração são criados apenas quando os ataques são interrompidos - Ataques normais concluídos não geram ficheiros de restauração.
  2. A opção -R retoma ataques interrompidos - Lê o ficheiro hydra.restore para continuar a partir do ponto em que o ataque foi interrompido.
  3. A opção -I ignora ficheiros de restauração - Força o Hydra a iniciar um novo ataque, ignorando quaisquer dados de sessão existentes.
  4. Combinar -I e -R cria conflitos - Estas opções têm propósitos opostos e não devem ser usadas em conjunto.
  5. A interrupção adequada é fundamental - Para testar a funcionalidade de restauração, é necessário interromper efetivamente um ataque com Ctrl+C, não permitindo que ele termine normalmente.

Este conhecimento é crucial para gerir ataques Hydra de longa duração em cenários reais, onde poderá precisar de pausar e retomar ataques ou garantir novos inícios quando necessário.