最近看了一些网上的安装metasploit方法,觉得有点过时了,遂,自行安装并测试之
以下是安装步骤:
1.从GITHUB上克隆METASPLOIT项目到本地,这里我不同于别人的真的github地址,那太慢了吧,用git镜像更快速。
https://github.com.cnpmjs.org/Simonmon945/metasploit-framework.git
克隆到本地后,将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
2.安装POSTGRESQL并进行配置,metasploit默认的数据库
brew install postgresql
这里以前的老教程会让你加上--without-ossp-build这个参数,可是brew已经没这个了,遂,我取消之,并通过测试。
删掉/usr/local/var/postgres 运行 initdb /usr/local/var/postgres
createuser msf -P -h 127.0.0.1
createdb -O msf msf -h 127.0.0.1
执行错误是没有启动数据库的原因,需要启动数据库pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
上面的步骤完成后,需更改metasploit的数据库连接配置,也就是第一步中的database.yml文件修改如下:
production: &production
adapter: postgresql
database: msf
username: msf
password: 你之前init数据库设置的密码
host: 127.0.0.1
port: 5432
pool: 75
timeout: 5
这里需要注意每个冒号后面需要一个空格,语法要求而已。
然后配置数据库的快捷开启关闭方式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'
3.安装特定版本的RUBY,并解决依赖
说到ruby的多版本管理rbenv类似于nodejs的nvm
brew install rbenv ruby-build
这里我想说时代在进步,不必要用以前的了,直接审计ruby到最新,我看了一下我的版本大于2.0.0 直接就用了,并没下载其他版本
然后就是安装bundle依赖安装器,gem install bundle
,不过天朝访问下载根本就下载不懂,所以需要改镜像源。淘宝镜像已经不维护了,不能使用了,RubyGems更换了域名后缀(原先是https://gems.ruby-china.org/)
所以正确的安装方式是:
移除https://rubygems.org源
gem sources --remove https://rubygems.org/
增加http://gems.ruby-china.org/源
gem sources -a http://gems.ruby-china.com/
记得是http不是https
现在可以解决依赖了,cd /usr/local/share/metasploit-framework rbenv rehash bundle install
依赖解决后,即可运行目录下的msfconsole启动metasploit终端控制器(已启动postgresql,不然会连不上数据库)
可以将msf命令批量添加进bin
for MSF in $(ls msf*); do ln -s /usr/local/share/metasploit-framework/$MSF /usr/local/bin/$MSF;done