Introdução
Bem-vindo ao mundo do Metasploit! O Metasploit Framework é uma ferramenta poderosa usada por profissionais de segurança para testes de penetração (penetration testing) e avaliação de vulnerabilidades. No seu núcleo está o Metasploit Console, ou msfconsole, uma interface de linha de comando interativa que lhe dá acesso à vasta gama de módulos, exploits e payloads do framework.
Neste laboratório, você aprenderá os comandos essenciais para navegar no msfconsole. Dominar estes conceitos básicos é o primeiro passo para usar o Metasploit de forma eficaz. Cobriremos como obter ajuda, gerenciar seus projetos com workspaces, pesquisar módulos, visualizar informações detalhadas sobre eles e sair corretamente do console.
Vamos começar iniciando o console.
Explore Comandos Principais com o Comando help
Nesta etapa, você iniciará o Metasploit Console e usará o comando help para explorar os comandos disponíveis. O comando help é o seu recurso mais valioso quando você não tem certeza sobre o que um comando faz ou quais comandos estão disponíveis.
Primeiro, vamos iniciar o Metasploit Console. Usaremos a flag -q (quiet/silencioso) para pular o banner de inicialização para uma interface mais limpa.
Execute o seguinte comando no seu terminal:
msfconsole -q
Você notará que o seu prompt de comando muda para msf >, indicando que você está agora dentro do Metasploit Console.
Agora, vamos usar o comando help para ver uma lista de todos os comandos disponíveis.
help
Você verá uma longa lista de comandos, categorizados para facilitar a navegação.
Core Commands
=============
Command Description
------- -----------
? Help menu
banner Display an awesome metasploit banner
cd Change the current working directory
color Toggle color output
connect Communicate with a host
...
Module Commands
===============
Command Description
------- -----------
advanced Displays advanced options for a module
back Move back from the current context
info Displays information about a module
...
Você também pode obter ajuda detalhada para um comando específico. Por exemplo, para saber mais sobre o comando search, você pode digitar help search.
help search
Isso exibirá a sintaxe e as opções para o comando search.
Usage: search [options] <keywords>
Search for modules, plugins, and other framework objects.
OPTIONS:
-h, --help Help banner.
-o <file>, --output <file> Send output to a file in csv format.
-S <string>, --search <string> Search string for row filtering.
-t <type>, --type <type> The type of module to search for (exploit, payload, auxiliary, etc)
...
Sinta-se à vontade para explorar outros comandos usando help antes de passar para a próxima etapa.
Visualizar Gerenciamento de Espaços de Trabalho com o Comando workspace
Nesta etapa, você aprenderá sobre workspaces (espaços de trabalho). Workspaces são uma maneira de organizar seu trabalho no Metasploit. Cada workspace é um ambiente autônomo que armazena informações sobre hosts, serviços, vulnerabilidades e loot (coletados) para um engajamento (engagement) específico. Isso é incrivelmente útil para manter diferentes projetos de teste de penetração separados.
Por padrão, você está no workspace default. Você pode visualizar os workspaces atuais e disponíveis usando o comando workspace.
workspace
A saída mostrará os workspaces disponíveis, com um asterisco * indicando aquele em que você está atualmente.
* default
Vamos criar um novo workspace para o nosso projeto. Vamos chamá-lo de myproject. A flag -a é usada para adicionar um novo workspace.
workspace -a myproject
O Metasploit confirmará a criação e o mudará automaticamente para o novo workspace.
[*] Added workspace: myproject
[*] Workspace: myproject
Agora, se você listar os workspaces novamente, verá tanto default quanto myproject, sendo myproject o ativo.
workspace
default
* myproject
Todas as ações subsequentes, como escanear hosts ou coletar dados, serão agora salvas dentro do workspace myproject.
Listar Módulos Disponíveis com o Comando search
Nesta etapa, você aprenderá como encontrar módulos usando o comando search. O Metasploit Framework contém milhares de módulos, que são os componentes centrais que você usará para executar ações. Estes incluem exploits, scanners auxiliares, payloads e muito mais. O comando search é essencial para encontrar a ferramenta certa para o trabalho.
Você pode pesquisar módulos com base em palavras-chave. Por exemplo, vamos pesquisar módulos relacionados a smb (Server Message Block), um protocolo de rede comum.
search smb
A saída será uma longa lista de módulos correspondentes. Os resultados são exibidos em uma tabela com várias colunas:
- #: O número de índice do resultado.
- Name: O caminho completo e o nome do módulo.
- Disclosure Date: A data em que a vulnerabilidade foi divulgada publicamente.
- Rank: A confiabilidade do exploit, de
low(baixa) aexcellent(excelente). - Check: Indica se o módulo possui um método
checkpara testar a vulnerabilidade com segurança. - Description: Um breve resumo do que o módulo faz.
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/admin/smb/impacket/secretsdump 2021-11-09 normal No SMB Secrets Dump
1 auxiliary/admin/smb/psexec_ntdsgrab 2021-11-09 normal No PsExec NTDSGRAB
...
58 exploit/windows/smb/ms17_010_eternalblue 2017-03-14 average Yes MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
...
Você pode refinar sua pesquisa usando palavras-chave como type (tipo), platform (plataforma), name (nome), etc. Por exemplo, para encontrar apenas módulos do tipo exploit para a plataforma windows relacionados a smb, você pode usar o seguinte comando:
search type:exploit platform:windows smb
Isso fornecerá uma lista de resultados muito mais focada, facilitando a localização do exploit específico de que você precisa.
Exibir Informações do Módulo com o Comando info
Nesta etapa, você aprenderá como obter informações detalhadas sobre um módulo específico usando os comandos use e info. Depois de encontrar um módulo promissor com search, você precisa entender o que ele faz, quais opções ele exige e quais alvos ele afeta.
Primeiro, você precisa selecionar um módulo para trabalhar. Isso é feito com o comando use, seguido pelo nome completo do módulo encontrado nos resultados da pesquisa. Vamos selecionar o famoso exploit eternalblue.
use exploit/windows/smb/ms17_010_eternalblue
Observe que o seu prompt muda. Agora ele inclui o nome do módulo ativo, indicando que você está no contexto dele.
msf exploit(windows/smb/ms17_010_eternalblue) >
Agora que um módulo foi selecionado, você pode obter informações detalhadas sobre ele usando o comando info.
info
Este comando exibe uma visão geral abrangente do módulo, incluindo:
- Name (Nome), Module (Módulo), Platform (Plataforma), Arch (Arquitetura)
- Privileged: Se requer permissões especiais.
- License (Licença) e Rank (Classificação)
- Provided by: Os autores do módulo.
- Available targets: Os sistemas operacionais ou aplicações específicos que ele pode alvejar.
- Basic options: Os parâmetros que você precisa configurar, como o endereço IP do alvo (
RHOSTS). - Payload information: Os tipos de payloads que ele pode entregar.
- Description: Uma explicação detalhada da vulnerabilidade.
- References: Links para avisos e artigos (CVE, BID, etc.).
Name: MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
Module: exploit/windows/smb/ms17_010_eternalblue
Platform: Windows
Arch: x86, x64
Privileged: Yes
License: Metasploit Framework License (BSD)
Rank: Average
...
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 445 yes The target port (TCP)
SMBDomain . no (Optional) The Windows domain to use for authentication
...
Revisar essas informações é uma etapa crítica antes de tentar executar qualquer exploit.
Sair do Console com o Comando exit
Nesta etapa final, você aprenderá como sair corretamente do Console Metasploit. Embora você possa fechar a janela do terminal ou usar Ctrl+C, a maneira recomendada de sair do msfconsole é usando o comando exit.
Isso garante que o framework seja encerrado de forma limpa (gracefully), parando quaisquer jobs em execução e salvando o estado atual.
Antes de sair, você pode retornar ao prompt principal do msfconsole a partir do contexto de um módulo usando o comando back.
back
Seu prompt retornará ao padrão msf >.
Agora, para sair completamente do console, basta digitar exit.
exit
Você verá uma mensagem de encerramento e será retornado ao seu prompt de shell do sistema regular.
labex:project$
Isto conclui nosso tour básico pela navegação no Console Metasploit.
Resumo
Parabéns! Você concluiu com sucesso este laboratório sobre os fundamentos de navegação no Console Metasploit.
Neste laboratório, você aprendeu a realizar as operações mais fundamentais dentro do msfconsole:
- Iniciar o console e usar o comando
helppara descobrir e aprender sobre outros comandos. - Organizar seus projetos usando o comando
workspacepara criar e gerenciar ambientes separados. - Encontrar módulos para qualquer tarefa com o poderoso comando
searche seus filtros. - Examinar os detalhes, opções e alvos de um módulo com o comando
info. - Desligar o framework corretamente usando o comando
exit.
Estes comandos são a base sobre a qual todo o seu trabalho futuro no Metasploit será construído. Com este conhecimento, você está agora pronto para explorar tópicos mais avançados, como a configuração e execução de módulos.



