sexta-feira, 9 de maio de 2014

E ai galera!

Estou fazendo uma série de posts sobre segurança da informação em geral, algo bem prático e de simples entendimento. Você pode acompanhar post a post aqui e no final deles irei disponibilizar um paper gigante (quase um livro) e bem estruturado com todo o conteúdo. Basicamente o conteúdo destes posts serão exatamente o mesmo conteúdo que alguns sites não muito legais por ai vem cobrando para ensinar. Vou começar com metasploit. Se você não conhece absolutamente nada sobre Segurança da Informação de uma olhada no guia que postei a algum tempo atrás. Pela busca usando a tag "indicação" você também pode encontrar diversas indicações de livros, papers, vídeos, palestras e etc para aprender mais.

E vamos a ele!

Introdução

O Metasploit é uma das soluções mais completas para teste de invasão que temos hoje em dia, indo desde o básico de levantamento de informações até exploração de vulnerabilidades em dispositivos remotos e servidores. Outro atrativo dessa solução é  o fato de ser Open Source e gratuita, até um certo ponto.


Hoje em dia, o Metasploit é mantido pela comunidade e pela Rapid7 (http://www.rapid7.com/) e conta com quatro versões: uma delas gratuita e livre, que é a que já vem pré-instalada e configurada nas mais diversas distribuições Linux para Pentest, outra gratuita mas limitada e as outras duas versões comerciais.

Versões

Metasploit Pro: Uma das versões comerciais do Metasploit. Como a própria Rapid7 coloca, é uma versão para profissionais de segurança, pentesters. Tem muita coisa ali que ajuda e agiliza o processo todo de um pentest. Desde o básico de automação de scans até suporte com módulos de engenharia social.

Metasploit Express: A outra versão comercial. Esta é para os profissionais de TI, com as varreduras um pouco mais simples e ataques mais comuns. Normalmente utilizada em auditorias internas feitas pela própria equipe de TI da empresa.

Metasploit Framework: A versão open source. Denominada pela empresa como versão para pesquisadores de segurança e desenvolvedores. Seu principal objetivo é o auxílio a criação e testes de exploits. Esta versão está sendo usada para os mais diversos fins, principalmente por Hackers, Crackers e iniciantes na área. Para voltar a ser o que foi pensado, a Rapid7 está cortando funcionalidades desta versão, para que ela volte a ser apenas para pesquisadores e desenvolvedores. Para que o resto do público não se sinta obrigado a comprar a licença (relativamente cara) das outras versões, foi criada a versão a seguir.

Metasploit Community: Sendo esta versão gratuita e com interface semelhante as comerciais, voltada para todo aquele público que não se encaixa nas outras, sendo eles pequenas empresas, estudantes e por ai vai. 

Vamos nos focar aqui na versão Framework, já que é a mais usada ainda e acessível.


Conceitos e termos básicos

Antes de seguir em frente vamos a alguns conceitos.

Exploit: Um exploit é um pedaço de código que prova um conceito de uma vulnerabilidade. É um código que gatilha uma falha de segurança.

Payload: É um código arbitrário que vai executar no alvo com o objetivo de usar a vulnerabilidade explorada pelo exploit para obter algum tipo de dado, seja um arquivo de senhas ou uma conexão direta com o alvo.

Módulo: Módulos são exploits prontos do Metasploit, você pode customizar os módulos com os payloads, nops e codificações para atingir seu objetivo. Algumas outros tipos de códigos entram na definição de módulos, veremos eles logo a frente.

Sabendo disso, vamos seguir em frente. Tudo que você pode encontrar dentro do Metasploit é testado e reescrito, isso quer dizer que, diferente de um exploit que você ache na internet, todos os módulos do Metasploit fazem realmente o que dizem fazer, nada de malicioso, como um malware ou mandar informações para um terceiro.

A organização do Metasploit é bem simples, ele é subdividido em 5 áreas, Payloads, Exploits, Encoders, Nops e Auxiliares.

Payloads como comentado acima são os códigos que vão rodar no alvo com o objetivo de obter algo. Exploits também comentados acima, são os códigos que ativam as vulnerabilidades. Encoders são módulos que basicamente codificam seu exploit e payload para evitar a detecção por um Firewall, IDS, IPS e etc. Nops são geradores de códigos nulos, por exemplo em um ataque de Buffer Overflow, é necessário ir escalando a pilha para poder executar seus códigos. Uma instrução no local errado pode fazer a aplicação atacada encerrar ou até causar problemas no sistema. Para isso que servem os Nops, preencher essa área com instruções nulas para evitar problemas. E por último mas não menos importante temos os módulos auxiliares, estes são similares aos exploits mas não necessitam de payload, e não necessariamente “invadem” o alvo. Nessa categoria que você encontra módulos de bruteforce, scans, falhas de disclosure, entre outros.

O Metasploit tem centenas de módulos de todos os tipos, mas nada impede que possa ser criado um módulo específico para um ataque específico, toda a framework funciona em cima de ruby.


Um comentário:

Subscribe to RSS Feed Follow me on Twitter!