Neste artigo vamos falar sobre os próprios fundamentos do Metasploit e os comandos Metasploit usados na interface de linha de comando. No início a linha de comando do console MSF e o número de comandos disponíveis pode parecer muito e difícil de entender e usar, mas não se deixe intimidar por eles. Uma vez que você compreenda o conceito e a estrutura clara, será muito fácil. Se juntarmos tudo isto, a estrutura Metasploit consiste no núcleo e base, um monte de exploits, payloads, módulos (classes Ruby), plugin’s, scripts e múltiplas interfaces de usuário. O Metasploit framework também contém algumas ótimas ferramentas de coleta de informações chamadas módulos auxiliares. Módulos auxiliares podem ser usados para escaneamento de portas, identificação de serviços, sniffing de senhas e enumeração de patches do Windows. Metasploit é altamente personalizável para usuários avançados e pode ser personalizado de acordo com suas necessidades, escrevendo seus próprios exploits, módulos, plugins e scripts. Se o Metasploit não fornece o módulo de coleta de informações que você precisa por padrão, então você mesmo pode simplesmente escrevê-lo.
O msfconsole é a interface de usuário conhecida por ser a mais estável e aquela com a qual estaremos trabalhando ao longo dos tutoriais do Metasploit nos Tutoriais de Hacking. Além da estabilidade, outro benefício do msfconsole é a opção de executar comandos externos como o comando ping e a tab auto completion. Há também uma interface gráfica de usuário disponível para o Metasploit chamada Armitage. Estaremos olhando o Armitage e como usá-lo em vez do msfconsole em um tutorial posterior. Vamos continuar este tutorial de comandos Metasploit com a actualização do Metasploit Framework se necessário e depois mudar para o msfconsole para ver que comandos estão disponíveis para nós.
- Comandos do Msfconsole básico
- Atualizando o Metasploit com msfupdate
- Metasploit msfconsole
- Comandos Metasploit
- Use, back and exit comandos
- Comando help
- Comando info
- Comando de pesquisa
- Searching with exploits with keywords
- Comandos Metasploit para exploits
- Show options
- Show payloads
- Mostrar alvos
- Show advanced
- Show encoders
- Show nops
- Show evasion
- Comandos de exploração para execução de exploit
- Share on:
Comandos do Msfconsole básico
Assumindo que você está na edição rolante do Kali Linux 2016, podemos iniciar o Metasploit framework e o msfconsole clicando no ícone do Metasploit na doca. Isto iniciará o serviço PostgreSQL e o serviço Metasploit automaticamente.
Atualizando o Metasploit com msfupdate
Inicie com a atualização do Metasploit usando o seguinte comando em uma sessão terminal (não no msfconsole):
msfupdate
Este comando deve atualizar o Metasploit framework para a versão mais recente. As atualizações dizem que devemos estar esperando atualizações semanais(ish). Cuidado: A execução da msfupdate pode quebrar a sua instalação do Metasploit. Após executar este comando para este tutorial nós encontramos erros como:
Este erro teve algo a ver com o PostgreSQL e para corrigir este problema primeiro tente executar os seguintes comandos:
apt-get update
apt-get upgrade
apt-get dist-upgrade
Esta solução para o problema do nosso lado, provavelmente teve algo a ver com uma versão desatualizada de um pacote. Sua instalação do Metasploit está quebrada depois de executar uma atualização e você precisa de alguma ajuda para consertá-la? Use a função de comentários abaixo e tentaremos ajudá-lo o melhor que pudermos. Vamos continuar com o msfconsole.
Metasploit msfconsole
Quando o Metasploit tiver iniciado e o msfconsole estiver disponível, podemos digitar ‘help’ para obter uma visão geral dos comandos do Metasploit core e backend com uma descrição:
Comandos Metasploit
Seria uma perda de tempo e fora do âmbito deste tutorial explicar cada um dos comandos Metasploit neste tutorial. Nós só queremos que você esteja pronto e funcionando o mais rápido possível no Metasploit e, portanto, um conhecimento básico dos comandos básicos deve ser suficiente para o momento. Você aprenderá muito mais sobre as opções avançadas ao longo do caminho. Além disso, a maioria das descrições de comandos deve ser muito clara sobre o que o comando faz exatamente e como usá-lo. Por enquanto estaremos olhando para os comandos básicos mais usados do Metasploit neste tutorial como:
- Comandos básicos: search, use, back, help, info e exit.
- Comandos de exploração: definidos para definir variáveis e mostrar para mostrar as opções de exploração, alvos, cargas úteis, codificadores, nops e as opções avançadas e de evasão.
- Comandos de execução de exploit: executar e explorar para executar exploits contra um target.
Tem também uma documentação Metasploit abrangente incluída com o Metasploit que pode ser usada para esclarecer qualquer coisa. Vamos dar uma olhada nos comandos Metasploit.
Comandos Metasploit
Passaremos rapidamente pelos comandos básicos do Metasploit para que possamos começar com a parte divertida e aprender como usar os exploits em uma máquina vulnerável como o Metasploit 2. O comando básico consiste em help, back, exit e info.
Use, back and exit comandos
O comando use no Metasploit é usado para ativar um módulo em particular e muda o contexto do msfconsole para esse módulo em particular. O nome do exploit será mencionado em vermelho na linha de comando como segue:
Neste exemplo alteramos o contexto da linha de comando para o exploit chamado realvnc_client. A partir daqui podemos recuperar informações sobre este exploit, definir os parâmetros de exploit necessários e executá-lo contra um target.
Se quisermos sair do contexto do exploit e mudar de volta para o msfconsole precisamos usar o comando back. O comando back irá nos levar de volta para o msfconsole no contexto geral. A partir daqui podemos emitir o comando use novamente para mudar para outro módulo Metasploit.
O comando exit fechará o msfconsole e o levará de volta para o terminal Kali Linux.
Comando help
Como vimos anteriormente neste tutorial o comando help retornará uma lista de comandos possíveis junto com uma descrição quando digitado no msfconsole. Quando há um exploit ativo selecionado podemos usar o comando help para obter uma lista de comandos de exploit:
Comando info
Quando um exploit é selecionado com o comando use podemos recuperar informações como nome, plataforma, autor, alvos disponíveis e muito mais usando o comando info. Na seguinte captura de tela usamos o comando info num exploit chamado ie_execcommand_uaf:
Comando de pesquisa
As of this writing Metasploit contém mais de 1.500 exploits diferentes e novos exploits são adicionados regularmente. Com este número de explorações a função de busca, e saber como usá-la, torna-se muito importante. A maneira mais fácil de usar a função de busca é através da emissão do comando search seguido por um termo de busca, por exemplo flash para buscar exploits relacionados ao Flash Player. Usando o comando de busca Metasploit procurará pelo termo de busca dado nos nomes e descrição do módulo como segue:
Como esperado existem muitos exploits relacionados com o software do Flash Player, muitas vezes vulnerável. A lista também inclui CVE-2015-5122 Adobe Flash opaqueBackground Use After Free zero-day que foi descoberto na quebra de dados da Hacking Team no ano passado.
Searching with exploits with keywords
You can also use the search command with a keyword to search for a specific author, an OSVDB ID or a platform. O comando ‘help search’ exibe as palavras-chave disponíveis no msfconsole como segue:
O uso do comando search com uma palavra-chave é bastante direto e exibido na parte inferior do texto de ajuda. O seguinte comando é usado para procurar por módulos com um ID CVE de 2016:
msf > search cve:2016
Isto nos retorna todos os exploits com um ID CVE de 2016 incluindo e scanner de módulo auxiliar para o muito recente firewall SSH da Fortinet:
Comandos Metasploit para exploits
No capítulo anterior aprendemos os comandos Metasploit para ativar um exploit no msfconsole e mudar o contexto da linha de comando para o exploit com o comando use. Agora vamos ver como mostrar os parâmetros de exploit e como alterá-los com o comando set. Também vamos analisar como mostrar as cargas úteis, alvos, opções avançadas e de evasão. O comando help show mostra os parâmetros disponíveis para o comando show:
Show options
O comando show options mostra os parâmetros disponíveis para um exploit se usado quando a linha de comando está no contexto de exploit. Vamos usar o exploit adobe_flash_shader_drawing_fill e dar uma olhada nas opções com o seguinte comando:
>
msf >Usar exploit/multi/browser/ adobe_flash_shader_drawing_fill
Seguido pelo comando show options:
msf >Mostrar opções
O exploit Flash contém um total de 6 opções das quais apenas 2 são necessárias:
- Retries
- SRVHOST (Obrigatório)
- SRVPORT (Obrigatório)
- SSL
- SSLCert
- URLPath
Note que o comando show options está retornando o alvo atual selecionado abaixo das opções do módulo. O alvo padrão é 0 que é o Windows para o exploit selecionado.
Use o comando set seguido pelo nome da opção e o novo valor para alterar os valores padrão:
Set SRVHOST 192.168.0.100 para alterar o valor SRVHOST para 192.168.0.100
Set SRVPORT 80 para alterar a porta de 8080 para 80
>
USBRVHOST. Usando o comando show options novamente você pode verificar se os valores SRVHOST e SRVPORT foram alterados. Você pode alterar os valores booleanos usando o comando set com nome de opção e true ou false.
Show payloads
Quando usamos o comando show payloads o msfconsole retornará uma lista de payloads compatíveis para este exploit. No nosso exemplo de exploração do flash player irá retornar algumas cargas compatíveis:
Uma visão geral das explorações compatíveis
Para usar uma certa carga você precisa usar o comando set seguido pelo nome da carga:
>
Definir carga útil linux/x86/exec
Mostrar alvos
O comando mostrar alvos irá retornar uma lista de sistemas operacionais que são vulneráveis ao exploit selecionado. Quando rodamos o comando obtemos a seguinte saída para o exploit adobe_flash_shader_drawing_fill:
Uma visão geral dos alvos disponíveis para o exploit selecionado.
Este exploit tem como alvo tanto sistemas operacionais Windows quanto Linux. Note que podemos usar o comando info para obter informações adicionais sobre este exploit e alvos.
Para definir um alvo podemos usar o comando set seguido pelo ID do alvo:
set target 1
Configurando o alvo a lista de cargas úteis será reduzida bastante porque somente as cargas úteis que são compatíveis com o alvo:
Show advanced
Usando o comando show advanced podemos dar uma olhada nas opções avançadas para o exploit.
>
Utilizar o comando set seguido pelo parâmetro avançado e o novo valor para alterar as configurações avançadas:
Set displayablepayloadhandler true
Show encoders
O comando show encoders retornará os encoders compatíveis. Os codificadores são usados para escapar de assinaturas IDS/IPS simples que estão procurando por certos bytes de sua carga útil. Estaremos olhando os codificadores em detalhes em um capítulo posterior dos tutoriais Metasploit.
Para usar um codificador use o comando set seguido pelo nome do codificador.
Show nops
O comando show nops irá retornar uma lista de geradores NOP. Um NOP é a abreviação de No Operation e é usado para alterar o padrão de um trenó NOP a fim de contornar assinaturas IDS/IPS simples de trenós NOP comuns. Os geradores de NOPs começam com a arquitetura da CPU no nome. Estaremos olhando para NOPS em um capítulo posterior deste tutorial.
Para usar um gerador NOP use o comando set seguido pelo nome do gerador NOP. Quando o exploit é iniciado os sleds do NOP serão retirados do gerador NOP.
Show evasion
O comando show evasion retorna uma lista de técnicas de evasão disponíveis.
>
Para alterar as configurações de evasão use o comando set seguido pelo parâmetro evasion e o novo valor.
>
Comandos de exploração para execução de exploit
Quando todas as opções necessárias tiverem sido definidas para o exploit, incluindo uma carga útil e configurações avançadas como um gerador NOP, opções de evasão e codificação, o exploit está pronto para ser executado. O exploit pode ser executado usando dois comandos: run e exploit. Basta digitar run ou exploit no msfconsole e o exploit será executado.
Isto irá concluir o tutorial dos comandos Metasploit por enquanto. Se você tiver perguntas sobre qualquer um dos comandos mencionados ou não, por favor pergunte a eles usando a funcionalidade de comentários abaixo deste post. No próximo tutorial do Metasploit iremos enumerar a máquina Metasploitable 2. Depois disso, faremos uma avaliação de vulnerabilidade com a informação recolhida. Se você ainda não instalou o Metasploitable 2, você pode seguir primeiro o tutorial de instalação do Metasploitable 2.
Deixe uma resposta