¿Cómo instalar Metasploit en Mavericks + MacPorts? [cerrado]

0

Me gustaría instalar Metasploit en un sistema operativo reforzado.
Para ello elegí los Mavericks. solo porque puedo endurecer este sistema operativo bastante lejos.

Me gustaría instalar Metasploit con MacPorts porque hasta ahora, todas las mejores herramientas de seguridad que necesitaba se podían manejar correctamente con MacPorts a través de 4 versiones diferentes de MacOS X (Snow Leopard, Lion, Mountain Lion, Mavericks).
(Este desafío de instalación es parte de un bautismo por fuego.)

Ya hice esta instalación en versiones anteriores de este sistema operativo.
También encontré referencias bastante buenas para instalar Metasploit en MacOS X:

Desafortunadamente, ninguno de estos responde a mi búsqueda, y ninguno me lleva a una instalación exitosa.

¿Conoces una receta correcta y probada para instalar Metasploit en Mavericks + MacPorts?

    
pregunta daniel Azuelos 23.04.2014 - 10:20
fuente

1 respuesta

2

Versión utilizada

MacOS X        10.9.4
Xcode          5.1.1
MacPorts       2.3.1
Ruby           1.9.3
Postgresql     9.3.5
Metasploit     4.9.3

Método

Para evitar cualquier confusión entre los binarios del sistema, MacPorts y Metasploit Es fundamental comenzar a instalar todo en forma claramente separada. parte del sistema de archivos.

Estas son las opciones que tomé:

/local/MacPorts     initial install of MacPorts
/local/Metasploit   install of Metasploit
/opt/local          install of everything managed with MacPorts

Pasos

Los pasos generales para instalar Metasploit completamente son:

  1. Xcode + herramientas de línea de comando
  2. MacPorts
  3. Ruby
  4. Postgresql
  5. Metasploit

1. Xcode + herramientas de línea de comando

  • Descargue Xcode 5.1.1 desde la App Store (2 Go)
  • lanzarlo para verificar y aceptar la licencia
  • instala las herramientas de la línea de comandos con:

    xcode-select --install
    

2. MacPorts

  • Cree la estructura de directorio inicial (digamos que mi cuenta es BOB ).

    $ /usr/bin/sudo mkdir -p /local/MacPorts
    $ /usr/bin/sudo chown BOB /local/MacPorts
    
  • Descarga el último archivo tar:

    De MacPorts : MacPorts 2.3.1 para guardarlo en:

    /local/MacPorts/MacPorts-2.3.1.tar.bz2
    
  • Extraer

    $ cd /local/MacPorts
    $ tar xvf MacPorts-2.3.1.tar.bz2
    
  • Configurar, instalar

    $ /usr/bin/sudo mkdir -p /opt/local
    $ cd MacPorts-2.3.1
    $ ./configure --prefix=/opt/local
    $ /usr/bin/sudo make install
    

    port no está en mi PATH , y esto es normal.

  • 1st PATH switch

    (Estoy usando zsh ) Insertar dentro de ${HOME}/.profile , dentro de la sección que siempre se ejecuta y después de cualquier otra definición PATH o MANPATH :

    PATH=/opt/local/bin:/opt/local/sbin:${PATH}
    export PATH
    MANPATH=/opt/local/share/man:/usr/share/man
    export MANPATH
    

    PATH switch :

    $ . ${HOME}/.profile
    
  • Actualizar MacPorts DB

    $ /usr/bin/sudo port -d selfupdate
    

    port en mi PATH , y esto es normal.

3. Ruby

  • Descargue, configure e instale ruby19

    $ /usr/bin/sudo port install ruby19
    $ /usr/bin/sudo port select ruby ruby19
    

    comprueba que todo está bien hasta el momento:     $ type ruby     / opt / local / bin / ruby     $ ruby --version     ruby 1.9.3p547 ...

  • Descargue, configure e instale bundler

    $ gem install bundler
    

4. Postgresql

  • Descargue, configure e instale postgresql93

    $ /usr/bin/sudo port install postgresql93-server
    

    se mostrará la instalación correcta:

To create a database instance, after install do
 sudo mkdir -p /opt/local/var/db/postgresql93/defaultdb
 sudo chown postgres:postgres /opt/local/var/db/postgresql93/defaultdb
 sudo su postgres -c '/opt/local/lib/postgresql93/bin/initdb -D /opt/local/var/db/postgresql93/defaultdb' 

Simplemente ejecute estos 3 comandos, y en la inicialización correcta de la base de datos, postgresql le avisará:

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

    /opt/local/lib/postgresql93/bin/postgres -D /opt/local/var/db/postgresql93/defaultdb
or
    /opt/local/lib/postgresql93/bin/pg_ctl -D /opt/local/var/db/postgresql93/defaultdb -l logfile start
  • Use el launchd plist instalado por MacPorts en el lugar correcto:

    $ /usr/bin/sudo launchctl load -w /Library/LaunchDaemons/org.macports.postgresql93-server.plist
    

    comprueba que todo está bien hasta ahora:

    $ telnet localhost 5432
    Trying ::1...
    Connected to localhost.
    

    ctl+C

  • Secure postgresql (una base de datos de vulnerabilidades debe ser de acceso muy restringido)

    $ cd /opt/local/var/db/postgresql93/defaultdb
    

    edite pg_hba.conf para eliminar las líneas:

    local   all     all                     trust
    host    all     all     127.0.0.1/32    trust
    host    all     all     ::1/128         trust
    

    y reemplázalos con:

    local   postgres        postgres                trust
    local   msf_db          msf_user                trust
    

    Reinicie postgresql en este modo con acceso limitado a través del socket de dominio UNIX.

    $ /usr/bin/sudo launchctl stop org.macports.postgresql93-server
    
  • Seleccione la versión postgresql correcta

    $ /usr/bin/sudo port select postgresql postgresql93
    
  • Configure la base de datos Metasploit para utilizar

    Digamos que el usuario que usará será msf_user , con la contraseña pass_pass y el DB será msf_db . Cambia al usuario postgres :

    $ /usr/bin/sudo /usr/bin/su postgres
    $ createuser msf_user -p
    Enter password for new role: pass_pass
    Enter it again: pass_pass
    $ createdb -O msf_user msf_db
    

    Estos 2 comandos no mostrarán nada, esto significa que todo está bien.

5. Metasploit

  • Instalar Metasploit

    $ /usr/bin/sudo mkdir -p /local/Metasploit
    $ /usr/bin/sudo chown BOB /local/Metasploit
    $ cd /local/Metasploit
    $ git clone --depth=1 git://github.com/rapid7/metasploit-framework .
    
  • 2nd PATH switch

    Insertar dentro de ${HOME}/.profile , dentro de la sección que siempre se ejecuta y después de cualquier otra definición PATH o MANPATH :

    PATH=/local/Metasploit:${PATH}
    export PATH
    

    PATH switch :

    $ . ${HOME}/.profile
    
  • Actualizar Metasploit :

     $ msfupdate
    
  • Configure el acceso a la base de datos:

    $ cd /local/Metasploit/config
    $ cp database.yml.example database.yml
    $ vi database.yml
    

    para incluir allí este bloque uniq:

    production:
      adapter:      postgresql
      database:     msf_db
      username:     msf_user
      password:     pass_pass
      port:         5432
      pool:         75
      timeout:      5
    

    Para obtener una conexión automática en cada inicio, incluya la siguiente línea en el script de inicialización metasploit :

    $ cat >${HOME}/.msf4/msfconsole.rc <<eof
    db_connect -y /local/Metasploit/config/database.yml
    eof
    
  • Comprueba que todo funciona:

    $ msfconsole
    msf > db_status
    [*] postgresql connected to msf_db
    msf >
    
  • Sírvete una taza de champaign :).

respondido por el daniel Azuelos 28.07.2014 - 20:35
fuente

Lea otras preguntas en las etiquetas