Error al actualizar Metasploit Framework (Gemfile)

La semana pasada tuve que actualizar Metasploit Framework, ya que llevaba unas semanas sin utilizar el entorno en mi maquina virtual con Backtrack 5 R3.  Así que me puse con ello, ejecute “apt-get update“, para actualizar los repositorios, luego “apt-get update“, para buscar posibles actualizaciones recientes e instalar-las, y finalmente ejecute “msfupdate“, para actualizar el entorno de Metasploit.

*En teoría  con la orden “msfupdate” bastaría, pero nunca esta de más actualizar el sistema antes de actualizar Metasploit Framework.

Cuando ejecute la orden “msfupdate” en una terminal, me lleve esta gran sorpresa:

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /opt/metasploit/ruby/bin/ruby extconf.rb 
checking for pg_config… yes
Using config values from /opt/metasploit/postgresql/bin/pg_config
checking for libpq-fe.h… *** 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.

Provided configuration options:
   –with-opt-dir
   –without-opt-dir
   –with-opt-include
   –without-opt-include=${opt-dir}/include
   –with-opt-lib
   –without-opt-lib=${opt-dir}/lib
   –with-make-prog
   –without-make-prog
   –srcdir=.
   –curdir
   –ruby=/opt/metasploit/ruby/bin/ruby
   –with-pg
   –without-pg
   –with-pg-dir
   –without-pg-dir
   –with-pg-include
   –without-pg-include=${pg-dir}/include
   –with-pg-lib
   –without-pg-lib=${pg-dir}/lib
   –with-pg-config
   –without-pg-config
   –with-pg_config
   –without-pg_config
/opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:381:in `try_do’: The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
   from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:506:in `try_cpp’
   from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:970:in `block in find_header’
   from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for’
   from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone’
   from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:254:in `open’
   from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone’
   from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:254:in `open’
   from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:280:in `postpone’
   from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for’
   from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:969:in `find_header’
   from extconf.rb:43:in `<main>’

Gem files will remain installed in /opt/metasploit/ruby/lib/ruby/gems/1.9.1/gems/pg-0.15.0 for inspection.
Results logged to /opt/metasploit/ruby/lib/ruby/gems/1.9.1/gems/pg-0.15.0/ext/gem_make.out

Estuve unos minutos buscando por Google y encontré una solución al problema.

-Lo primero que debemos hacer es dirigir-nos a la ruta /opt/metasploit/ruby/lib/ruby/1.9.1/i686-linux/ y abrir el archivo rbconfig.rb con el editor de textos que se suela utilizar. (vi, nano).

-Dentro del fichero debemos localizar la línea:

CONFIG[“LIBRUBYARG_STATIC”] = “-Wl,-R -Wl,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)-static”

-Una vez localizada, la editamos de manera que quede así:

CONFIG[“LIBRUBYARG_STATIC”] = “-Wl,-R -Wl,$(libdir) -L$(libdir) “

-Finalmente nos dirigimos a la ruta “/opt/metasploit/msf3” desde la terminal, y ejecutamos “/opt/metasploit/ruby/bin/bundle install” . Es muy importante situar-nos en la ruta  “/opt/metasploit/msf3” antes de ejecutar “/opt/metasploit/ruby/bin/bundle install“, ya que este ultimo comando depende del archivo “Gemfile” ubicado en la carpeta de Metasploit.

Después de estos pasos ya se podrá volver a ejecutar el  “msfupdate” con normalidad! Espero que os sirva!

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s