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.