# Metasploit

O Projeto Metasploit é um projeto de segurança de computadores que fornece informações sobre vulnerabilidades de segurança e ajuda em testes de penetração e desenvolvimento de assinaturas IDS. É propriedade da Rapid7, empresa de segurança sediada em Boston, Massachusetts.
Seu subprojeto mais conhecido é o Metasploit Framework de código aberto, uma ferramenta para desenvolver e executar código exploit contra uma máquina alvo remota. Outros subprojetos importantes incluem o banco de dados Opcode, arquivo shellcode e pesquisas relacionadas.
O Projeto Metasploit inclui ferramentas anti forense e de evasão, algumas das quais são integradas ao Metasploit Framework. Em vários sistemas operacionais ele vem pré-instalado.

## História

O Metasploit foi criado por H. D. Moore em 2003 como uma ferramenta de rede portátil usando Perl. Em 2007, o Metasploit Framework foi completamente reescrito em Ruby. Em 21 de outubro de 2009, o Projeto Metasploit anunciou que havia sido adquirido pela Rapid7, uma empresa de segurança que fornece soluções unificadas de gerenciamento de vulnerabilidades.
Como produtos comerciais comparáveis, como o Immunity's Canvas ou o Core Impact da Core Security Technologies [en], o Metasploit pode ser usado para testar a vulnerabilidade de sistemas de computador ou para invadir sistemas remotos. Como muitas ferramentas de segurança da informação, o Metasploit pode ser usado para atividades legítimas e não autorizadas. Desde a aquisição do Metasploit Framework, a Rapid7 adicionou uma edição proprietária de núcleo aberto [en] chamada Metasploit Pro.
A posição emergente do Metasploit como estrutura de desenvolvimento de exploits de fato levou ao lançamento de alertas de vulnerabilidade de software, muitas vezes acompanhados por um módulo de exploração Metasploit de terceiros que destaca a capacidade de exploração, risco e remediação da falha em particular. O Metasploit 3.0 começou a incluir ferramentas de difusão, usadas para descobrir vulnerabilidades de software, em vez de apenas exploits para falhas conhecidas. Este caminho pode ser visto com a integração do conjunto de ferramentas sem fio (802.11) lorcon [en] no Metasploit 3.0 em novembro de 2006. O Metasploit 4.0 foi lançado em agosto de 2011.

## Framework

As etapas básicas para explorar um sistema usando o Framework incluem:
* Verificar opcionalmente se o sistema de destino pretendido é vulnerável a um exploit.
* Escolher e configurar um exploit (código que entra em um sistema alvo tirando proveito de uma de suas falhas; cerca de 900 exploits diferentes para sistemas Windows, Unix/Linux e macOS estão incluídos).
* Escolher e configurar uma carga útil (código que será executado no sistema de destino após uma entrada bem sucedida; por exemplo, um shell remoto ou um servidor de VNC). O Metasploit geralmente recomenda uma carga útil que deve funcionar.
* Escolher a técnica de codificação para que opcodes hexadecimais conhecidos como "caracteres inválidos" sejam removidos da carga útil, esses caracteres fazem com que o exploit falhe.
* Executar o exploit.
Essa abordagem modular, permitindo a combinação de qualquer exploração com qualquer carga útil, é a principal vantagem do Framework. Ele facilita as tarefas dos invasores e escritores de exploits e cargas úteis.
O Metasploit é executado em Unix (incluindo Linux e macOS) e Windows. O Metasploit Framework pode ser estendido para usar add-ons em vários idiomas.
Para escolher um exploit e uma carga útil, algumas informações sobre o sistema alvo (de destino) são necessárias, como a versão do sistema operacional e os serviços de rede instalados. Essas informações podem ser obtidas com as varreduras de portas e ferramentas de impressão digital da pilha TCP/IP [en], como o Nmap. Os scanners de vulnerabilidades, como o Nessus e o OpenVAS, podem detectar as vulnerabilidades do sistema alvo. O Metasploit pode importar os dados obtidos pelos scanners de vulnerabilidades e comparar as vulnerabilidades identificadas com os módulos exploit existentes para uma exploração precisa.

## Interfaces

Existem várias interfaces disponíveis para o Metasploit. As mais populares são mantidas pela Rapid7 e pela Strategic Cyber LLC.

### Framework edition

A versão gratuita. Ela contém uma interface de linha de comando, importação de terceiros, exploração manual e força bruta manual. Esta versão gratuita do projeto Metasploit também inclui o Zenmap [en], um conhecido scanner de segurança, e um compilador para Ruby, a linguagem na qual esta versão do Metasploit foi escrita.

### Pro

Em outubro de 2010, a Rapid7 adicionou o Metasploit Pro, uma edição comercial de núcleo aberto do Metasploit para testadores de penetração. O Metasploit Pro adiciona ao Metasploit Express com recursos como os Quick Start Wizards/MetaModules, a construção e gerenciamento de campanhas de engenharia social, testes de aplicativos web, um Pro Console avançado, cargas dinâmicas para evasão antivírus, integração com o Nexpose para varreduras de vulnerabilidades ad-hoc, e dinamização de VPN.

### Edições descontinuadas
#### Community edition

A edição foi lançada em outubro de 2011 e incluía uma interface de usuário gratuita baseada na web para o Metasploit. O Metasploit Community Edition foi baseado na funcionalidade comercial das edições pagas com um conjunto reduzido de recursos, incluindo descoberta de rede, navegação por módulo e exploração manual. O Metasploit Community foi incluído no instalador principal.
Em 18 de julho de 2019, a Rapid7 anunciou o fim da venda do Metasploit Community Edition. Os usuários existentes puderam continuar a o usar até que sua licença expirasse.

#### Express

A edição foi lançada em abril de 2010 e era uma edição comercial de núcleo aberto para equipes de segurança que precisam verificar vulnerabilidades. Oferece uma interface gráfica de usuário, integra nmap para descoberta e adiciona força bruta inteligente, bem como coleta automatizada de evidências.
Em 4 de junho de 2019, a Rapid7 descontinuou o Metasploit Express Edition.

#### Armitage

A Armitage é uma ferramenta gráfica de gerenciamento de ataques cibernéticos para o Projeto Metasploit que visualiza alvos e recomenda exploits. É uma ferramenta de segurança de rede gratuita e de código aberto notável por suas contribuições para a colaboração de equipe vermelha [en], permitindo sessões compartilhadas, dados e comunicação por meio de uma única instância Metasploit.

#### Cobalt Strike

A Cobalt Strike é uma coleção de ferramentas de emulação de ameaças fornecidas pela HelpSystems para trabalhar com o Metasploit Framework. A Cobalt Strike inclui todos os recursos da Armitage e adiciona ferramentas de pós exploração, além de recursos de geração de relatórios. O último lançamento da Armitage foi em 2015.

## Exploits

O Metasploit possui atualmente mais de 2074 exploits, organizados nas seguintes plataformas: AIX, Android, BSD, BSDi, Cisco, Firefox, FreeBSD, HP-UX, Irix, Java, JavaScript, Linux, mainframe, multi (aplicável a múltiplas plataformas), NetBSD, NetWare, nodejs, OpenBSD, macOS, PHP, Python, R, Ruby, Solaris, Unix e Windows.

## Cargas úteis

O Metasploit atualmente tem mais de 592 cargas úteis. Algumas delas são:
* Command shell - permite que os usuários executem scripts de coleta ou comandos arbitrários no host.
* Meterpreter - (o interpretador Metasploit) permite aos usuários controlar a tela de um dispositivo usando VNC e navegar, carregar e baixar arquivos.
* Cargas dinâmicas - permite que os usuários evitem a defesa antivírus, gerando cargas úteis exclusivas.
* Cargas estáticas - habilita encaminhamento de endereço IP estático/porta para comunicação entre o host e o sistema cliente.

## Módulos auxiliares

O Metasploit Framework inclui centenas de módulos auxiliares que podem realizar varreduras, difusão, farejamento e muito mais. Existem três tipos de módulos auxiliares: scanners, módulos de administração e de servidor.

## Contribuidores

O Metasploit Framework opera como um projeto de código aberto e aceita contribuições da comunidade através de solicitações de pull em GitHub.com. As inscrições são revisadas por uma equipe composta tanto por funcionários da Rapid7 quanto por colaboradores externos seniores. A maioria das contribuições adiciona novos módulos, como exploits ou scanners.
Lista dos desenvolvedores originais:
* H. D. Moore [en] (fundador e arquiteto chefe)
* Matt Miller (desenvolvedor principal de 2004 a 2008)
* Spoonm (desenvolvedor principal de 2003 a 2008)