Teste de Intrusão com Metasploit
O Metasploit é um programa e sub-projeto desenvolvido por Metasploit LLC. Foi inicialmente criado em 2003 utilizando a linguagem de programação Perl, mais tarde, foi reescrito na linguagem Ruby. O Metasploit tem levado completamente os teste e simulações de vulnerabilidades a níveis profissionais. O mesmo está disponível nas versões PRO e Community.
Introdução e Desenvolvimento
Introdução
O Metasploit é um programa e sub-projeto desenvolvido por Metasploit LLC. Ele foi inicialmente criado em 2003 utilizando a linguagem de programação Perl, porém, mais tarde, foi reescrito na linguagem Ruby. O Metasploit tem levado completamente os teste e simulações de vulnerabilidades a níveis profissionais. O mesmo está disponível nas versões PRO e Community.A versão utilizada neste artigo é a Community, onde já vem integrada ao Kali Linux e também pode ser facilmente instalada em qualquer outra distribuição GNU/Linux.
O Metasploit pode ser utilizado de três formas: msfconsole, msfcli e msfweb. Contudo, a principal interface mais utilizada para trabalhar com o Metasploit é a msfconsole. É uma eficiente interface de linha de comando com um grande conjunto de exploits[1] e payloads[2] que serão úteis na detecção de falhas e escalada de privilégios.
Iniciando o teste
Tentaremos ganhar acesso remoto a um sistema vulnerável. Será feito o levantamento de possíveis alvos em nossa rede. Assim que os mesmos forem detectados, aplicaremos alguns testes afim de obter exito em nosso ataque. Foram utilizados os programas nbtScan e NMap. Solicitei ao nbtScan que realize uma varredura por hosts ativos em minha rede. O mesmo encontrou um servidor SRV-AD-01. O segundo IP refere-se ao Kali Linux.Caso você tenha mais hosts ativos em sua rede e queira procurar por vulnerabilidades neles, recomendo criar um arquivo de texto ou planilha para organizar suas atividades. O NMap detectou algumas portas de serviços abertas. Vamos trabalhar em cima do serviço msrpc rodando na porta 135.
Execute o comando msfconsole para carregar o Metasploit:
# msfconsole
Após o Metasploit ter sido carregado, iremos fazer uma busca por exploits relacionados ao RPC. O comando search vai nos ajudar nessa tarefa. Execute:
search dcerpc Alguns resultados da busca nos foram retornados. Neste artigo, não dá para testar todos os exploits. Dessa forma, vamos usar o exploit/windows/dcerpc/ms03_026_dcom. Antes de usar qualquer exploit, é bom saber qual a finalidade do mesmo. Execute o comando abaixo para obter mais informações: Agora é preciso ativar a execução do exploit:
As mesmas podem ser vistas como o comando: show options Agora, é preciso configurar o nosso alvo com a variável RHOST. A porta será a default, já configurada: 135.

# show payloads
No nosso caso, usaremos o tcp meterpreter, o qual gera um shell remoto no servidor, quando o ataque obtêm êxito. Novamente é preciso visualizar as opções de configuração do payload.
# show options
Configure a variável LHOST com o IP do seu Kali Linux. A porta será a padrão. Veja como ficou a configuração na imagem abaixo: Com tudo pronto e configurado, chegou a hora de execução do ataque. Para isso, basta digitar o comando:
# exploit Será uma aberta uma sessão remota do alvo e observe que o prompt de comando alterou para:
meterpreter>
Dessa forma, você já está conectado à maquina. Execute o comando help e veja os comandos disponíveis que podem ser utilizados.
Conclusão
Tem muito mais coisas, mas que deixaria o artigo bem longo. Recomendo a leitura do Metasploit Unleashed, que vai ajudá-los a entender melhor o funcionamento e utilização do metasploit.O alvo utilizado neste artigo foi uma VM com Windows Server 2003. É sempre importante lembrar de manter o sistema atualizado com patches de segurança, antivírus e versões do sistema operacional mais atual. Isso é o mínimo, mas que ajuda bastante a mitigar os vetores de ataque.
Caso queiram saber um pouco mais sobre a falha de segurança explorada, recomendo ler o boletim de segurança MS03-026, disponibilizado no site da Microsoft.
Vou ficando por aqui e em breve novos artigos.
Indicações:
- [1] - Este é o código que será direcionado para um sistema com a intenção de tirar proveito de um defeito em um software.
- [2] - Representa o código que será executado em um sistema após uma brecha/vulnerabilidade ser encontrado no sistema.
Mas, sabe se tem exploit e módulos de atack para dispositivos android?
Ou até que versão do Windows isso funciona?