Metasploit Framework

O Metasploit framework é um conjunto das melhores plataformas de aprendizagem e investigação para o profissional de segurança ou do hacker ético. Ele possui centenas de exploits, payloads e ferramentas muito avançadas que nos permite testar vulnerabilidades em muitas plataformas, sistemas operacionais e servidores.

[ Hits: 144.606 ]

Por: Luiz Vieira em 14/04/2009 | Blog: http://hackproofing.blogspot.com/


Desenvolvimento do MSF



A primeira versão estável do MSF foi lançada em meados de 2004. Originalmente escrito em Perl, Assembler e C. Seus desenvolvedores (veja a lista no endereço) resolveram quebrar o paradigma de como os exploits eram desenvolvidos até então.

Escrever um exploit anteriormente era uma tarefa complexa, e a exploração de uma vulnerabilidade exigia conhecimentos profundos em programação especifica para cada plataforma. O MSF veio para diminuir essa complexidade e fazer intenso reuso de código, assim como faz a concepção da programação orientada a objetos.

Digamos que antes do MSF o desenvolvimento dos exploits era feito no melhor estilo da programação procedural tradicional, e depois do MSF a pesquisa começou a se basear na programação orientada a objetos.

A versão 2.x foi substituída pela versão 3.x, totalmente reescrita na linguagem Ruby que é uma linguagem O-O real, com características únicas, como: alto nível de introspecção, recriação automatizada de classes, suporte a threading com plataforma independente e, finalmente, porque é uma linguagem que os desenvolvedores realmente sentem prazer em usar. Como resultado do uso do Ruby, o código original foi enxugado em quase 40, entretanto algumas partes do código ainda estão em Assembler e C.

Com a versão 3.x, a licença passou da GPL 2 para a Metasploit Framework License v1.2, mais parecida com a GPL 3. O Objetivo da nova licença é proteger o núcleo do projeto do uso comercial, mas ao mesmo tempo, autorizar a integração com módulos comerciais agregados, desde que estes módulos não modifiquem o framework. Em suma, o Metasploit continua sendo open source, e não acontecerá com ele, segundo os desenvolvedores, o que aconteceu com o scanner de vulnerabilidades Nessus.

Tecnologia

Linux: Metasploit Framework
O núcleo do Metasploit reside no REX (Ruby Extension Library), que é uma coleção de classes e métodos. A descrição completa das classes e métodos pode ser acessada no endereço:
E a documentação da API REX:
Para exemplificar algumas entre as muitas funcionalidades dessas classes do REX, durante o desenvolvimento do exploit precisamos ajustar o stack pointer, muitas vezes isso significa chamar determinado operador, que são específicos para cada plataforma, como por exemplo: jmp opcode na arquitetura x86. Então invocamos a classe Rex::Arch:: para ajustar o stack pointer e depois especificarmos a plataforma com Rex::Arch::X86 com os métodos jmp, mov, sub, pack, add, call, clear etc.

Outro exemplo famoso e infame é a classe Rex::Exploration::Seh. O Structured Exception Handling, SEH, é uma proteção usada para checar o controle do fluxo cada vez que uma exceção acontece. Um estouro de buffer modifica o fluxo comum do programa e o SEH trata desses erros. A classe Rex::Exploration::Seh pode ser usada para evadir o SEH.

Para maiores informações consulte:
Ou ainda:
Framework Core: É formado de vários sub-sistemas como gerenciamento de módulos, sessões, despacho de eventos etc.

Framework Base: Provê a interface para interagir com o Framework Core provendo configurações, registro de logs e sessões.

Interfaces: Provê a interface com o usuário, atualmente são: msfconsole, msfcli, msfgui, msfweb, msfd.

Módulos: São compostos pelos exploits, payloads, encoders, NOP generators e módulos auxiliares, como por exemplo, scanners, conexão com base de dados (MS-SQL), fuzzers de protocolo etc. A lista completa pode ser acessada com o comando show all na interface msfconsole e informações específicas do módulo com o comando info <module_name>.

Plugins: Podem ser comparados aos módulos no sentido de trazer funções extras ao framework.

Para o iniciante é importante saber a diferença entre exploit e payload. Exploit é a exploração da falha em si, que permite ao explorador fazer alguma coisa. O payload é a coisa que será feita. Um comando a ser executado, um shell etc.

O Metasploit conta ainda com outras tecnologias, como por exemplo, a evasão de Intrusion Detection Systems (IDS) e Intrusion Prevention Systems (IPS), tornando a vida dos detectores de intrusão mais difícil. Atualmente os IDSs e IPSs ainda tem muitos problemas, e certamente ainda estão longe de uma funcionalidade considerada ideal e robusta.

O Metasploit pode servir para auditar essas ferramentas. Existem varias classes que podem ser usadas para evadir os detectores de intrusão, TCP::max_send_size, TCP::send_delay, HTTP::chunked, HTTP::compression, SMB::pipe_evasion, DCERPC::bind_multi, DCERPC::alter_context, entre outros.

Outra tecnologia que merece destaque é o Metasploit anti-forensics chamada de MAFIA (Metasploit Anti-Forensic Investigation Arsenal). O MAFIA é constituído basicamente das ferramentas:
  • Timestomp: Usado para modificar os arquivos do sistema de arquivo New Technology File System (NTFS). Pode-se modificar os valores de quando os arquivos foram criados, deletados etc.
  • Slacker: Usado para esconder arquivos em partições NTFS.
  • Sam Juicer: Um módulo do Meterpreter usado pra extrair hashes dos arquivos SAM sem acessar o disco rígido.
  • Transmogrify: Ferramenta usada pra passar pelo EnCases file-signaturing.

Tecnologia do Meterpreter Payload

A fase chamada pós-exploração foi significantemente melhorada na versão três. Um dos principais payloads do MSF é o Meterpreter. O Meterpreter tenta ser invisível ao sistema atacado. Para ilustrar, vamos ao exemplo de problemas: Host Intrusion Detection Systems podem soar um alarme assim que você digitar seu primeiro comando no shell ou mesmo deixar rastros para que o perito forense descubra o que foi feito durante o ataque.

Para finalizar esse capitulo introdutório, que não tem por objetivo ser exaustivo com relação à tecnologia do framework, lembre-se de que, como todo projeto open source, é muito dinâmico e novidades são incorporadas da noite para o dia. Esperamos que todos possam aprendam muito mais sobre segurança com o uso do Metasploit Framework.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. O que é Metasploit Framework
   3. Para começar: Instalando Metasploit Framework
   4. Desenvolvimento do MSF
   5. Instalando e configurando o Metasploit Framework
   6. Primeiros passos na utilização do Metasploit
Outros artigos deste autor

Shellter Project - Ferramenta para bypass de AV

Uma pequena introdução ao Assembly para Linux

Elevação de privilégios locais

Linux no Pendrive

Certificações em Segurança: para qual estudar?

Leitura recomendada

Como forçar alteração de senha de usuário no próximo login no Linux

Instalando e configurando o BackupPC

Bypass de firewall com tunelamento por DNS

Atirando o pau no gato com Metasploit

SSH - Uma breve abordagem

  
Comentários
[1] Comentário enviado por psychokill3r em 14/04/2009 - 20:15h

Obrigado é simplesmente essencial.

Muito bom mesmo vai já para os favoritos.

Dica Nubuntu "8.12 Instigating Insecurity" ja vem com Metasploit instalado e tem outros varios testes interessantes alem de rodar do live cd e a possibilidade de instalar no pen-drive.

[2] Comentário enviado por valtinho em 15/04/2009 - 10:45h

Luiz Vieira,
Valeu pelo artigo cara... muito interessante
Sempre tive curiosidade sobre o assunto mas não achava nenhum material na internet. Se tiver mais alguma coisa sobre o assunto, por favor, não deixe de postar.

So pra complementar, o link de download esta quebrado. Acredito que seja este:

http://www.metasploit.com/framework/download/

Abraço

[3] Comentário enviado por thiagomlx em 15/04/2009 - 11:19h

Artigo muito bem feito, parabéns.

Acredito que seja ótimo pra quem está começando no assunto e tem curiosidade de saber como funciona o Metasploit.

Abraço

[4] Comentário enviado por bruc3 em 16/04/2009 - 07:50h

Luiz Vieira, muito bom o tutorial, eu também já estava há algum tempo a procura deLe, mas nunca tinha achado nada sobre o assunto, obrigado. Uso a distro slackware 12.1 , é a mesma coisa, ou precisa fazer algo diferente? Concordo com o nosso amigo aí de cima, se tiver aLgo mais, não deixa de postar. õ/ abraço!

[5] Comentário enviado por y2h4ck em 16/04/2009 - 09:39h

O metasploit framework realmente é uma ferramenta indispensavel para qualquer administrador que deseja fazer um teste mais aprofundado na rede. Mto bom o artigo. Tenho um artigo sobre o Metasploit em Produção no VOL desde 2007 +_+. Voce me economizou um bom tempo publicando o seu rs rs rs :D

[]s

[6] Comentário enviado por vivkloip em 28/05/2009 - 16:27h

EU GALERA, EU TRADUZI UM LIVRO INTEIRINHO DO METASPLOIT...
QUEM QUISER, BASTA ENTRAR NO MEU BLOG..
NAO ESQUEÇA DE AGRADEÇER COM COMENTARIOS.
http://juancarloscunha.wordpress.com/2009/05/06/livro-do-metasploit/
ATÉ+

[7] Comentário enviado por luizvieira em 28/05/2009 - 17:17h

Muito bom vc, heim vivkloip?!
Isso é anúncio? rsrsrs
Vc escreveu, ou apenas TRADUZIU?
Bons estudos de inglês para vc, brother ;-)
[ ]'s

[8] Comentário enviado por d3lf0 em 27/12/2009 - 23:29h

vlw pelas dicas Luiz Vieira.

[9] Comentário enviado por topassi em 15/04/2010 - 10:40h

Parabéns cara..

Esse é simplesmente o melhor artigo que já li no VOL.. ficou muito bom.
Estou no meio de um trabalho da disciplina de segurança do meu mestrado, e precisava de mais detalhes sobre o metaexploit.. li bastante coisa em inglês e realmente não esperava encontrar algo tão bem escrito em português..

Espero que quando eu escrever algo para por aqui, fique com a mesma qualidade.

E parabéns ao VOL pela quantidade de materiais de qualidade.

[10] Comentário enviado por removido em 25/03/2011 - 20:48h

parabens cara, estou comecando agora, a mexer no backtrack e esse artigo sobre o metasploit é muito bom mesmo parabens :)

[11] Comentário enviado por albertomoravia em 03/04/2011 - 15:56h

Cara, perdoa a sinceridade, mas que absurdo!!! Sugasse tudo do "Open e-book MSF-BR", que, apesar do site original estar fora do ar, ainda pode ser visto em http://replay.waybackmachine.org/20080119142225/http://www.metasploit-br.org/capitulo1.htm e http://replay.waybackmachine.org/20080207220819/http://www.metasploit-br.org/capitulo2.htm . Só desse ctrl-c, ctrl-v. Troféu óleo de peroba!!

[12] Comentário enviado por luizvieira em 04/04/2011 - 06:39h

Alberto, o artigo foi escrito por mim antes da traduzição do André Amorin. E tive autorização direta do HD Moore, com quem contribuo diretamente e através da lista do MSF.

O que o André fez foi traduzir um material escrito pelo HD Moore, como eu. A diferença é que ambos traduzimos a parte da explicação técnica das características do MSF, só que eu fui mais além, produzindo mais materia próprio para auxiliar a prática de quem ainda não conhece a ferramenta.

A meu ver, o que há de errado aí? EU ter traduzido uma parte do material, com autorização do autor, para não chover no molhado, já que eu não acrescentaria nada às características da ferramenta escrita pelo próprio HD Moore? Ao menos a maior parte do material ainda assim foi produzida por mim...

E vc, qual sua contribuição com a área? Prq não gasta seu tempo publicando artigos de qualidade ao invés de tentar emitir julgamentos precipitados sobre os outros sem conhecê-los?

Para bom entendedor, meia palavra basta...

[13] Comentário enviado por albertomoravia em 04/04/2011 - 07:16h

Caro Luiz, o que causa estranheza é que a tradução é literalmente igual. Eu não emiti julgamentos, apenas apresentei fatos. O julgamento parece que quem está fazendo é você, com essa agressividade. Não precisa se defender dessa forma, porque não existe acusação/julgamento. Se você está sentindo dessa forma, certamente sabe o que vem fazendo com seus "artigos". Finalizando, eu diria que para o bom plagiador tudo pode ser apropriado.


[15] Comentário enviado por codebr em 21/02/2012 - 15:11h

Boa tarde,

Obrigado Luiz, suas informações são sempre validas p/ meus estudos. Vejo que você estuda bastante e isso me estimula a querer aprender mais.

um abraço.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts