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

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.

Share on: