Personalizar Números de Porta do Hydra

HydraBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como personalizar o número da porta FTP em um sistema alvo 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 que foram configurados com portas FTP não padrão.

O laboratório envolve a configuração do servidor FTP na 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. Finalmente, você usará o Hydra com a opção -s para especificar a porta personalizada e executar um ataque FTP, validando que o Hydra pode 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 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
add listen_port

Se a linha listen_port não existir, adicione-a ao arquivo. É uma boa prática adicioná-la perto do 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ê deve ver uma saída indicando que o serviço foi reiniciado.

Finalmente, 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 TCP, UDP, em escuta e de processo e, em seguida, filtra a saída para mostrar apenas as linhas contendo "vsftpd". Você deve ver uma linha que indica que vsftpd está escutando na porta 2121 (ou na porta que você escolheu).

Exemplo de saída:

tcp6       0      0 :::2121                 :::*                    LISTEN      1027/vsftpd
check FTP port

Se você vir o novo número da porta na saída, significa que o servidor FTP agora está escutando na nova porta.

Especificar a 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 do padrão 21 para uma porta personalizada (por exemplo, 2121). Agora, ao conectar ao servidor, precisamos informar ao cliente ftp qual porta usar.

O comando ftp fornece a opção -p para especificar o número da porta. No entanto, o Hydra usa a opção -s para especificar a porta. É importante entender essa diferença ao nos prepararmos para o ataque Hydra na próxima etapa.

Vamos tentar conectar ao servidor FTP usando o comando ftp com a opção -p 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 -p 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 usemos 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 Hydra.

Para demonstrar isso, vamos criar um comando Hydra fictício. Não o executaremos, mas ele ilustrará a sintaxe correta.

hydra -l ftpuser -P ~/project/password.txt localhost ftp -s 2121
hydra syntax

O ponto-chave aqui é a parte -s 2121. Isso informa ao Hydra para se conectar ao serviço FTP na porta 2121.

Em resumo, enquanto o comando ftp padrão usa -p para especificar a porta, 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 em execução 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 lançar o ataque 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 da lista de senhas que foi criado durante a configuração.
  • localhost: Especifica o endereço IP de destino. Substitua localhost pelo 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 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, sairá 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 à Porta Correta

Nesta etapa final, validaremos que ainda podemos nos conectar ao servidor FTP na porta personalizada após a tentativa de ataque Hydra. Isso confirma que o serviço FTP está em execução conforme o esperado e que podemos acessá-lo usando a porta especificada.

Use o comando ftp com a opção -p para se 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 -p 2121 localhost

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ê será conectado ao servidor FTP.

ftp login

Se você não conseguir se conectar, verifique o seguinte:

  • Certifique-se de que o serviço FTP ainda está em execução. 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 as conexões com a porta personalizada. (Observação: 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á em execução na porta personalizada e que você pode se conectar a ele usando o comando ftp com a opção -p. Isso também valida que o ataque 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 Hydra básico e validou a conexão com a porta correta.

Resumo

Neste laboratório, configuramos o servidor FTP na VM do LabEx para ouvir em uma porta não padrão, especificamente a porta 2121, em vez da porta padrão 21. Isso envolveu a edição do arquivo /etc/vsftpd.conf usando nano para modificar ou adicionar a diretiva listen_port, seguido pela reinicialização do serviço FTP usando sudo service vsftpd restart.

Finalmente, verificamos que o servidor FTP estava realmente ouvindo na nova porta usando o comando netstat -tulnp | grep vsftpd para verificar as portas de escuta e confirmar que vsftpd estava associado à porta 2121.