Instalar Metasploit en Debian Wheezy

Hace ya algún tiempo escribí un artículo sobre cómo instalar Metasploit en Debian (squeeze). Hoy, después de un tiempo sin arrancar Metasploit, tras actualizarlo, obtengo el siguiente error,
Metasploit requires the Bundler gem to be installed
Tras investigar un poco, veo que el problema es que el framework ha evolucionado y ahora necesita una versión de Ruby superior, así que no me queda más remedio que actualizar. Así que paso mi sistema de Squeeze (old-stable) a Wheezy (stable). Tarde o temprano lo había que hacer, así que manos a la obra.
Tras los típicos update, upgrade y dist-upgrade ya tengo el sistema en la última versión estable de Debian y listo para arrancar Metasploit.
Ahora voy a hacer un pequeño inciso para aquella gente es esté comenzando a usar Metasploit y lo quiera instalar desde cero. Lógicamente si ya lo tienes instalado, estos pasos no son necesarios.
Lo primero que hay que hacer es instalar los paquetes básicos,
shell> apt-get install git-core postgresql curl ruby1.9.3
shell> apt-get install nmap
Tras ello, ya podemos comenzar a instalar las pequeñas dependencias de Metasploit. Puesto que la mayoría de código está escrito en Ruby, para instalar dependencias lo podemos hacer automáticamente con gem. Para ello,
shell> gem install wirble sqlite3 bundler
Ahora que ya tenemos instalado el software necesario vamos a clonar la última versión estable del framwork. Ejecutamos lo siguiente,
shell> cd /opt
shell> git clone https://github.com/rapid7/metasploit-framework.git
shell> cd metasploit-framework
Hasta aquí son los pasos para la instalación básica. Ahora vienen las complicaciones, por llamarlo de alguna manera. En la última versión de Metasploit, el framework al arrancar comprueba que todos los paquetes necesarios están instalados y en caso contrario los instala automáticamente. Esto lo hace gracias a bundle y siempre sacando la información de rubygems.org (excepto que se indique lo contrario). Como también lo podemos ejecutar nosotros manualmente, nos posicionamos sobre la carpeta donde esté instalado y ejecutamos,
shell> bundle install
...
Your bundle is complete!
Si tenemos todas las dependencias instaladas, esto tardará un poquito en terminar, pero no tendríamos que tener ningún error. Si nos da algún error al instalar algún paquete, lo más seguro es que nos falte alguna dependencia. Estas son las dependencias necesarias. Asegúrate de tener todos los paquetes instalados.
shell> apt-get install make \
                       libpq-dev \
                       libxml2-dev \
                       libxslt1-dev \
                       libpcap-dev
Al finalizar la instalación de las dependencias, volvemos a ejecutar bundle,
shell> bundle install
Si todo finalizó correctamente ya podemos arrancar Metasploit,
shell> ./msfconsole

Durante la instalación de los paquetes vía bundle puede dar alguno de los siguientes errores. En caso de que alguno de ellos aparezca es que falta alguna de las dependencias que hay que tener instaladas.
Error 1:
...
Installing json (1.7.7) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb 
creating Makefile

make
sh: 1: make: not found
Error 2:
...
Installing pg (0.15.1) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb 
checking for pg_config... yes
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.
Error 3:
...
Installing nokogiri (1.5.9) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb 
checking for libxml/parser.h... no
-----
libxml2 is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.
Error 4:
Installing nokogiri (1.5.9) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb 
checking for libxml/parser.h... no
-----
libxml2 is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.
Error 5:
...
Installing pcaprub (0.11.3) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb 

[*] Running checks for pcaprub code...
platform is i486-linux
checking for pcap_open_live() in -lpcap... no
checking for pcap_setnonblock() in -lpcap... no
creating Makefile

make
compiling pcaprub.c
pcaprub.c:8:18: fatal error: pcap.h: No such file or directory
compilation terminated.
make: *** [pcaprub.o] Error 1

La entrada Instalar Metasploit en Debian Wheezy la puedes leer en El mundo en bits.


7 comentarios :

  1. muy buen tutorial.. gracias por la ayuda...

    ResponderEliminar
  2. un pequeño aporte.. para los que tenian el mismo error que yo.. gem no podia hacer el "make" por no tener instalado build-essential asique le mande:

    shell > apt-get install build-essential

    antes de instalar el sqlite3

    saludos!!

    ResponderEliminar
  3. En el caso que siga dando errores sqlite3 durante la bundle install, aún habiendo instalado build-essential, podemos solucionarlo instalando una de las dependencias que faltan:
    apt-get install libsqlite3-dev

    ResponderEliminar
  4. An error occurred while installing openssl-ccm (1.2.1), and Bundler cannot
    continue.
    Make sure that `gem install openssl-ccm -v '1.2.1'` succeeds before bundling.
    root@debian:/opt/metasploit-framework# ./msfconsole
    Could not find actionpack-4.0.13 in any of the sources
    Run `bundle install` to install missing gems.
    root@debian:/opt/metasploit-framework#


    Ayudaaaa plissss gracias

    ResponderEliminar
    Respuestas
    1. Según el error, necesitas instalar el paquete actionpack. Sería algo como "gem install actionpack"

      Eliminar
  5. Gem::Ext::BuildError: ERROR:
    Failed to build gem native
    extension.

    /usr/bin/ruby2.1 extconf.rb
    mkmf.rb can't find header files
    for ruby at
    /usr/lib/ruby/include/ruby.h

    Ayuda, tengo este error

    ResponderEliminar

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios