Preparar Arquivos para Ataques Hydra

HydraBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como preparar arquivos essenciais para ataques de força bruta (brute-force) com Hydra, criando e modificando listas de nomes de usuário e senhas. Você gerará arquivos de texto contendo credenciais comuns e os personalizará com variações adicionais para aprimorar a eficácia dos testes.

O exercício cobre a criação dos arquivos usernames.txt e passwords.txt, expandindo-os com mais entradas e verificando a capacidade do Hydra de carregar esses arquivos corretamente. Essas listas preparadas servirão como base para tentativas subsequentes de quebra de autenticação.

Criar um Arquivo de Lista de Nomes de Usuário

Nesta etapa, você criará um arquivo de texto contendo uma lista de nomes de usuário comuns que podem ser usados para testar sistemas de autenticação. Essa lista de nomes de usuário é essencial para ataques com Hydra, pois fornece à ferramenta nomes de contas em potencial para tentar durante ataques de força bruta (brute-force) ou dicionário.

  1. Primeiro, certifique-se de estar no diretório de trabalho correto. O comando cd altera seu diretório atual, e estamos usando ~/project como nosso diretório de trabalho para este laboratório:
cd ~/project
  1. Crie um novo arquivo de texto chamado usernames.txt usando o nano, que é um editor de texto de linha de comando simples. O comando abaixo criará um novo arquivo ou abrirá um existente:
nano usernames.txt
  1. Agora você adicionará nomes de usuário comuns que são frequentemente usados como credenciais padrão em vários sistemas. Digite ou cole esses nomes de usuário, cada um em sua própria linha:
admin
root
user
test
guest
administrator
  1. Para salvar suas alterações no nano:

    • Pressione Ctrl+O (Write Out) para salvar
    • Pressione Enter para confirmar o nome do arquivo (usernames.txt)
    • Pressione Ctrl+X para sair do editor
  2. Verifique se o arquivo foi criado corretamente exibindo seu conteúdo com o comando cat. Isso mostra exatamente o que está armazenado no arquivo:

cat usernames.txt

Você deve ver a lista de nomes de usuário que você inseriu, cada um em uma linha separada. Este arquivo servirá como entrada para o Hydra nas etapas subsequentes, onde a ferramenta tentará sistematicamente cada nome de usuário (combinado com senhas de outro arquivo) para testar sistemas de autenticação.

Criar um Arquivo de Lista de Senhas

Nesta etapa, você criará um arquivo de texto contendo senhas comuns que serão usadas em conjunto com a lista de nomes de usuário da Etapa 1 para testar sistemas de autenticação com Hydra. Listas de senhas são essenciais para ataques de força bruta (brute-force), pois contêm credenciais comumente usadas às quais os sistemas podem ser vulneráveis.

  1. Primeiro, certifique-se de estar no diretório de trabalho correto (se ainda não estiver lá). O diretório ~/project é onde armazenaremos todos os nossos arquivos de ataque para mantê-los organizados:
cd ~/project
  1. Crie um novo arquivo de texto chamado passwords.txt usando o nano. Nano é um editor de texto simples que vem pré-instalado na maioria das distribuições Linux, perfeito para iniciantes:
nano passwords.txt
  1. Adicione as seguintes senhas comuns ao arquivo (uma por linha). Estas estão entre as senhas fracas mais frequentemente usadas, de acordo com pesquisas de segurança:
password
123456
admin
12345678
qwerty
123456789
  1. Salve o arquivo pressionando:

    • Ctrl+O (Write Out) - Isso salva suas alterações
    • Pressione Enter para confirmar o nome do arquivo
    • Ctrl+X para sair do nano e retornar ao terminal
  2. Verifique se o arquivo foi criado corretamente exibindo seu conteúdo. O comando cat é uma maneira rápida de verificar o conteúdo do arquivo sem abrir um editor:

cat passwords.txt

Você deve ver a lista de senhas que você inseriu, cada uma em uma linha separada. Esta lista de senhas será combinada com a lista de nomes de usuário da Etapa 1 ao executar o Hydra em etapas posteriores. Ter ambos os arquivos formatados corretamente garante que o Hydra possa testar sistematicamente todas as combinações possíveis de nome de usuário e senha durante o ataque.

Editar Listas com Credenciais Comuns

Nesta etapa, você aprimorará as listas de nomes de usuário e senhas criadas nas etapas anteriores, adicionando mais credenciais comuns que são frequentemente usadas em sistemas de autenticação. Essas adições são importantes porque os sistemas do mundo real geralmente têm credenciais padrão ou comumente usadas que podem ser vulneráveis a ataques de força bruta (brute-force).

  1. Primeiro, certifique-se de estar no diretório de trabalho correto onde seus arquivos de credenciais estão armazenados. Isso garante que todas as suas edições sejam feitas no local certo:
cd ~/project
  1. Abra a lista de nomes de usuário para edição usando o editor de texto nano. Nano é um editor de linha de comando simples, perfeito para iniciantes:
nano usernames.txt
  1. Adicione estes nomes de usuário comuns adicionais à lista existente. Estas são contas padrão típicas que muitos sistemas usam, tornando-as boas candidatas para testes:
sysadmin
webmaster
support
backup
oracle
mysql
  1. Salve o arquivo pressionando Ctrl+O (write out), depois Enter para confirmar e, finalmente, Ctrl+X para sair do nano. Esses atalhos de teclado são essenciais para trabalhar com editores de linha de comando.

  2. Agora abra a lista de senhas para edição usando o mesmo processo:

nano passwords.txt
  1. Adicione estas senhas comuns adicionais à lista existente. Estas são senhas fracas que os usuários frequentemente escolhem, o que as torna importantes para incluir em seus testes:
letmein
welcome
password1
123123
12345
111111
  1. Salve o arquivo de senhas usando o mesmo método: Ctrl+O, Enter e, em seguida, Ctrl+X.

  2. Verifique se ambos os arquivos contêm as credenciais atualizadas exibindo seus conteúdos. A parte && echo "---" adiciona um separador visual entre os dois arquivos quando exibidos:

cat usernames.txt && echo "---" && cat passwords.txt

Você deve ver que ambas as listas agora contêm conjuntos de credenciais mais abrangentes. Essas listas aprimoradas fornecerão uma melhor cobertura ao testar sistemas de autenticação com Hydra, pois incluem contas de sistema padrão e senhas fracas comumente usadas que são frequentemente encontradas em cenários do mundo real.

Salvar Listas em Diretório Acessível

Nesta etapa, você aprenderá a organizar corretamente suas listas de credenciais para ataques Hydra, criando um diretório dedicado e definindo as permissões de arquivo corretas. Isso é importante porque o Hydra precisa ser capaz de acessar esses arquivos durante as tentativas de quebra de senha.

  1. Primeiro, navegue até o seu diretório de projeto, se ainda não estiver lá. Isso garante que todos os seus arquivos permaneçam organizados em um só lugar:
cd ~/project
  1. Crie um novo diretório chamado hydra_lists especificamente para armazenar seus arquivos de credenciais. O uso de diretórios separados ajuda a manter seu espaço de trabalho limpo e facilita a localização de arquivos:
mkdir hydra_lists
  1. Mova seus arquivos de nome de usuário e senha para este novo diretório. O comando mv irá realocar fisicamente os arquivos de sua localização atual para o novo diretório:
mv usernames.txt passwords.txt hydra_lists/
  1. Verifique se os arquivos foram movidos com sucesso listando o conteúdo do diretório. A flag -l mostra informações detalhadas, incluindo permissões de arquivo:
ls -l hydra_lists/

Você deve ver usernames.txt e passwords.txt listados com suas permissões.

  1. Defina as permissões apropriadas para garantir que o Hydra possa ler esses arquivos. A permissão 644 significa que o proprietário pode ler/escrever, enquanto outros só podem ler:
chmod 644 hydra_lists/*
  1. Confirme se as permissões estão corretas verificando o diretório novamente. A string de permissão -rw-r--r-- indica que os arquivos estão configurados corretamente:
ls -l hydra_lists/

A saída deve mostrar -rw-r--r-- para ambos os arquivos, o que significa que eles são legíveis por todos os usuários, mas somente graváveis pelo proprietário - a configuração de permissão ideal para arquivos de credenciais usados em ataques Hydra.

Verificar se os Arquivos Carregam no Hydra

Nesta etapa final, você verificará se o Hydra pode ler e processar corretamente os arquivos de credenciais que você criou nas etapas anteriores. Esta é uma verificação importante antes de lançar ataques reais, pois garante que suas listas de nomes de usuário e senhas estejam formatadas corretamente e acessíveis ao Hydra.

  1. Primeiro, certifique-se de estar no diretório de trabalho correto onde seus arquivos de credenciais estão armazenados. Isso é crucial porque o Hydra precisa saber onde encontrar suas listas de nomes de usuário e senhas:
cd ~/project
  1. Agora, executaremos o Hydra em modo de teste usando a flag -V para saída verbose. Este comando diz ao Hydra para:
    • Usar a lista de nomes de usuário (-L hydra_lists/usernames.txt)
    • Usar a lista de senhas (-P hydra_lists/passwords.txt)
    • Testar contra o serviço SSH do localhost
    • Usar apenas 1 thread (-t 1) para fins de teste
hydra -L hydra_lists/usernames.txt -P hydra_lists/passwords.txt -V -t 1 localhost ssh
  1. Quando o comando for executado com sucesso, você deverá ver uma saída semelhante a esta. A informação chave aqui é a contagem de "login tries" (tentativas de login), que confirma que o Hydra leu ambos os arquivos:
Hydra v9.2 (c) 2022 by van Hauser/THC & David Maciejak
[DATA] max 1 task per 1 server, overall 1 task, 42 login tries (l:6/p:7), ~42 tries per task
[DATA] attacking ssh://localhost:22/
[VERBOSE] Resolving addresses ... done
  1. Após verificar a saída, pressione Ctrl+C para interromper o teste. Não há necessidade de deixá-lo completar, pois estamos apenas testando o carregamento de arquivos.

  2. Para confirmar que ambos os arquivos foram lidos corretamente, verifique o número de tentativas de login exibidas na saída. Este número deve ser igual ao número de nomes de usuário multiplicado pelo número de senhas em suas listas. Por exemplo, se você tiver 6 nomes de usuário e 7 senhas, deverá ver 42 tentativas de login (6×7=42). Essa multiplicação confirma que o Hydra está combinando corretamente todos os pares de credenciais possíveis de seus arquivos.

Resumo

Neste laboratório, você aprendeu a preparar listas de nomes de usuário e senhas para ataques Hydra, criando e gerenciando arquivos de texto no Linux. Os exercícios cobriram a criação de usernames.txt e passwords.txt usando o nano, preenchendo-os com credenciais comuns e verificando o conteúdo com comandos cat.

Você também praticou operações essenciais de arquivos Linux, incluindo navegação em diretórios, edição de texto e validação de arquivos. Essas habilidades formam a base para configurar ataques de força bruta eficazes, pois listas de credenciais formatadas corretamente são cruciais para as capacidades de teste de segurança do Hydra.