本文是在:http://www.freebuf.com/articles/system/36924.html的基础下进行更新的。
前言
从买了《Metasploit渗透测试魔鬼训练营》到现在都好久了,一直处于三分钟热度状态,希望从现在开始,好好学好它,精而悟道!0x00 将Metasploit项目克隆到本地
首先用Git命令行把最新的Metasploit项目克隆到本地:
<pre><code>git clone https://github.com/rapid7/metasploit-framework.git /usr/local/share/metasploit-framework</code></pre>克隆到本地后,将metasploit-framework/config/目录下的database.yml.example文件复制一份名为database.yml。并且修改$HOME/.bash_profile文件(在当前用户目录下),添加下面这条配置:<pre><code>
export MSF_DATABASE_CONFIG=/usr/local/share/metasploit-framework/config/database.yml
</code></pre>安装并配置PostgreSQL
先依照brew官网最新方式安装brew,安装成功后就可以使用brew来下载并自动安装PostgreSQL了:<pre><code>brew install postgresql --without-ossp-build</code></pre>等待自动安装完毕后,初始化PostgreSQL(若出现错误,先删除/usr/local/var/postgres,并重试)<pre><code>
initdb /usr/local/var/postgres
</code></pre>初始化完毕后,为Metasploit添加数据库用户和创建相应的数据库<pre>
<code>
createuser msf -P -h 127.0.0.1
</code>
<code>
createdb -O msf msf -h 127.0.0.1
</code>
</pre>配置完成PostgreSQL之后,需要对Metasploit的数据库连接做相应配置,也就是将上面的database.yml文件修改为如下:<pre><code>production:</code>
<code>adapter: postgresql</code>
<code>database: msf</code>
<code>username: msf</code>
<code>password: <your password></code>
<code>host: 127.0.0.1</code>
<code>port: 5432</code>
<code>pool: 75</code>
<code>timeout: 5</code></pre>最后可自行添加alias别名,方便日后PostgreSQL的启动和关闭(就不需要输入一堆命令,而是使用pg_start即可启动PostgreSQL,pg_stop),在$HOME/.bash_profile文件中添加如下设置即可:<pre><code>alias pg_start='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start'</code>
<code>alias pg_stop='pg_ctl -D /usr/local/var/postgres stop'</code></pre>安装最新版本ruby
使用brew安装rbenv工具,用于管理ruby的各个版本<pre><code>brew install rbenv ruby-build</code></pre>rbenv安装完成后,在$HOST/.bash_profile文件中加入如下设置:<pre><code>eval "$(rbenv init -)"</code></pre>接下来可以使用以下命令查看当前可用的ruby版本:<pre><code>rbenv install --list</code></pre>写这篇文章时,Github中的Metasploit-Framework支持最新的ruby-2.3.1,之前Freebuf文章说OS X 10.9.3 自带的ruby为2.0.0版本,在某些地方会产生问题,所以建议我们选择安装ruby-1.9.3-p547,但时隔这么久,还是希望能选择新的版本。所以这里我安装的是ruby-2.3.1:<pre><code>rbenv install 2.3.1</code></pre>安装完成后,需要输入以下命令将当前系统ruby版本设为指定版本:<pre><code>rbenv rehash</code>
<code>rbenv global 2.3.1</code></pre>完成后,输入ruby -v可查看是否安装成功。-
使用bundle解决模块包的依赖
在安装bundle之前,需要将官方源地址改为淘宝的地址,至于原因,大天朝的网络你懂的。最新的设置可参考https://ruby.taobao.org:<pre><code>gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/</code>
<code>gem sources -l</code>
<code># 请确保只有https://ruby.taobao.org</code></pre>设置完成后,就可以安装bundle了:
<pre><code>gem install bundle</code></pre>安装后,再次进入metasploit的主目录解决模块包的依赖:<pre><code>cd /usr/local/share/metasploit-framework</code>
<code>rbenv rehash</code>
<code>bundle install</code></pre>依赖解决后,即可运行目录下的msfconsole启动Metasploit终端控制器(已启动PostgreSQL,不然会连不上数据库)
可以将msf命令批量ln到bin下<pre><code>for MSF in $(ls msf*); do ln -s /usr/local/share/metasploit-framework/$MSF /usr/local/bin/$MSF;done</code></pre>
下面是安装成功后的截图(完成于:2016年5月13日)
如有问题,再进行文章更新,希望自己能够坚持学下去!