OSX10.10 Yosemite安裝Metasploit

暮晨發表於2017-03-16

安裝環境

操作時間: 2015/6/8

作業系統: OSX Yosemite 10.10.3

Metasploit版本: v4.11.0-dev [core:4.11.0.pre.dev api:1.0.0]

Ruby版本: 2.1.6p336 (2015-04-13 revision 50298)

整體安裝步驟

  1. 從github上克隆Metasploit專案到本地

  2. 安裝postgresql資料庫並進行配置

  3. 安裝特定版本的ruby,解決依賴

下面正式開始安裝

1.從GitHub上克隆Metasploit專案到本地

首先開啟終端並輸入以下命令,因為10.10自帶git所以就不用再安裝git了。

git clone https://github.com/rapid7/metasploit-framework.git /usr/local/share/metasploit-framework

將Metasploit克隆到本地後,將/usr/local/share/metasploit_framework/config/目錄下的配置檔案database.yml新增到環境變數中。

*如果databse.yml不存在則執行下面的命令複製database.yml.example。

cp /usr/local/share/metasploit-framework/config/database.yml.example /usr/local/share/metasploit-framework/config/database.yml

在$HOME/.bash_profile或者其他配置檔案中新增下面這條配置

export MSF_DATABASE_CONFIG=/usr/local/share/metasploit-framework/config/database.yml

2.安裝postgresql資料庫並進行配置

metasploit下載完後還需要連線預設的postgresql,這個預設是沒有安裝的

可以直接使用brew來下載並自動安裝postgresql

brew系統並不自帶,需要自己安裝,安裝方法可以百度,並不難

安裝過MacPort工具的童鞋這裡請注意,brew和MacPort有衝突,要使用brew需要先解除安裝MacPort

執行下面的命令安裝postgresql

brew install postgresql --without-ossp-build

等待自動安裝完成後,初始化postgresql

initdb /usr/local/var/postgres

*如果出現錯誤請刪掉/usr/local/var/postgres,然後重試上一條命令

初始化完成後,為Metasploit新增資料庫使用者和建立相應地DB

/usr/local/var/postgres -l /usr/local/var/postgres/server.log start

先啟動postgresql,不然下面的使用者新增命令會報錯

createuser msf -P -h localhost

*建立資料庫使用者,輸入後會要求你輸入新密碼。

createdb -O msf msf -h localhost

*建立相應地DB

完成後關閉pstgres資料庫

/usr/local/var/postgres stop

上面的步驟完成後,修改Metasploit的資料庫連線配置,也就是第一步中的 /usr/local/share/metasploit-framework/config/database.yml

只要修改database.yml中的dababase、username、password就可以了,修改如下

development: &pgsql

	adapter: postgresql

	database: msf

	username: msf

	password: {your password}

	host: localhost

	port: 5432

	pool: 5

	timeout: 5

完成後就可以開始第三步了。

可以修改/etc/bashrc檔案來新增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'

也可以使用alisa簡便每次的啟動,比如

alias msfconsole='pg_start & /usr/local/bin/msfconsole'

3. 安裝特定版本的ruby,並解決依賴

對於ruby的多版本管理,這裡使用rbenv,透過brew直接安裝

brew install rbenv ruby-build

rbenv安裝完成後,在$HOST/.bash_profile或者其他配置檔案中新增如下設定

eval "$(rbenv init -)"

然後就可以透過brenv來安裝特定版本的ruby了,首先列出當前可用的版本

rbenv install --list

可以看到幾乎所有的ruby版本,這裡我們安裝ruby-2.1.6

*很多教程都教你安裝1.9.3版的ruby,已經太舊了

rebenv install 2.1.6

這裡需要等一會,並不是卡死了,rbenv會將各個版本的ruby安裝在$HOST/.rbenv/version/下,完成後,將下載的版本設定為系統預設

rbenv rehash

rbenv global 2.1.6

完成後重新開啟終端,輸入

ruby -version

*檢視當前的預設ruby版本

下面安裝bundle來解決依賴問題

gem install bundle

安裝的時候,由於被牆的原因可能會出現連線問題,你可以選擇多試幾次、FQ或者給gem換一個國內的淘寶源

*換源的方法很簡單,執行下面的命令就可以了

gem sources --remove https://rubygems.org/

gem sources -a https://ruby.taobao.org/

gem sources -l

*然後你會看到

*** CURRENT SOURCES ***



https://ruby.taobao.org

# 請確保只有 ruby.taobao.org

*再重新執行bundle安裝命令就行了

*如果你在安裝的時候看見如下錯誤提示

Fetching: bundler-1.2.3.gem (100%)

Fetching: bundle-0.0.1.gem (100%)

Successfully installed bundler-1.2.3

Successfully installed bundle-0.0.1

2 gems installed

Installing ri documentation for 	bundler-1.2.3...

Installing ri documentation for bundle-0.0.1...

file 'lib' not found

Installing RDoc documentation for bundler-1.2.3...

Installing RDoc documentation for bundle-0.0.1...

file 'lib' not found

*只要先安裝rdoc就行了

sudo gem install rdoc

bundle安裝完成後,再次進入Metasploit的主目錄解決模組包得依賴問題

cd /usr/local/share/metasploit-framework

rbenv rehash

bundle install

*在這裡執行bundlee install如果出錯,出錯提示如下

vagrant@precise64:/vagrant/meetup$ bundle install

Fetching gem metadata from https://rubygems.org/...........

Resolving dependencies...



Gem::RemoteFetcher::FetchError: SocketError: getaddrinfo: Name or service not known (https://rubygems.org/gems/rake-10.4.2.gem)

An error occurred while installing rake (10.4.2), and Bundler cannot continue.

Make sure that `gem install rake -v '10.4.2'` succeeds before bundling.

*說明你是被牆了,還需要把Metasploit的源也換成淘寶的

vim /usr/local/share/metasploit-framework/Gemfile

*將檔案內的

source 'http://rubygems.org'

*註釋掉,新增

source 'http://ruby.taobao.org/'

*儲存退出就行了重執行bundle安裝命令就行了

全部依賴解決後,可執行目錄下的msfconsoleq啟動metasploit終端控制器(啟動前必須下啟動postgresql資料庫)

可以將msf命令批次連線到bin下

for MSF in [Math Processing Error](lsmsf∗);doln−s/usr/local/share/metasploit−framework/MSF /usr/local/bin/$MSF;done

最後是安裝完成的截圖:

*全文過半抄襲自 http://www.freebuf.com/articles/system/36924.html ,只是更新了下版本和幾個小問題

相關文章