查看: 15090|回复: 6

MacOS X EI从零安装Metasploit Framework

[复制链接]
发表于 2015-12-7 05:58:30 | 显示全部楼层 |阅读模式
本帖最后由 凡火火。 于 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到本地具体操作如下。

[AppleScript] 纯文本查看 复制代码
git clone [url]https://github.com/rapid7/metasploit-framework.git[/url] /usr/local/share/metasploit


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

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

由于是Mac Os 所以可以直接使用brew命令进行安装。
[AppleScript] 纯文本查看 复制代码
brew install postgresql

互联网中大量的文章都使用了--without-ossp-build参数 但是经实测并没有太多用处反而可能报错误导新手 如果有基础可以自行添加。
吐槽一句 文章写出来被大量转载不注明出处的现象真的泛滥。
1.png

在下载完成后正常使用
[AppleScript] 纯文本查看 复制代码
initdb /usr/local/var/postgres

进行安装PostgerSQL

有时会报错 执行以下命令后重新安装
[AppleScript] 纯文本查看 复制代码
rm -rf /usr/local/var/postgres


初始化完毕后进行配置PostgreSQL

[AppleScript] 纯文本查看 复制代码
createuser [b]databaseName[/b] -P -h localhost  
createdb -O [b]databaseUsername databasePassword[/b] -h localhost


并修改database.yml中配置
[AppleScript] 纯文本查看 复制代码
  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安装即可。
[AppleScript] 纯文本查看 复制代码
brew install rbenv


安装完成后要在环境变量中添加以下语句
[AppleScript] 纯文本查看 复制代码
eval "$(rbenv init -)"

否则无法设置系统ruby版本 一直会使用2.0.0来安装。


开始安装ruby
[AppleScript] 纯文本查看 复制代码
rbenv install 2.1.7

版本推荐2.1.7比较稳定当然再高也可以。
漫长的等待以后安装完成 设置此版本为系统默认
[AppleScript] 纯文本查看 复制代码
rbenv gobal 2.1.7


完成后在shell中输入
[AppleScript] 纯文本查看 复制代码
ruby --version

即可查看ruby版本

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

0x05     安装依赖包
使用bundle进行安装依赖
首先安装bundle
[AppleScript] 纯文本查看 复制代码
gem install bundle

*如果出现网络问题请使用VPN

等待漫长的安装过程后进入Metasploit目录运行
[AppleScript] 纯文本查看 复制代码
bundle install

自动安装依赖。
建议全过程使用VPN或更换淘宝源
具体操作如下:
在shell中运行
[AppleScript] 纯文本查看 复制代码
gem source -r [url]https://rubygems.org/[/url]
gem source -a [url]https://ruby.taobao.org[/url]


在bundle install过程中 必然会出现某个依赖包因为各种各样的问题而无法安装。
请根据提示 自行使用gem安装单独依赖。
[AppleScript] 纯文本查看 复制代码
gem install <Gems>

在此过程中请务必放平心态,一个一个解决。
此处列出部分错误的关键字及解决办法 如有问题请向上翻看本贴第一句话
  • Permission denied        使用sudo重新运行gem install命令
  • Connect        连接超时 使用VPN或换源解决
  • Could not find a valid gem        大多数情况下是源产生故障 等待一段时间后重新运行就可以了


这里单独列出一个Gem的问题就是nokogiri
重新安装之前请删除
[AppleScript] 纯文本查看 复制代码
/Library/Ruby/2.0.0/cache

后重新安装 否则会报错。


在漫长的过程结束后 最后运行
[AppleScript] 纯文本查看 复制代码
bundle install

如果没有任何错误完全安装完毕
那么开心的运行吧
[AppleScript] 纯文本查看 复制代码
./msfconsole


附截图。
QQ截图20151207071908.png

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

全文终。

评分

参与人数 2i币 +34 收起 理由
Free_小东 + 20 支持原创
wuyan + 14 辛苦分

查看全部评分

回复

使用道具 举报

发表于 2015-12-7 09:32:56 | 显示全部楼层
呃,,,不太懂的说,,,在看遍,,
回复 支持 反对

使用道具 举报

发表于 2015-12-7 11:16:46 | 显示全部楼层
若速度过慢可使用VPN代理国外IP下载速度会快很多?这是什么情况造成的?一般代理不是速度变慢吗?

点评

先了解下VPN的机制. 因为bundle等仓库均在国外偶尔还会出现大姨妈的问题. 挂VPN是个很好的选择.  详情 回复 发表于 2015-12-8 08:33
回复 支持 反对

使用道具 举报

发表于 2015-12-7 12:23:30 | 显示全部楼层
能装双系统吗,撸主可有装mac的系统啊

点评

为何要装双系统呢  详情 回复 发表于 2015-12-8 08:31
回复 支持 反对

使用道具 举报

 楼主| 发表于 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 | 显示全部楼层
果然发技术贴没人看。封贴。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-5-2 19:19 , Processed in 0.074257 second(s), 22 queries , Gzip On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部