凡火火。 发表于 2015-12-7 05:58:30

MacOS X EI从零安装Metasploit Framework

本帖最后由 凡火火。 于 2015-12-7 07:19 编辑

因本文对于基础要求较高并对编程语言及Linux要有一定了解 如有疑问请发送Email至ev1l@ihonker.org或单独在Web问答区域单独开贴提问。

0x00   前言
由于今年年中入手了Macbook Pro 至今学业繁忙没有空闲时间研究。
这几天正好在学校呆着没什么事情就准备去试一下能不能搞到什么好东西。
想安装Metasploit做测试的时候发现对Mac并不是特别了解于是折腾很久终于装好。
但参考互联网上流传的各个版本安装方法都有一些不足或不适应新版本OS X系统遂整理此贴。
也算是自从成为08小组成员之后发的第一个干货贴,不多说往下看吧。

0x01   准备工作

[*]可以安装MacOS的计算机一台*
[*]无线局域网*

*1:包括但不限于:MacBook Air、MacBookPro、MacBook、Mac Pro、iMac及可以安装Mac OS的intel计算机。
*2:可能用到VPN等代理软件

0x02   从Github中cloneMetasploit Framework源码
众所周知Metasploit是全世界都在使用的开源渗透测试框架,安装的第一步就是在官方给出的Github仓库中把源代码clone到本地具体操作如下。

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

Ps:若速度过慢可使用VPN代理国外IP下载速度会快很多
在漫长的下载过程后可以先暂时不需要进行配置甚至启动 Metasploit本身作为一个ruby语言开发的框架需要大量的依赖插件 在Mac上此类插件偏偏大量缺失 所以需要自己动手补全插件及安装依赖环境。

0x03   安装PostgreSQL
任何一个好的程序如果把所有数据全部保存在内存中那么势必需要占用大量的系统资源导致系统卡顿,那么数据库就应运而生。
Metasploit所搭配的数据库并不是常见的access或者My/MsSQL数据库 而是PostgreSQL,但Metasploit中对于数据库的操作要求并不多所以没有基础也不要担心。

由于是Mac Os 所以可以直接使用brew命令进行安装。
brew install postgresql
互联网中大量的文章都使用了--without-ossp-build参数 但是经实测并没有太多用处反而可能报错误导新手 如果有基础可以自行添加。
吐槽一句 文章写出来被大量转载不注明出处的现象真的泛滥。


在下载完成后正常使用
initdb /usr/local/var/postgres
进行安装PostgerSQL

有时会报错 执行以下命令后重新安装
rm -rf /usr/local/var/postgres

初始化完毕后进行配置PostgreSQL


createuser databaseName -P -h localhost
createdb -O databaseUsername databasePassword -h localhost

并修改database.yml中配置
production:
    adapter: postgresql
    database: <databaseName >
    username: <databaseUsername>
    password: <databasePassword>
    host: 127.0.0.1
    port: 5432
    pool: 75
    timeout: 5

这里注意一个问题就是一定别省略:后面的空格不然最后运行Metasploit时会报两页错误的

若提示没有权限请使用vi。


0x04   安装新版Ruby环境
由于在Metasploit中需要安装众多依赖所以ruby版本就变成了一个至关重要的问题。
在互联网上流传的文章中都在推荐使用1.9.3版本,但实际安装过程中 有几个插件无法使用1.9.3版本安装。
甚至metaploit-concern无法在Ruby2.1以下版本中使用 查询source后发现所有历史版本都依赖于2.1
暂时不清楚网上使用1.9.3版本 是怎么安装的

Ruby版本安装我还是推荐rbenv大过rvm
理由有二,第一操作简单,第二需要的参数没有rvm多比较适合没有基础的我等小白。
同样直接使用brew安装即可。
brew install rbenv

安装完成后要在环境变量中添加以下语句
eval "$(rbenv init -)"
否则无法设置系统ruby版本 一直会使用2.0.0来安装。


开始安装ruby
rbenv install 2.1.7
版本推荐2.1.7比较稳定当然再高也可以。
漫长的等待以后安装完成 设置此版本为系统默认
rbenv gobal 2.1.7

完成后在shell中输入
ruby --version
即可查看ruby版本

现在还是无法运行Metasploit,继续安装依赖包。

0x05   安装依赖包
使用bundle进行安装依赖
首先安装bundle
gem install bundle
*如果出现网络问题请使用VPN

等待漫长的安装过程后进入Metasploit目录运行
bundle install
自动安装依赖。
建议全过程使用VPN或更换淘宝源
具体操作如下:
在shell中运行
gem source -r https://rubygems.org/
gem source -a https://ruby.taobao.org

在bundle install过程中 必然会出现某个依赖包因为各种各样的问题而无法安装。
请根据提示 自行使用gem安装单独依赖。
gem install <Gems>
在此过程中请务必放平心态,一个一个解决。
此处列出部分错误的关键字及解决办法 如有问题请向上翻看本贴第一句话。

[*]Permission denied        使用sudo重新运行gem install命令
[*]Connect        连接超时 使用VPN或换源解决
[*]Could not find a valid gem        大多数情况下是源产生故障 等待一段时间后重新运行就可以了


这里单独列出一个Gem的问题就是nokogiri
重新安装之前请删除
/Library/Ruby/2.0.0/cache
后重新安装 否则会报错。

在漫长的过程结束后 最后运行
bundle install
如果没有任何错误完全安装完毕
那么开心的运行吧
./msfconsole

附截图。


0x06   结束语
Metasploit的强大不用多说 他激励着一批又一批的人来研究推动 至今 已经开发到4.11.5版本拥有1500多个exp。
本文只在OS X EI 10.11.1        Ruby 2.1.7中安装 在以后的日子中必定会产生无数系统更新 但万变不离其宗。
有任何问题请联系ev1l@ihonker.org

全文终。

conosc 发表于 2015-12-7 09:32:56

呃,,,不太懂的说,,,在看遍,,

乐生乐道 发表于 2015-12-7 11:16:46

若速度过慢可使用VPN代理国外IP下载速度会快很多?这是什么情况造成的?一般代理不是速度变慢吗?

zxsaas 发表于 2015-12-7 12:23:30

能装双系统吗,撸主可有装mac的系统啊

凡火火。 发表于 2015-12-8 08:31:47

zxsaas 发表于 2015-12-7 12:23
能装双系统吗,撸主可有装mac的系统啊

为何要装双系统呢

凡火火。 发表于 2015-12-8 08:33:12

乐生乐道 发表于 2015-12-7 11:16
若速度过慢可使用VPN代理国外IP下载速度会快很多?这是什么情况造成的?一般代理不是速度变慢吗? ...

先了解下VPN的机制.
因为bundle等仓库均在国外偶尔还会出现大姨妈的问题.
挂VPN是个很好的选择.

凡火火。 发表于 2015-12-11 09:26:30

果然发技术贴没人看。封贴。
页: [1]
查看完整版本: MacOS X EI从零安装Metasploit Framework