La instalación de Metasploit falla. Requiere> = Ruby 2.1 pero tengo 2.2


1

Literalmente he estado tratando de instalar metasploit durante 2 días y creo que es una cantidad de tiempo ridícula solo para instalar algún software. Tengo Arch Linux y estoy tratando de instalar metasploit-git desde AUR. He seguido la guía de metasploit de Arch Linux, así como esta .

He seguido la guía hasta el punto donde necesito correr bundle install. Instala con éxito un puñado de gemas, pero falla con este error:

Gem::InstallError: metasploit-concern requires Ruby version >= 2.1.
An error occurred while installing metasploit-concern (0.4.0), and Bundler cannot continue.
Make sure that `gem install metasploit-concern -v '0.4.0'` succeeds before bundling.

Estas son algunas de las variables de entorno:

MY_RUBY_HOME=/home/me/.rvm/rubies/ruby-1.9.3-p551

RUBY_VERSION=ruby-2.2.1

PATH=/home/me/.rvm/gems/ruby-1.9.3-p551/bin:/home/me/.rvm/gems/ruby-1.9.3-p551@global/bin:/home/me/.rvm/rubies/ruby-1.9.3-p551/bin:/home/me/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/me/.gem/ruby/2.2.0/bin:/home/me/.rvm/bin:/home/me/.rvm/bin
GEM_HOME=/home/me/.rvm/gems/ruby-2.2.1

Veo que algunas de las variables dicen ruby-1.9, pero no estoy seguro de qué hacer al respecto. La salida de ruby --versiones:

ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-linux]

Tengo instalado Ruby 2.2.1, así que no sé por qué esto todavía se muestra como la versión.

Resulta que el problema era tener múltiples instancias de

[[-s "$ HOME / .rvm / scripts / rvm"]] && source "$ HOME / .rvm / scripts / rvm"

Eliminar todo menos uno en / etc / profile y luego ejecutarlo rvm use --default 2.2.1corrigió esto.


Si está utilizando RVM, entonces Ruby debería ser 2.2.1. ¿Pero se establece como la versión correcta? ¿Cuál es la salida de ruby -version? También para RVM tal vez debería bloquear en 2.2.1 como su versión predeterminada Rubí mediante la ejecución de este comando, rvm --default use 2.2.1. Además, sugeriría intentar comentar MY_RUBY_HOMEy PATH. Honestamente, no tengo idea de por qué algo de eso se establecería allí, pero parece un desastre.
— JakeGould

Odio preguntar, pero ¿qué quieres decir con comentarlos? No sé por qué PATH está configurado para eso printenvporque mi / etc / profile no contiene el mismo PATH que muestra printenv. También agregué ruby ​​--version output en mi publicación.
— user3408678

Busque en los archivos ~/.bash_profileo ~/.profileen su directorio de inicio y vea dónde está PATHy qué MY_RUBY_HOMEse está configurando. Luego comente esas líneas colocando un #frente a esas líneas. Luego cierre sesión y vuelva a iniciar sesión y vea qué ruby --versiones. Tal como está, todo esto parece un gran desastre idiosincrásico para su configuración, lo que significa que pocas personas podrán ayudarlo a limpiar esto aquí. Necesitas desentrañar las cosas para llegar a un punto sano / estable.
— JakeGould

No hay ninguna variable MY_RUBY_HOME establecida en ningún archivo. En cualquier caso, agregué 'unset MY_RUBY_HOME' en / etc / profile. Sin embargo, mi variable PATH solo se está configurando dentro de / etc / profile y solo no tiene todas las rutas rvm. Esos parecen estar establecidos en otro lugar.
— user3408678

"En cualquier caso, agregué 'unset MY_RUBY_HOME' en / etc / profile". Al hacer lo que está haciendo, está creando una configuración incorrecta. Realmente parece que está muy loco y simplemente está agregando ajustes y ajustes con poco o ningún pensamiento. Es por eso que estás en este lío en primer lugar y por qué, si aún lo estás haciendo, solo estás empeorando los problemas. Realmente deberías limpiar tu configuración al cuadrado y luego avanzar de nuevo con más cautela y más deliberadamente. Dudo que alguien más pueda ayudarte a resolver este desastre en este momento. Sé que no puedo.
— JakeGould

Respuestas:


2

Después de 2 días de prueba y error, encontré una solución, siga los pasos a continuación pero pruébelo primero en una máquina virtual . Esto funcionó para mí en Kali Linux, espero que funcione para usted. Antes de continuar, actualice su máquina.

  1. git clone https://github.com/rapid7/metasploit-framework "folder_name"
  2. siga estos pasos para actualizar ruby https://amionrails.wordpress.com/2014/02/10/install-rvm-ruby-on-rails-and-ruby-on-kali-linux/ siga todos los pasos para instalar rieles
  3. ./msfupdate - verifica si hay un error si continúa
  4. instale estos: apt-get install build-essential libreadline-dev libssl-dev libpq5 libpq-dev libreadline5 libsqlite3-dev libpcap-dev openjdk-7-jre git-core autoconf postgresql pgadmin3 curl zlib1g-dev libxml2-dev libxslt1-dev vncviewer -dev curl zlib1g-dev ruby-dev
  5. paquete de instalación de gemas
  6. paquete de instalación
  7. ./msfupdate

A continuación, deberá conectar la base de datos.

  1. iniciar el servicio postgresql si no se está ejecutando
  2. su - postgres
  3. createuser "usuario" -P -S -R -D
  4. createdb -O "usuario" msf
  5. salida
  6. volver a la carpeta de inicio si actualmente accede a la carpeta git clone
  7. cd .msf4 /
  8. nano -w database.yml

agregue estas líneas al archivo. producción:
adaptador: base de
datos postgresql :
nombre de usuario msf :
contraseña "usuario"
: host "contraseña" :
puerto 127.0.0.1 :
grupo 5432 :
tiempo de espera 75 : 5


Luego regrese a la carpeta msf (carpeta git clone) y ejecute ./msfconsole

Disculpas por este formato, es mi primera solución y gracias a hak5 por el tutorial sobre la instalación de metasploit desde github y amionrails para el tutorial sobre la actualización de ruby. Hazme saber si esto funciona.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.