macOS平台安裝metasploit


 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM