Come installare Metasploit su Mavericks + MacPorts? [chiuso]

0

Vorrei installare Metasploit su un sistema operativo consolidato.
Per questo scopo ho scelto Mavericks solo perché sono in grado di rafforzare questo sistema operativo abbastanza lontano.

Vorrei installare Metasploit con MacPorts perché fino ad ora tutti i migliori strumenti di sicurezza di cui avevo bisogno erano gestibili correttamente con MacPorts attraverso 4 diverse versioni di MacOS X (Snow Leopard, Lion, Mountain Lion, Mavericks).
(Questa sfida di installazione fa parte di un battesimo di fuoco.)

Ho già fatto questa installazione su versioni precedenti di questo sistema operativo.
Ho già trovato dei riferimenti abbastanza buoni per installare Metasploit su MacOS X:

Sfortunatamente nessuna di queste risposte alla mia ricerca, e nessuna mi porta ad una installazione di successo.

Conosci una ricetta corretta e testata per installare Metasploit su Mavericks + MacPorts?

    
posta daniel Azuelos 23.04.2014 - 10:20
fonte

1 risposta

2

Versione utilizzata

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

Metodo

Per evitare qualsiasi confusione tra i binari di sistema, MacPorts e Metasploit è fondamentale iniziare a installare tutto in modo chiaramente separato parte del filesystem.

Ecco le scelte che ho fatto:

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

Passi

I passaggi generali per installare completamente Metasploit sono:

  1. Xcode + strumenti da riga di comando
  2. MacPorts
  3. Rubino
  4. Postgresql
  5. Metasploit

1. Xcode + strumenti da riga di comando

  • Scarica Xcode 5.1.1 dall'App Store (2 Vai)
  • avviarlo per verificare e accettare la licenza
  • installa gli strumenti della riga di comando con:

    xcode-select --install
    

2. MacPorts

  • Crea la struttura della directory iniziale (diciamo che il mio account è BOB ).

    $ /usr/bin/sudo mkdir -p /local/MacPorts
    $ /usr/bin/sudo chown BOB /local/MacPorts
    
  • Scarica l'ultimo tarball:

    Da MacPorts : MacPorts 2.3.1 per salvarlo sotto:

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

    $ cd /local/MacPorts
    $ tar xvf MacPorts-2.3.1.tar.bz2
    
  • Configura, installa

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

    port non è nella mia PATH , e questo è normale.

  • 1st PATH switch

    (sto usando zsh ) inserisco all'interno di ${HOME}/.profile , all'interno della sezione che viene sempre eseguito e dopo ogni altra PATH o MANPATH definizione:

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

    PATH opzione :

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

    $ /usr/bin/sudo port -d selfupdate
    

    port nel mio PATH , e questo è normale.

3. Rubino

  • Scarica, configura e installa ruby19

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

    controlla che tutto sia ok finora:     $ tipo rubino     / Opt / local / bin / ruby     $ ruby --version     rubino 1.9.3p547 ...

  • Scarica, configura e installa bundler

    $ gem install bundler
    

4. Postgresql

  • Scarica, configura e installa postgresql93

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

    verrà visualizzata l'installazione corretta:

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' 

Semplicemente esegui questi 3 comandi e, all'avvio corretto del DB, postgresql ti avviserà:

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
  • Utilizza il launchd plist installato da MacPorts nel posto giusto:

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

    controlla che tutto sia ok finora:

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

    CTL + C

  • Proteggi postgresql (un DB di vulnerabilità dovrebbe avere un accesso molto limitato)

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

    modifica pg_hba.conf per rimuovere le linee:

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

    e sostituiscili con:

    local   postgres        postgres                trust
    local   msf_db          msf_user                trust
    

    Riavvia postgresql in questa modalità limitata all'accesso tramite il socket del dominio UNIX.

    $ /usr/bin/sudo launchctl stop org.macports.postgresql93-server
    
  • Seleziona la versione postgresql corretta

    $ /usr/bin/sudo port select postgresql postgresql93
    
  • Configura il DB Metasploit da utilizzare

    Supponiamo che l'utente da utilizzare sarà msf_user , con password pass_pass e il DB sarà msf_db . Passa all'utente 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
    

    Questi 2 comandi non mostreranno nulla, questo significa che tutto è OK.

5. Metasploit

  • Installa 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

    Inserisci all'interno di ${HOME}/.profile , all'interno della sezione che viene sempre eseguito e dopo ogni altra PATH o MANPATH definizione:

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

    PATH opzione :

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

     $ msfupdate
    
  • Configura l'accesso al DB:

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

    per includere questo blocco uniq:

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

    Per ottenere una connessione automatica ad ogni avvio, includi la seguente riga nello script di inizializzazione metasploit :

    $ cat >${HOME}/.msf4/msfconsole.rc <<eof
    db_connect -y /local/Metasploit/config/database.yml
    eof
    
  • Controlla che tutto funzioni:

    $ msfconsole
    msf > db_status
    [*] postgresql connected to msf_db
    msf >
    
  • Aiuta te stesso una tazza di champagne:).

risposta data 28.07.2014 - 20:35
fonte

Leggi altre domande sui tag