Introdução
Neste laboratório, você aprenderá como realizar a enumeração do Server Message Block (SMB) usando o Metasploit Framework. SMB é um protocolo de rede usado para fornecer acesso compartilhado a arquivos, impressoras e portas seriais entre nós em uma rede. Enumerar a versão do SMB é um primeiro passo crucial em testes de penetração, pois ajuda a identificar o software e a versão específicos em execução em um alvo, que podem então ser cruzados com vulnerabilidades conhecidas.
Usaremos um dos módulos de scanner auxiliar do Metasploit, especificamente auxiliary/scanner/smb/smb_version, para escanear um alvo e determinar sua versão do SMB. Metasploit é um poderoso framework de testes de penetração que facilita a localização, exploração e validação de vulnerabilidades.
Ao final deste laboratório, você estará familiarizado com o lançamento do Metasploit, a busca por módulos, a configuração de opções de módulos e a execução de um scanner para coletar informações sobre um sistema alvo.
Procurar o módulo auxiliar smb_version
Nesta etapa, iniciaremos o console do Metasploit Framework e procuraremos o módulo apropriado para realizar a varredura da versão do SMB. O msfconsole é a interface principal para interagir com o Metasploit.
Primeiro, abra um terminal e inicie o console do Metasploit executando o seguinte comando. Pode levar um momento para inicializar.
msfconsole -q
O sinalizador -q torna o banner de inicialização silencioso. Uma vez carregado, você verá o prompt do Metasploit, que se parece com msf6 >.
Agora, vamos encontrar o módulo de varredura da versão do SMB. Podemos usar o comando search para procurar módulos relacionados a smb_version.
search smb_version
Você verá uma lista de módulos correspondentes. O que nos interessa é um scanner auxiliar. A saída deve ser semelhante a esta:
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/scanner/smb/smb_version normal No SMB Version Detection
1 exploit/windows/smb/smb_doublepulsar_eternalblue 2017-04-14 extraordinary Yes SMBv1/SMBv2 DoublePulsar/EternalBlue Unauthenticated RCE
Da saída, podemos ver que auxiliary/scanner/smb/smb_version é o módulo que precisamos.
Selecionar o módulo smb_version
Nesta etapa, você selecionará o módulo que encontramos na etapa anterior. Após identificar o módulo correto, você precisa carregá-lo no contexto do framework usando o comando use.
No seu prompt msfconsole, digite o seguinte comando para selecionar o scanner smb_version:
use auxiliary/scanner/smb/smb_version
Você notará que seu prompt muda para refletir o módulo atualmente carregado:
msf6 auxiliary(scanner/smb/smb_version) >
Isso indica que o módulo está agora ativo. Para ver quais opções podemos configurar para este módulo, use o comando show options:
show options
Isso exibirá uma tabela de parâmetros que você pode definir para o módulo.
Module options (auxiliary/scanner/smb/smb_version):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
THREADS 1 yes The number of concurrent threads (max one per host)
Preste muita atenção às opções RHOSTS e THREADS, pois as configuraremos nas próximas etapas. A coluna Required mostra que RHOSTS deve ser definido antes que possamos executar o scanner.
Definir a opção RHOSTS para o intervalo de IPs do alvo
Nesta etapa, configuraremos o alvo para nossa varredura. A opção RHOSTS (Remote Hosts) informa ao Metasploit qual(is) máquina(s) escanear. Para este laboratório, instalamos um servidor Samba na máquina local para servir como nosso alvo. Portanto, definiremos RHOSTS para o endereço IP de loopback, 127.0.0.1.
Use o comando set para atribuir um valor a RHOSTS:
set RHOSTS 127.0.0.1
O Metasploit confirmará a alteração:
RHOSTS => 127.0.0.1
Você pode verificar se a opção foi definida corretamente executando show options novamente. Você verá que 127.0.0.1 agora está listado como o Current Setting para RHOSTS. Este é um passo obrigatório, pois o scanner precisa saber seu alvo.
Definir a opção THREADS para uma varredura mais rápida
Nesta etapa, ajustaremos a opção THREADS. Esta opção controla quantos threads de varredura concorrentes o Metasploit usará. Aumentar o número de threads pode acelerar significativamente a varredura quando você está visando um grande número de hosts.
Embora a varredura de um único host (127.0.0.1) não veja um benefício de desempenho com múltiplos threads, é uma boa prática aprender como configurar esta opção. Vamos definir o número de threads para 50.
Use o comando set novamente para alterar o valor de THREADS:
set THREADS 50
O Metasploit confirmará a configuração:
THREADS => 50
Agora o scanner está configurado para usar até 50 threads, o que seria muito eficaz para escanear um intervalo de rede como 192.168.1.0/24.
Executar o scanner e analisar a saída
Nesta etapa, com todas as opções configuradas, estamos prontos para executar o scanner. O comando run (ou seu alias, exploit) iniciará o módulo contra o alvo especificado.
No seu prompt do msfconsole, execute o scanner:
run
O módulo tentará agora conectar-se à porta 445 em 127.0.0.1 e determinar a versão do SMB. A saída será semelhante à seguinte:
[*] 127.0.0.1:445 - Sending SMBv1 request
[+] 127.0.0.1:445 - Host is running Samba 4.15.13-Ubuntu (Samba 4.15.13-Ubuntu)
[*] 127.0.0.1:445 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
Vamos analisar a saída:
- O símbolo
[+]indica um resultado bem-sucedido. - A linha
Host is running Samba 4.15.13-Ubuntunos informa a versão exata do software do servidor SMB. Esta informação é extremamente valiosa para um testador de penetração, que agora pode procurar por vulnerabilidades específicas para esta versão. - As linhas finais confirmam que a varredura foi concluída.
Você enumerou com sucesso a versão do SMB no alvo. Para sair do console do Metasploit, basta digitar exit.
exit
Resumo
Neste laboratório, você utilizou com sucesso um scanner auxiliar do Metasploit para realizar a enumeração SMB. Você aprendeu o fluxo de trabalho fundamental para usar módulos dentro do Metasploit Framework.
Você praticou as seguintes habilidades-chave:
- Iniciar o console do Metasploit (
msfconsole). - Pesquisar módulos com o comando
search. - Selecionar e carregar um módulo com o comando
use. - Visualizar e configurar opções de módulo como
RHOSTSeTHREADScomshow optionseset. - Executar um módulo com o comando
run. - Analisar a saída para coletar informações críticas sobre um alvo.
Este processo de coleta de informações é um elemento fundamental de qualquer avaliação de segurança ou teste de penetração. Parabéns por completar o laboratório!


