quinta-feira, 2 de dezembro de 2010

Metasploit Parte 1


Vou começar uma série de posts sobre o projeto Metasploit e sua utilização. A idéia é facilitar a vida de quem esta começando e apresentar também as técnicas usadas neste framework usando os Payloads, Exploits, scripts etc. Para este e os demais posts estarei usando o Ubuntu 10.10.
Inicialmente este projeto (Metasploit) foi criado com a proposta de ser um framework para o desenvolvimento de técnicas para elaboração de exploits. O projeto cresceu e atualmente é mantido pela Rapid7.

Essa é a definição tirada atualmente do site do Metasploit:
Metasploit fornece informações e ferramentas úteis para os pen testers, pesquisadores de segurança, e os desenvolvedores de assinatura de IDS. Este projeto foi criado para fornecer informações sobre técnicas de exploração e criar uma base de conhecimento funcional para os desenvolvedores de exploits e profissionais de segurança”.

Vamos utilizar a ferramenta “svn” para baixar o código atual do Metasploit.  Primeiramente devemos instalar o programa “subversion” com o comando abaixo:
#aptitude install subversion
Agora vamos instalar o metasploit:
#cd /opt && svn co https://www.metasploit.com/svn/framework3/trunk/ metasploit
 
Com isso o metasplot será instalado dentro do diretório chamado “metasploit” que será criado dentro do diretório “/opt”.
 
Como o metasploit é feito em ruby precisamos instalar algumas dependências e o próprio ruby, execute o comando abaixo para isso:
 
#aptitude install ruby libruby libyaml-ruby libdl-ruby libiconv-ruby libreadline-ruby irb ri rubygems ruby-dev libpcap-dev 
 
Instalando o suporte necessário para a base de dados Postgres:
 
#aptitude install postgresql-8.4 libpq-dev
#gem install pg
#gem install activerecord
O metasploit vem com algumas extensões nativas em Ruby que devem ser compiladas para ser usado com alguns módulos.  
 
Vamos habilitar o módulo para raw socket:
 
#cd /opt/metasploit/external/pcaprub 
#ruby extconf.rb
#make && make install
 
Vamos habilitar os módulos WIFI:
 
#cd /opt/metasploit/external/ruby-lorcon2
#svn co http://802.11ninja.net/svn/lorcon/trunk lorcon2
#./configure --prefix=/usr && make && make install
#cd ..
#ruby extconf.rb
#make && make install

Para atualizar o metasploit execute o comando abaixo:
 
#cd /opt/metasploit
#svn update
 
Coloque no cron para que essas atualizações sejam automáticas:
 
#crontab -e
1 * * * * /usr/bin/svn update  /opt/metasploit >> /var/log/msfupdate.log 2>&1
 
Agora vamos configurar o banco de dados.
Para esses passos você tem que esta logado no sistema com o usuário postgres. Como root você pode fazer isso com o seguinte comando:
#su postgres
Criando o usuário para a base de dados:
$createuser msf_user –P
Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n

Obs: vamos usar como senha “osvaldohp”.
Agora podemos criar a base:
$createdb --owner=msf_user msf_database
Vamos configurar o metasploit para acessar essa base.
Vamos acessar o metasploit, mas para isso temos que fazer como root, não esqueça que estamos logado com o usuário postgres (su postres). Siga os passos abaixo:
$cd /opt/metasploit
$sudo ./msfconsole
msf> db_driver postgresql
msf> db_connect msf_user:osvaldohp@127.0.0.1:5432/msf_database
msf> db_hosts
msf> exit

Agora vamos fazer com que o metasploit se conecte na base quando for iniciado, agora execute estes comandos como root:
#cat > ~/.msf3/msfconsole.rc
db_driver postgresql
db_connect msf_user:osvaldohp@127.0.0.1:5432/msf_database
db_workspace -a MyProject
^D (ctrl+d)

Para listar a base de dados (su postgres):
$psql –l

Para testar inicie o metasploit:
#cd /opt/metasploit && ./msfconsole
       =[ metasploit v3.5.1-dev [core:3.5 api:1.0]
+ -- --=[ 639 exploits - 320 auxiliary
+ -- --=[ 215 payloads - 27 encoders - 8 nops
       =[ svn r11202 updated today (2010.12.02)
 
resource (/home/osvaldo/.msf3/msfconsole.rc)> db_driver postgresql
[*] Using database driver postgresql
resource (/home/osvaldo/.msf3/msfconsole.rc)> db_connect msf_user:osvaldohp@127.0.0.1:5432/msf_database
resource (/home/osvaldo/.msf3/msfconsole.rc)> db_workspace -a MyProject
[*] Added workspace: MyProject
msf >
 
 
Neste post vimos como instalar o Metasploit usando o svn e agendando no cron para que seja realizado de forma automática as atualizações. Configuramos a base de dados que é super importante para usarmos alguns módulos e ferramentas, isso veremos no próximo post.
fonte: http://www.metasploit.com/redmine/projects/framework/wiki/Install_Ubuntu
http://www.metasploit.com/redmine/projects/framework/wiki/Postgres_setup
 
LEIA:
Metasploit Parte 2.
By Osvaldo H Peixoto

Um comentário:

  1. cara, precisso muito da sua ajuda se possivel me add nesse msn : talesinaciodacosta@yahoo.com.br
    obrigado

    ResponderExcluir