Restaurar uma Sessão Hydra Anterior

HydraBeginner
Pratique Agora

Introdução

Neste laboratório, aprenderemos como restaurar uma sessão Hydra anterior após uma interrupção. Isso é alcançado simulando um ataque Hydra interrompido contra o serviço ssh em localhost usando uma lista de senhas simples. Em seguida, usaremos a opção -R para restaurar a sessão e verificar se o ataque é retomado do último ponto.

O laboratório envolve a criação de uma lista de senhas, a construção de um comando Hydra para atacar o serviço ssh, a interrupção do ataque com Ctrl+C e, subsequentemente, a restauração da sessão usando a opção -R. Finalmente, exploraremos como modificar a sessão restaurada com uma nova opção.

Simular um Ataque Hydra Interrompido

Nesta etapa, simularemos um ataque Hydra interrompido. Esta é uma etapa crucial para entender como usar a opção -R para restaurar uma sessão. Iniciaremos um ataque Hydra e, em seguida, o interromperemos manualmente, imitando um cenário do mundo real em que o ataque pode ser interrompido devido a problemas de rede ou outras circunstâncias imprevistas.

Primeiro, vamos visualizar uma lista de senhas simples. Esta lista conterá algumas senhas comuns que o Hydra tentará usar.

cd ~/project
head -n 5 passwords.txt

Adicione as seguintes senhas ao arquivo:

password
123456
qwerty
admin
1234567890

Em seguida, precisamos de um alvo para atacar. Para fins de demonstração, usaremos o serviço ssh em localhost. Certifique-se de que o ssh esteja em execução em sua VM LabEx. Se não estiver em execução, você pode normalmente iniciá-lo com sudo service ssh start. No entanto, como este é um contêiner Docker, você pode não ser capaz de usar systemctl ou service. Nesse caso, você pode pular o ataque real e apenas se concentrar em criar o comando e interrompê-lo. Assumiremos que o ssh está em execução para fins deste exercício.

sudo service ssh start
sudo service ssh status

Agora, vamos construir o comando Hydra. Usaremos o módulo ssh, especificaremos o nome de usuário labex, usaremos nosso arquivo passwords.txt e direcionaremos localhost. Também adicionaremos a opção -t 1 para limitar o número de tarefas simultâneas a 1, tornando mais fácil observar a interrupção.

hydra -l labex -P ~/project/passwords.txt -t 1 -vV ssh://localhost

Este comando iniciará um ataque Hydra contra o serviço ssh em localhost, tentando fazer login como o usuário labex usando as senhas em ~/project/passwords.txt.

Deixe o ataque rodar por alguns segundos (por exemplo, 5-10 segundos). Enquanto estiver em execução, pressione Ctrl+C para interromper o ataque.

Você deve ver uma saída semelhante à seguinte (a saída exata variará dependendo da velocidade do seu sistema e do número de senhas que o Hydra tentou):

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-04-02 13:56:44
[DATA] max 1 task per 1 server, overall 1 task, 55 login tries (l:1/p:55), ~55 tries per task
[DATA] attacking ssh://localhost:22/
[VERBOSE] Resolving addresses ... [VERBOSE] resolving done
[INFO] Testing if password authentication is supported by ssh://labex@127.0.0.1:22
[INFO] Successful, password authentication is supported by ssh://127.0.0.1:22
[ATTEMPT] target localhost - login "labex" - pass "password" - 1 of 55 [child 0] (0/0)
[ATTEMPT] target localhost - login "labex" - pass "123456" - 2 of 55 [child 0] (0/0)
[ATTEMPT] target localhost - login "labex" - pass "qwerty" - 3 of 55 [child 0] (0/0)
^C[ERROR] Received signal 2, going down ...
The session file ./hydra.restore was written. Type "hydra -R" to resume session.
cancel attack

O ^C indica que você pressionou Ctrl+C para interromper o processo. Hydra parará de tentar senhas.

Esta interrupção simula um cenário em que o ataque é interrompido inesperadamente. Na próxima etapa, aprenderemos como usar a opção -R para retomar esta sessão interrompida.

Restaurar Sessão com a Opção -R

Na etapa anterior, simulamos um ataque Hydra interrompido. Agora, usaremos a opção -R para restaurar a sessão de onde parou. Hydra salva automaticamente seu progresso em um arquivo .restore no diretório atual. A opção -R diz ao Hydra para ler este arquivo e continuar o ataque.

Para restaurar a sessão, basta executar o mesmo comando Hydra que antes, mas adicione a opção -R:

hydra -R -l labex -P ~/project/passwords.txt -t 1 -vV ssh://localhost

Hydra agora lerá o arquivo hydra.restore (que é criado automaticamente) e retomará o ataque do último ponto que atingiu antes da interrupção. Você deve ver o Hydra continuando a tentar senhas do arquivo ~/project/passwords.txt.

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
[WARNING] options after -R are now honored (since v8.6)
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-04-02 13:57:58
[DATA] max 1 task per 1 server, overall 1 task, 55 login tries (l:1/p:55), ~55 tries per task
[DATA] attacking ssh://localhost:22/
[VERBOSE] Resolving addresses ... [VERBOSE] resolving done
[INFO] Testing if password authentication is supported by ssh://labex@127.0.0.1:22
[INFO] Successful, password authentication is supported by ssh://127.0.0.1:22
[RE-ATTEMPT] target localhost - login "labex" - pass "qwerty" - 3 of 55 [child 0] (0/0)
[ATTEMPT] target localhost - login "labex" - pass "admin" - 4 of 55 [child 0] (0/0)
[ATTEMPT] target localhost - login "labex" - pass "1234567890" - 5 of 55 [child 0] (0/0)
^C[ERROR] Received signal 2, going down ...
The session file ./hydra.restore was written. Type "hydra -R" to resume session.
restore attack

Deixe o ataque rodar por mais alguns segundos. Você pode ver que o Hydra ignora as senhas que já tentou na etapa anterior.

A opção -R é extremamente útil em situações em que você tem uma lista de senhas grande ou uma conexão de rede lenta. Ele permite que você retome o ataque sem ter que começar do início, economizando tempo e recursos.

É importante notar que o arquivo hydra.restore é atualizado automaticamente à medida que o Hydra progride. Se você interromper o ataque novamente, poderá usar o mesmo comando -R para retomar do novo ponto de interrupção.

Resumo

Neste laboratório, simulamos um ataque Hydra interrompido contra o serviço SSH em localhost para entender como restaurar uma sessão. Criamos uma lista de senhas e iniciamos um ataque Hydra direcionado ao usuário 'labex', em seguida, interrompemos manualmente o processo usando Ctrl+C.

Esta interrupção nos permitiu preparar para as próximas etapas, onde aprenderemos como usar a opção -R para restaurar a sessão interrompida e continuar o ataque de onde parou, bem como como modificar a sessão restaurada com novas opções.