Configurar FTP com Múltiplas Credenciais
Neste passo, configuraremos um servidor FTP e o configuraremos com múltiplas credenciais de usuário. Isso nos permitirá testar a capacidade do Hydra de quebrar várias contas simultaneamente. Usaremos o vsftpd (Very Secure FTP Daemon) como nosso servidor FTP.
Primeiro, vamos instalar o vsftpd. Abra seu terminal e execute o seguinte comando:
sudo apt update
sudo apt install vsftpd -y
Em seguida, precisamos configurar o vsftpd. Começaremos criando um backup do arquivo de configuração original. Esta é uma boa prática antes de fazer quaisquer alterações nos arquivos de configuração do sistema.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
Agora, vamos editar o arquivo de configuração /etc/vsftpd.conf usando o nano. Este arquivo controla o comportamento do servidor FTP.
sudo nano /etc/vsftpd.conf
Dentro do editor nano, adicione ou modifique as seguintes linhas. Essas configurações desabilitarão o acesso anônimo, habilitarão logins de usuários locais, permitirão acesso de escrita e colocarão os usuários locais em seu diretório home para segurança.
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
listen=YES
listen_ipv6=NO
Para salvar o arquivo no nano:
- Pressione
Ctrl + X para sair.
- Pressione
Y para confirmar a gravação.
- Pressione
Enter para confirmar o nome do arquivo.
Após salvar o arquivo, verifique o arquivo de configuração para garantir que as alterações foram aplicadas corretamente, usando o seguinte comando:
sudo cat /etc/vsftpd.conf | grep -E "^(anonymous_enable|local_enable|write_enable|chroot_local_user|listen)"
Certifique-se de que a saída mostre a mesma configuração que adicionamos.
Agora, vamos criar várias contas de usuário. Criaremos dois usuários: testuser1 e testuser2, e definiremos senhas para eles. Esses usuários serão usados pelo Hydra para tentar fazer login.
Crie testuser1 com um diretório home:
sudo useradd -m testuser1
Defina a senha para testuser1 usando um comando não interativo:
echo 'testuser1:password123' | sudo chpasswd
Crie testuser2 com um diretório home:
sudo useradd -m testuser2
Defina a senha para testuser2 usando um comando não interativo:
echo 'testuser2:password456' | sudo chpasswd
Esses comandos são não interativos e criarão os usuários diretamente sem solicitar entrada, tornando-os mais confiáveis em ambientes automatizados.
Agora, precisamos corrigir as permissões do diretório home para a configuração chroot. Quando chroot_local_user=YES está habilitado, o diretório home do usuário não deve ser gravável pelo usuário por razões de segurança:
sudo chmod 755 /home/testuser1
sudo chmod 755 /home/testuser2
Crie um subdiretório gravável para cada usuário onde eles podem fazer upload de arquivos:
sudo mkdir /home/testuser1/files
sudo mkdir /home/testuser2/files
sudo chown testuser1:testuser1 /home/testuser1/files
sudo chown testuser2:testuser2 /home/testuser2/files
Em seguida, reinicie o serviço vsftpd para aplicar as alterações que fizemos no arquivo de configuração e reconhecer os novos usuários.
sudo service vsftpd restart
Agora, vamos testar o servidor FTP para garantir que ele esteja funcionando corretamente e que nossos novos usuários possam fazer login. Você pode usar o cliente de linha de comando ftp para se conectar ao servidor. Como estamos executando o servidor localmente, podemos nos conectar ao localhost.
ftp localhost
Você será solicitado para um nome de usuário. Digite testuser1 e depois a senha password123. Se tudo estiver configurado corretamente, você verá uma mensagem indicando que você fez login.
Connected to localhost.
220 (vsFTPd 3.0.3)
Name (localhost:labex): testuser1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Você pode digitar bye para sair do cliente FTP.
ftp> bye
221 Goodbye.
Agora, vamos preparar os arquivos que o Hydra usará para seu ataque. Navegue até seu diretório ~/project, que é seu diretório de trabalho padrão.
cd ~/project
Crie um arquivo chamado users.txt no diretório ~/project. Este arquivo conterá os nomes de usuário que o Hydra tentará usar.
nano users.txt
Adicione os seguintes nomes de usuário a users.txt:
testuser1
testuser2
Salve o arquivo e saia do nano.
Em seguida, crie um arquivo chamado passwords.txt no diretório ~/project. Este arquivo conterá uma lista de senhas, incluindo as corretas para nossos usuários de teste, juntamente com algumas senhas incorretas comuns.
nano passwords.txt
Adicione as seguintes senhas a passwords.txt:
password123
password456
password
123456
qwerty
Salve o arquivo e saia do nano.
Agora temos um servidor FTP configurado com várias contas de usuário e uma lista de nomes de usuário e senhas que o Hydra pode usar para tentar quebrar as contas.