Use um Scanner Auxiliar para Enumeração de FTP no Metasploit

Kali LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá os conceitos básicos de uso do Metasploit Framework para coleta de informações. Especificamente, você se concentrará na enumeração de FTP (File Transfer Protocol) usando um módulo auxiliar de scanner.

Metasploit é um poderoso framework de testes de penetração que simplifica o hacking. Ele contém uma vasta coleção de ferramentas, exploits e módulos. Módulos auxiliares são um componente chave, usados para tarefas como escaneamento, fuzzing e reconhecimento, que não envolvem exploração direta.

A enumeração de FTP é o processo de coleta de informações sobre um serviço FTP, como sua versão, configuração e se ele permite acesso anônimo. Essas informações são cruciais para identificar vulnerabilidades potenciais. Usaremos o módulo auxiliar ftp_version para escanear um alvo e identificar o software do servidor FTP em execução.

Ao final deste laboratório, você estará familiarizado com o fluxo de trabalho básico para encontrar, configurar e executar um módulo Metasploit.

Procurar o módulo auxiliar ftp_version

Nesta etapa, você iniciará o console do Metasploit Framework e procurará um módulo adequado para a varredura da versão de FTP. O console do Metasploit é a interface principal para interagir com o framework.

Primeiro, abra um terminal e inicie o console do Metasploit. Usamos o sinalizador -q para um início "silencioso" (quiet), que suprime o banner para uma interface mais limpa.

msfconsole -q

Uma vez dentro do prompt do msfconsole, você pode usar o comando search para encontrar módulos. Estamos procurando um módulo que possa identificar a versão de um servidor FTP. Uma boa palavra-chave para procurar é ftp_version.

Digite o seguinte comando no prompt do msfconsole:

search ftp_version

Você verá uma lista de módulos correspondentes. O que nos interessa é um scanner auxiliar.

msf6 > search ftp_version

Matching Modules
================

   ##  Name                                 Disclosure Date  Rank    Check  Description
   -  ----                                 ---------------  ----    -----  -----------
   0  auxiliary/scanner/ftp/ftp_version                     normal  No     FTP Version Scanner
   1  exploit/windows/ftp/ftpshell_version_bof  2010-05-12       good    No     FTPShell 6.70 (Windows 7) Version Stack Buffer Overflow

A saída mostra o módulo auxiliary/scanner/ftp/ftp_version, que é exatamente o que precisamos para nossa tarefa.

Selecionar o módulo ftp_version

Nesta etapa, você selecionará o módulo que encontrou na etapa anterior. Após identificar um módulo adequado com o comando search, você precisa carregá-lo no contexto do framework para configurá-lo e executá-lo.

O comando para selecionar um módulo é use, seguido pelo nome completo do módulo dos resultados da pesquisa.

Com base na saída da etapa anterior, use o seguinte comando para selecionar o scanner de versão de FTP:

use auxiliary/scanner/ftp/ftp_version

Após executar este comando, você notará que o prompt do msfconsole muda. Ele agora inclui o nome do módulo selecionado, indicando que você está trabalhando dentro do seu contexto.

msf6 > use auxiliary/scanner/ftp/ftp_version
msf6 auxiliary(scanner/ftp/ftp_version) >

Este novo prompt confirma que o módulo ftp_version está agora ativo e pronto para configuração.

Definir a opção RHOSTS para o IP do alvo

Nesta etapa, você configurará o módulo selecionado. A maioria dos módulos do Metasploit exige que você defina opções específicas antes que possam ser executados. Para módulos de scanner, a opção mais comum é RHOSTS, que significa "Remote Hosts" (Hosts Remotos). Esta opção informa ao módulo qual(is) alvo(s) escanear.

Nosso ambiente de laboratório tem um servidor FTP rodando na mesma máquina (localhost). O endereço IP para localhost é 127.0.0.1.

Para definir uma opção no Metasploit, você usa o comando set, seguido pelo nome da opção e seu valor.

Defina a opção RHOSTS para o nosso endereço IP de alvo:

set RHOSTS 127.0.0.1

O Metasploit confirmará a alteração ecoando a nova configuração de volta para você.

msf6 auxiliary(scanner/ftp/ftp_version) > set RHOSTS 127.0.0.1
RHOSTS => 127.0.0.1

Agora o módulo sabe qual alvo escanear.

Visualizar e entender as opções do módulo com show options

Nesta etapa, você aprenderá como visualizar e verificar a configuração de um módulo. Antes de executar um módulo, é sempre uma boa prática revisar todas as suas opções para garantir que tudo esteja configurado corretamente.

O comando show options exibe todos os parâmetros configuráveis para o módulo atualmente ativo.

Execute o seguinte comando para ver as opções do scanner ftp_version:

show options

Isso exibirá uma tabela com detalhes sobre cada opção.

msf6 auxiliary(scanner/ftp/ftp_version) > show options

Module options (auxiliary/scanner/ftp/ftp_version):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS   127.0.0.1        yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
   RPORT    21               yes       The target port (TCP)
   THREADS  1                yes       The number of concurrent threads (max one per host)

Vamos detalhar as colunas:

  • Name: O nome da opção (por exemplo, RHOSTS).
  • Current Setting: O valor atualmente atribuído à opção. Você pode ver que 127.0.0.1 está definido para RHOSTS.
  • Required: Indica se a opção deve ser definida para que o módulo seja executado (yes ou no).
  • Description: Uma breve explicação sobre o que a opção faz.

Ao revisar esta saída, você pode confirmar que a opção obrigatória RHOSTS está corretamente definida para o nosso alvo. As outras opções obrigatórias, RPORT e THREADS, já possuem valores padrão que são adequados para a nossa varredura.

Executar o módulo com o comando run

Nesta etapa, você executará o módulo para realizar a varredura. Assim que tiver selecionado um módulo e configurado todas as opções necessárias, você estará pronto para iniciá-lo.

O comando para executar um módulo auxiliar é run. (Para módulos de exploit, você pode usar run ou exploit).

Agora, execute o scanner:

run

O módulo se conectará ao servidor FTP alvo na porta especificada e tentará recuperar seu banner de versão. A saída mostrará os resultados da varredura.

msf6 auxiliary(scanner/ftp/ftp_version) > run

[+] 127.0.0.1:21      - FTP Banner: 220 (vsFTPd 3.0.5)
[*] 127.0.0.1:21      - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

A saída [+] 127.0.0.1:21 - FTP Banner: 220 (vsFTPd 3.0.5) é a informação chave. Ela confirma que um servidor FTP está em execução no alvo e nos informa seu software e versão: vsFTPd 3.0.5. Esta é uma enumeração bem-sucedida.

Resumo

Neste laboratório, você realizou com sucesso uma enumeração básica de FTP usando o Metasploit Framework. Você aprendeu o fluxo de trabalho fundamental para usar um módulo auxiliar, que é uma habilidade essencial para qualquer usuário do Metasploit.

Você praticou os seguintes comandos e conceitos chave:

  • Iniciando o console do Metasploit com msfconsole.
  • Encontrando módulos com o comando search.
  • Selecionando um módulo para uso com o comando use.
  • Configurando opções do módulo, como RHOSTS, com o comando set.
  • Verificando a configuração do módulo com show options.
  • Executando o módulo para realizar sua tarefa com o comando run.

Este processo de pesquisar, selecionar, configurar e executar é aplicável a milhares de módulos dentro do Metasploit, tornando-o uma técnica fundamental para testes de penetração e análise de segurança.