Hace ya unos meses que no jugaba con metasploit y hoy, tras decidirme a hacer unas pruebas de concepto de shellshock, tras actualizar el framework me empiezan a dar errores de librerías y no arranca. Puesto que no creo que sea al único al que le pasan, dejo aquí las soluciones tomadas, que espero a alguien le sirvan. Lo primero de todo, el error mostrado cuando intentaba arrancar el framework,
shell> msfconsole /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find rake-10.3.2 in any of the sources (Bundler::GemNotFound) ...
Como se puede deducir por el mensaje, el problema está en la librería rake. Y concretamente en la versión de la misma que tras el ultimo upgrade de metasploit es necesaria. Para solucionarlo, actualizamos dicha librería
shell> gem install rake Fetching: rake-10.3.2.gem (100%) Successfully installed rake-10.3.2 1 gem installed ...
Y un nuevo error vuelve a aparecer en escena. Esta vez,
shell> msfconsole /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find i18n-0.6.11 in any of the sources (Bundler::GemNotFound) ...
Aplicamos la misma solución que en el primer caso,
shell> gem install i18n ... Installing sqlite3 (1.3.9) Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /usr/bin/ruby1.9.1 extconf.rb checking for sqlite3.h... no sqlite3.h is missing. Try 'port install sqlite3 +universal', 'yum install sqlite-devel' or 'apt-get install libsqlite3-dev' and check your shared library search path (the location where your sqlite3 shared library is located). *** 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. Gem files will remain installed in /var/lib/gems/1.9.1/gems/sqlite3-1.3.9 for inspection. Results logged to /var/lib/gems/1.9.1/gems/sqlite3-1.3.9/ext/sqlite3/gem_make.out An error occurred while installing sqlite3 (1.3.9), and Bundler cannot continue. Make sure that `gem install sqlite3 -v '1.3.9'` succeeds before bundling.
Sólo que esta vez nos avisa de otro error de por medio. Nos falta una librería necesaria para poder instalar sqlite3 y, por suerte, la solución también nos la da un poco más arriba, que es instalar el paquete libsqlite3-dev. Procedemos,
shell> apt-get install libsqlite3-dev
Una vez finalizado, repetimos la instalación de i18n, esta vez debería de ir todo correcto y msfconsole debería de arrancar ya perfectamente.
shell> msfconsole # cowsay++ ____________ metasploit ------------ \ ,__, \ (oo)____ (__) )\ ||--|| * + -- --=[ 1358 exploits - 761 auxiliary - 218 post ] + -- --=[ 346 payloads - 35 encoders - 8 nops ] + -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ] msf >
Si a alguien le pasa lo mismo, aquí podrá encontrar la solución.