O framwork Metasploit oferece grande flexibilidade na definição de alvos para módulos auxiliares e de exploração. Embora o parâmetro RHOSTS seja frequentemente associado a endereços IP individuais, intervalos ou blocos CIDR, é perfeitamente possível automatizar o processo carregando uma lista de alvos diretamente de um arquivo de texto.
Esta abordagem é particularmente útil durante auditorais de rede em larga escala, onde os ativos identificados em fases anteriores (como reconnaissance ou port scanning) são consolidados em arquivos.
Estrutura do Parâmetro RHOSTS
Ao carregar um módulo, como o scanner para a vlunerabilidade MS17-010 (EternalBlue), a visualização das opções padrão revela o campo obrigatório para os hosts remotos:
msf6 > use auxiliary/scanner/smb/smb_ms17_010
msf6 auxiliary(scanner/smb/smb_ms17_010) > show options
Module options (auxiliary/scanner/smb/smb_ms17_010):
Name Current Setting Required Description
---- --------------- -------- -----------
CHECK_DOPU true yes Check for DOUBLEPULSAR on vulnerable hosts
RHOSTS yes The target address range or CIDR identifier
RPORT 445 yes The SMB service port (TCP)
THREADS 1 yes The number of concurrent threads
Importando a Lista de Alvos
Para instruir o Metasploit a ler um arquivo local, utiliza-se o prefixo file: seguido pelo caminho absoluto do documento. O arquivo deve conter um endereço IP ou um intervalo por linha.
msf6 auxiliary(scanner/smb/smb_ms17_010) > set rhosts file:/opt/recon/lista_de_ips.txt
rhosts => file:/opt/recon/lista_de_ips.txt
Após definir o arquivo de origem, é recomendável ajustar o número de threads para otimizar o desempenho da varredura, especialmente em redes com muitos ativos:
msf6 auxiliary(scanner/smb/smb_ms17_010) > set threads 15
threads => 15
Execução e Registro de Resultados
Em operações de segurança, a rastreabilidade é fundamental. O comando spool permite desviar a saída do console para um arquivo de log, facilitando a análise posterior dos resultados sem depender apenas do buffer do terminal.
msf6 auxiliary(scanner/smb/smb_ms17_010) > spool /tmp/auditoria_ms17_010.log
[*] Spooling to file /tmp/auditoria_ms17_010.log...
msf6 auxiliary(scanner/smb/smb_ms17_010) > run
[-] 192.168.50.10:445 - Host does NOT appear vulnerable.
[-] 192.168.50.12:445 - Host does NOT appear vulnerable.
[+] 192.168.50.25:445 - Host is likely VULNERABLE to MS17-010! (Windows 7 Professional 7601 Service Pack 1)
[*] 192.168.50.30:445 - Scanned 1 of 12 hosts (8% complete)
...
Uma vez finalizado o procedimento, o comando spool off encerra a gravação no arquivo, fechando o descritor de log de forma segura.
msf6 auxiliary(scanner/smb/smb_ms17_010) > spool off
[*] Spooling is now disabled.