Introdução
Neste laboratório, você aprenderá a personalizar o número da porta FTP em um sistema de destino e, em seguida, usará o Hydra para realizar um ataque de força bruta contra o serviço FTP nessa porta personalizada. Esta é uma habilidade valiosa para testadores de penetração e profissionais de segurança que precisam avaliar a segurança de sistemas configurados com portas FTP não padrão.
O laboratório envolve a configuração do servidor FTP na máquina virtual (VM) do LabEx para escutar em uma porta não padrão, modificando o arquivo vsftpd.conf e reiniciando o serviço FTP. Em seguida, você usará o comando netstat para verificar se o servidor FTP está escutando na nova porta. Por fim, você usará o Hydra com a opção -s para especificar a porta personalizada e executar um ataque FTP, validando que o Hydra consegue se conectar com sucesso ao serviço FTP na porta configurada.
Configurar FTP em uma porta não padrão
Nesta etapa, configuraremos o servidor FTP na VM do LabEx para escutar em uma porta não padrão. Por padrão, o FTP usa a porta 21. Alterar a porta FTP pode ajudar a reduzir o risco de ataques automatizados que visam a porta padrão.
Primeiro, vamos editar o arquivo de configuração do FTP. Usaremos o editor nano, que já vem pré-instalado na VM do LabEx.
sudo nano /etc/vsftpd.conf
Este comando abre o arquivo vsftpd.conf no editor nano.
Adicione a seguinte linha ao arquivo:
listen_port=2121

Se a linha listen_port não existir, adicione-a ao arquivo. É uma boa prática adicioná-la próximo ao topo do arquivo.
Após fazer as alterações, salve o arquivo pressionando Ctrl+X, depois Y para confirmar e, em seguida, Enter para salvar com o mesmo nome de arquivo.
Em seguida, precisamos reiniciar o serviço FTP para que as alterações entrem em vigor.
sudo service vsftpd restart
Este comando reinicia o serviço FTP. Você deverá ver uma saída indicando que o serviço foi reiniciado.
Por fim, vamos verificar se o servidor FTP agora está escutando na nova porta. Podemos usar o comando netstat para verificar as portas em escuta.
sudo netstat -tulnp | grep vsftpd
Este comando mostra todas as informações de TCP, UDP, escuta e processos, e filtra a saída para mostrar apenas as linhas que contêm "vsftpd". Você deverá ver uma linha indicando que o vsftpd está escutando na porta 2121 (ou na porta que você escolheu).
Exemplo de saída:
tcp6 0 0 :::2121 :::* LISTEN 1027/vsftpd

Se você vir o novo número da porta na saída, significa que o servidor FTP agora está escutando na nova porta.
Especificar porta com a opção -s
Nesta etapa, aprenderemos como especificar uma porta não padrão ao usar o comando ftp. Isso é crucial porque, na etapa anterior, alteramos a porta de escuta do servidor FTP da padrão 21 para uma porta personalizada (por exemplo, 2121). Agora, ao conectar ao servidor, precisamos informar ao cliente ftp qual porta usar.
Para o comando ftp, você pode especificar uma porta não padrão fornecendo HOST PORT, como ftp localhost 2121. No entanto, o Hydra usa a opção -s para especificar a porta. É importante entender essa diferença enquanto nos preparamos para o ataque do Hydra na próxima etapa.
Vamos tentar conectar ao servidor FTP usando a forma de host e porta do comando ftp para verificar a conexão. Substitua localhost pelo endereço IP da VM do LabEx. Se você estiver executando este laboratório na mesma VM, pode usar localhost ou 127.0.0.1.
ftp localhost 2121
Você será solicitado a inserir o nome de usuário e a senha. Use Ctrl+C para sair.
Agora, vamos simular como o Hydra especificará a porta. Embora ainda não vamos usar o Hydra, esta etapa é importante para entender a sintaxe. O Hydra usa a opção -s para especificar a porta.
A sintaxe do Hydra para especificar a porta é diferente do comando ftp padrão. O Hydra usa -s seguido pelo número da porta. Por exemplo, se estivéssemos usando o Hydra para atacar o serviço FTP na porta 2121, incluiríamos -s 2121 no comando do Hydra.
Para demonstrar isso, vamos criar um comando fictício do Hydra. Não o executaremos, mas ele ilustrará a sintaxe correta.
hydra -l ftpuser -P ~/project/password.txt localhost ftp -s 2121

O ponto principal aqui é a parte -s 2121. Isso diz ao Hydra para se conectar ao serviço FTP na porta 2121.
Em resumo, o comando ftp padrão pode usar HOST PORT para especificar a porta de destino, enquanto o Hydra usa -s. Entender essa diferença é crucial para a próxima etapa, onde executaremos um ataque FTP usando o Hydra.
Executar ataque FTP em porta personalizada
Nesta etapa, usaremos o Hydra para realizar um ataque de força bruta contra o serviço FTP rodando na porta não padrão que configuramos na primeira etapa. Usaremos a lista de senhas que foi criada durante a fase de configuração.
Agora estamos prontos para iniciar o ataque do Hydra. Substitua localhost pelo endereço IP da VM do LabEx. Se você estiver executando este laboratório na mesma VM, pode usar localhost ou 127.0.0.1.
hydra -l ftpuser -P ~/project/password.txt localhost ftp -s 2121 -vV
Vamos detalhar este comando:
hydra: O comando para executar a ferramenta Hydra.-l ftpuser: Especifica o nome de usuário a ser atacado.-P ~/project/password.txt: Especifica o caminho para o arquivo de lista de senhas que foi criado durante a configuração.localhost: Especifica o endereço IP de destino. Substitualocalhostpelo endereço IP real.ftp: Especifica o serviço a ser atacado (FTP, neste caso).-s 2121: Especifica o número da porta. Isso é crucial porque alteramos a porta FTP para 2121 na primeira etapa.-vV: Habilita o modo detalhado (verbose), que mostra as tentativas de login em tempo real.
Execute o comando. O Hydra começará a tentar diferentes senhas do arquivo ~/project/password.txt contra o serviço FTP na porta especificada.
Se o Hydra encontrar a senha correta, ele exibirá as informações de login bem-sucedido. Por exemplo:
[ATTACKER] attacking ftp://localhost:2121/
[2121][ftp] host: localhost login: ftpuser password: password123
Se o Hydra não encontrar a senha correta, ele tentará todas as senhas da lista e, em seguida, encerrará sem exibir um login bem-sucedido.
Nota importante de segurança: Este laboratório é apenas para fins educacionais. Não use o Hydra para atacar sistemas sem permissão explícita. O acesso não autorizado a sistemas de computador é ilegal e antiético.
Validar conexão com a porta correta
Nesta etapa final, validaremos se ainda podemos nos conectar ao servidor FTP na porta personalizada após a tentativa de ataque do Hydra. Isso confirma que o serviço FTP está rodando conforme o esperado e que podemos acessá-lo usando a porta especificada.
Use o comando ftp com host e porta para conectar ao servidor FTP na porta personalizada. Substitua localhost pelo endereço IP da VM do LabEx. Se você estiver executando este laboratório na mesma VM, pode usar localhost ou 127.0.0.1.
ftp localhost 2121
Você será solicitado a inserir o nome de usuário e a senha. Use as credenciais que criamos na configuração:
- Nome de usuário:
ftpuser - Senha:
password123
Se a conexão for bem-sucedida, você estará logado no servidor FTP.

Se você não conseguir se conectar, verifique o seguinte:
- Certifique-se de que o serviço FTP ainda está rodando. Você pode verificar isso usando o comando
netstat -tulnp | grep vsftpd, como fizemos na primeira etapa. - Verifique se a porta FTP ainda está definida como 2121 (ou a porta que você escolheu) no arquivo
/etc/vsftpd.conf. - Certifique-se de que não há regras de firewall bloqueando conexões para a porta personalizada. (Nota: O ambiente da VM do LabEx normalmente não tem um firewall habilitado por padrão, mas é bom ter isso em mente para cenários do mundo real.)
- Confirme se você está usando o nome de usuário e a senha corretos.
Uma conexão bem-sucedida confirma que o servidor FTP está rodando na porta personalizada e que você pode se conectar a ele com ftp localhost 2121. Isso também valida que o ataque do Hydra, mesmo que malsucedido, não interrompeu o serviço FTP.
Isso conclui o laboratório. Você configurou com sucesso o FTP em uma porta não padrão, aprendeu como especificar a porta usando a opção -s com o Hydra, executou um ataque básico do Hydra e validou a conexão com a porta correta.
Resumo
Neste laboratório, configuramos o servidor FTP na VM do LabEx para escutar em uma porta não padrão, especificamente a porta 2121, em vez da porta padrão 21. Isso envolveu editar o arquivo /etc/vsftpd.conf usando o nano para modificar ou adicionar a diretiva listen_port, seguido pela reinicialização do serviço FTP usando sudo service vsftpd restart.
Por fim, verificamos se o servidor FTP estava realmente escutando na nova porta usando o comando netstat -tulnp | grep vsftpd para verificar as portas em escuta e confirmar que o vsftpd estava associado à porta 2121.


