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