安裝的幾個步驟:
0×00-從github上複製Metasploit項目到本地;
0×01-安裝postgresql並進行配置;
0×02-安裝特定版本的ruby,並解決依賴;
0×00 從github上複製Metasploit項目到本地
話說github真是什麼都有,很多好的項目在上面都能找到,首先開啟終端並輸入下列命令,因為10.9.3內建了git,所以就不需要另外安裝了
git clone https://github.com/rapid7/metasploit-framework.git /usr/local/share/metasploit-framework
複製到本地後,將metasploit-framework/config/目錄下的設定檔:database.yml 添加到環境變數中(database.yml 也許不存在,直接複製database.yml.example)
在$HOME/.bash_profile或者其他設定檔中添加下面這條配置
export MSF_DATABASE_CONFIG=/usr/local/share/metasploit-framework/config/database.yml
0×01 安裝postgresql並進行配置
metasploit下載完後,不急著去配置,因為metasploit的預設資料庫postgresql還沒有裝上
你可以直接使用brew來下載並自動安裝postgresql,可以運行如下命令
brew install postgresql --without-ossp-build
等待自動安裝完畢,完成後,初始化postgresql(若出現錯誤刪掉/usr/local/var/postgres,並重試)
initdb /usr/local/var/postgres
初始化完畢後,為metasploit添加資料庫使用者和建立相應DB
createuser msf -P -h localhost createdb -O msf msf -h localhost
(上面參數不懂了,大家可以百度一下,這裡就不做過多解釋了)
上面的步驟完成後,需更改metasploit的資料庫連接配置,也就是第一步中的database.yml檔案
在database.yml中,將資訊修改如下
production: adapter: postgresql database: msf username: msf password: <your password> host: 127.0.0.1 port: 5432 pool: 75 timeout: 5
完成後,進入第三步!
(可自行添加alisa來簡便每一次postgresql的啟動)
alias pg_start='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start'alias pg_stop='pg_ctl -D /usr/local/var/postgres stop'
0×02 安裝特定版本的ruby,並解決依賴
說到ruby的多版本管理,這裡就要用最給力的工具了rbenv(可以在github上找到,也可以使用brew直接安裝)
brew install rbenv ruby-build
rbenv安裝完成後,在$HOST/.bash_profile或其他設定檔中添加如下設定
下面就可以通過rbenv來安裝特定版本的ruby了,首先列出當前可用的ruby版本
可以看到幾乎所有的ruby版本都有,這裡我們選擇安裝ruby-1.9.3-p547(因為OS X 10.9.3 內建的ruby為2.0.0版本,在某些地方會產生問題)
這裡可能會等一會兒,rbenv會將各個版本的ruby安裝在$HOST/.rbenv/versions/下,完成後,將下載的版本設定為系統預設
rbenv rehashrbenv global 1.9.3-p547
完成後,重新開啟終端,輸入ruby –version就可以看到當前預設的ruby版本已經設定成為1.9.3-p547
下面安裝bundle來解決依賴問題
安裝的時候,可能會出串連問題,多試幾次即可
bundle安裝完畢後,再次進入metasploit的主目錄解決模組包的依賴
cd /usr/local/share/metasploit-frameworkrbenv rehashbundle install
(在bundle install的過程中,可能會出現某一個特定版本的模組安裝失敗的問題,解決方案:根據GemFiles裡的版本限制,自行使用gem安裝替代版本,完成後,刪掉GemFiles.lock,重新運行bundle install)
依賴解決後,即可運行目錄下的msfconsole啟動metasploit終端控制器(已啟動postgresql,不然會連不上資料庫)
可以將msf命令批量ln到bin下
for MSF in $(ls msf*); do ln -s /usr/local/share/metasploit-framework/$MSF /usr/local/bin/$MSF;done
下面是完成後的截圖