Exploração de Falhas em Servidores FTP

FTP (File Transfer Protocol) é um serviço que permite a transferência e upload de arquivos. O seu uso vem sendo descontinuado pelo fato de não oferecer segurança pois as informações são tradas sem encriptação. Nesse artigo pretendo abordar de forma simples e prática a possibilidade de explorar uma dessas falhas de segurança envolvendo o serviço de FTP.

[ Hits: 15.630 ]

Por: Wagner Souza em 09/02/2017 | Blog: https://medium.com/@souzaw


Introdução e Desenvolvimento



Dando início as atividades do ano 2017, vou fazer uma demonstração de como explorar uma falha em um servidor FTP e assim poder obter informações privilegiadas do mesmo.

As ferramentas usadas serão o nmap utilizado para realizar port scan e o telnet. Neste LAB vou utilizar o Kali Linux e uma máquina alvo que é o Metasploitable. Esta última é ideal para criação e teste de intrusão tendo em vista que a mesma vem configurada com vários serviços vulneráveis a ataques.

Primeiro é preciso fazer um levantamento das portas abertas no alvo bem como a versão dos serviços que estão rodando. Aqui vou abordar apenas o ataque ao FTP, porém, é bom ter uma visão geral do procedimento para futuros posts.
Para entender melhor o funcionamento do nmap, recomendo dar uma olhada no guia de referência nmap. O serviço vsftpd 2.3.4 foi encontrado rodando em nosso alvo. Essa versão do serviço de FTP possui um backdoor[1][2]embutido no código.

Podemos confirma se esta versão de fato encontra-se vulnerável através dos Script NSE[3] do nmap.
Foi usado o script ftp-vsttpd-backdoor.nse e confirmado, como está em destaque na imagem, que o serviço apresenta uma brecha de segurança a qual pode ser explorada. Em References, veja mais detalhes sobre essa vulnerabilidade nos dois links disponibilizados. De posse dessas informações, será iniciado um ataque bem simples.
Com o comando telnet, foi fechada uma conexão com o alvo. Em seguida, passei as informações de login user backddored:) e a senha pass invalid - não esqueça de pressionar ENTER após digitar essas informações. Feito isso, será levantada uma porta 6200 pelo backdoor para poder ganhar acesso a máquina. Agora abra um outro terminal e execute o comando:
Nesse novo terminal que foi aberto, novamente usamos o comando telnet e a porta usada pelo backdoor para tomar o controle da máquina. Veja que ao executar o comando id; (o sinal de ; deve ser posto ao final de cada comando) é mostrado que estou como usuário root da máquina. Em seguida, listei os logins e senhas da máquina onde posteriormente o John The Ripper para a quebra de senha.

Bom, esse foi um tutorial bem simples mas acredito que deu para elucidar algumas coisas sobre a utilização do nmap e a descoberta de vulnerabilidades. Espero que tenha sido útil e em breve serão postados novos artigos que tratam do tema de Segurança da Informação.

------------------------- [1] - É um recurso utilizado por diversos malwares para garantir acesso remoto ao sistema ou à rede infectada, explorando falhas críticas não documentadas existentes em programas

[2] - Ver http://www.securityfocus.com/bid/48539/discuss

[3] - Ver https://nmap.org/book/nse.html

   

Páginas do artigo
   1. Introdução e Desenvolvimento
Outros artigos deste autor

Elastic SIEM - Instalação e Configuração do LAB (Parte I)

Resetando senha de usuário root em sistemas Debian e Red Hat

Shell Script nosso de cada dia - Episódio 3

Atualização das provas LPIC-1, 304 e Essentials

Teste de Intrusão com Metasploit

Leitura recomendada

Implementação de WAF mod_security e integração com Graylog utilizando Filebeat e Logstash

Alta Disponibilidade (High Availability) em sistemas GNU/Linux

Adicionando baterias automotivas extras em nobreaks

Gerenciar e configurar inetd e serviços relacionados

Uma introdução ao Linux-PAM

  
Comentários
[1] Comentário enviado por cybercvs em 10/02/2017 - 17:48h

if(simples AND pratico){
cout<<"MUITO BOM, OBRIGADO PELA INFORMAÇÃO!!!"<<endl;
}
return 0;

[2] Comentário enviado por wagnerfs em 14/02/2017 - 04:35h


[1] Comentário enviado por cybercvs em 10/02/2017 - 17:48h

if(simples AND pratico){
cout&lt;&lt;"MUITO BOM, OBRIGADO PELA INFORMAÇÃO!!!"&lt;&lt;endl;
}
return 0;


Obrigado pelo feedback!

[3] Comentário enviado por uesleijf em 07/03/2017 - 17:41h

Muito bom o tópico!
Explicação e exemplos claros.
Teria como fazer um com ssh?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts