1 在Github上克隆Metasploit
git clone https://github.com/rapid7/metasploit-framework.git /usr/local/share/metasploit-framework
Metasploit整個項目大小為28M多, git clone的速度是非常慢的, 自己掛個VPN去下載吧, 如果沒有等個2個多小時就完事了。
克隆完成后, 檢查metasploit-framework/config目錄下的database.yml是否存在,不存的話復制database.yml.example並命名為database.yml.
在/.bash_profile( 根據你的終端來選擇配置文件 )中添加下面這條配置:
export MSF_DATABASE_CONFIG=/usr/local/share/metasploit-framework/config/database.yml
最后, 更新配置文件:
source .bash_profile
2 安裝與配置PostgreSQL
使用Homebrew安裝:
brew install postgresql --without-ossp-build
安裝完成后, 輸入以下命令初始化PostgreSQL, 如果初始化過程中出現錯誤, 刪除/usr/local/var/postgres, 再次運行初始化命令:
initdb /usr/local/var/postgres -E utf8
PostgreSQL的啟動命令:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
PostgreSQL的停止命令:
pg_ctl -D /usr/local/var/postgres stop -s -m fast
為了方便啟動與停止PostgreSQL, 可以在你的配置文件添加別名:
alias start_pgsql='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start' alias stop_pgsql='pg_ctl -D /usr/local/var/postgres stop'
接下來, 啟動PostgreSQL:
start_pgsql
接着為Metasploit添加數據庫用戶和創建相應Database:
createuser metasploit -P -h localhost createdb -O metasploit metasploit -h localhost
createuser metasploit -P -h localhost為本地創建了一個名為metasploit的數據庫服務器主機並且創建的時候需要密碼.
相似的, createdb -O metasploit metasploit -h localhost創建了一個數據庫, 該數據庫的擁有者為metasploit.
你可以選擇你喜歡的名字來來創建User和Database, 只要和下面的database.yml一一對應即可.
回到metasploit-framework/config/目錄下, 打開database.yml, 作出如下修改:
production: adapter: postgresql database: metasploit username: metasploit password: <你的密碼> host: 127.0.0.1 port: 5432 pool: 75 timeout: 5
注意是修改production下面的行, 不是development.
3 安裝與Metasploit相關的Ruby版本
由於macOS自帶的ruby版本為2.0.0, 版本低於Metasploit所使用的版本.
目前兩大Ruby版本管理工具是Rbenv和RVM, 在這里使用Ruenv作為示例.
使用Homebrew安裝:
brew install rbenv ruby-build
ruby-build是rbenv的插件, 提供了rbenv install的命令, 實現了自動編譯安裝 Ruby、輕松管理多個 Ruby 版本的目的
rbenv安裝完成后,在你的配置文件中添加如下配置:
eval "$(rbenv init -)"
下面就可以通過rbenv來安裝特定版本的ruby了,可以用以下命令列出當前可用的ruby版本:
rbenv install --list
最新Metasploit使用的Ruby版本是2.3.1, 輸入以下的命令來安裝:
rbenv install 2.3.1
在這里, rbenv是用境外的源來下載的, 由於國內被牆( 你懂得 ), 速度非常慢的, 甚至下載不了, 推薦使用淘寶鏡像, 使用wget下載:
wget -q https://ruby.taobao.org/mirrors/ruby/ruby-2.3.1.tar.bz2 -O ~/ruby-2.3.1.tar.bz2
如果沒有wget, 用Homebrew安裝:
brew install wget
下載完成之后, 用rbenv安裝指定的包:
env RUBY_BUILD_MIRROR_URL=file://*/ruby-2.3.1.tar.bz2# rbenv install 2.3.1
*號替換為/Users/你的用戶名.
env RUBY_BUILD_MIRROR_URL=file://用來映射指定文件的URL, 接着使用#后面的命令來安裝2.3.1的版本.
稍等一會, 安裝就完成了, rbenv安裝的各個版本的Ruby在~/.rbenv/versions/下, 接下來將Ruby2.3.1設置為系統默認版本.
設置完成后, 重新打開終端, 使用以下命令就可以查看Ruby當前版本:
ruby --version
接下來安裝bundle, bundle是rails框架里面安裝Gemfile指定的各種庫的工具:
gem install bundle
注意這里,我執行到這里的時候一看沒有權限就sudo執行了,這里一定不要用sudo權限。
后來放棄了,其實可以手工指定下安裝路徑就可以了
安裝rvm進行配置ruby:
gpg−−keyserverhkp://keys.gnupg.net−−recv−keys409B6B1796C275462A1703113804BB82D39DC0E3curl -sSL https://get.rvm.io | bash -s stable
報錯:
1 WARNING: You have '~/.profile'file, you might want to load it, 2 to do that add the followingline to '/Users/xx/.bash_profile':
終端中執行:
echo "source ~/.profile" >> ~/.bash_profile
bundle完成安裝后, 進入到metasploit-framework目錄下, 解決模塊包的依賴
bundle install #沒再繼續用rbenv
Bundle Complete
這里所的gems都是從境外的源過來的, 速度很慢, 沒辦法.
有人說, 我可以修改Gemfile里面的源為淘寶源, 但是淘寶鏡像的同步是定期執行的,新發布的 Gem 可能沒有那么快同步過來,你需要稍等一段時間后才能使用.
你可試試修改成淘寶的源, 如果提示找不到對應的源, 你就要改回原來的源, 否則bundle無法完成安裝.
在bundle install的過程中,可能會出現某一個特定版本的模塊安裝失敗的問題, 如果出現安裝失敗的提示, 刪除掉提示安裝失敗的gem, 如以下命令你:
rm -f ~/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/cache/metasploit-payloads-1.1.24.gem #需改為rvm安裝的ruby路徑
Congratulations, 你的Metasploit的環境已經搭建完畢.
Final Step: 啟動msfconsole
啟動msfconsole之前需要啟動PostgreSQL, 否則數據庫連接不上.
然后用以下腳本講msf命令批量軟連接到bin下( msf命令在metasploit-framework目錄下 ):
for MSF in $(ls msf*); do ln -s /usr/local/share/metasploit-framework/$MSF /usr/local/bin/$MSF;done
在終端輸入msfconsole啟動Metasploit用戶接口:
安裝完發現已經有pkg安裝包了##
參考鏈接:
https://www.jianshu.com/p/1077b96bec49
http://www.freebuf.com/articles/system/36924.html