查看: 13642|回复: 6

MacOS X EI从零安装Metasploit Framework

[复制链接]
  • TA的每日心情
    奋斗
    2021-12-29 18:17
  • 签到天数: 45 天

    [LV.5]常住居民I

    发表于 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 辛苦分

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-9-13 12:01
  • 签到天数: 364 天

    [LV.8]以坛为家I

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

    使用道具 举报

  • TA的每日心情
    无聊
    2017-6-1 14:33
  • 签到天数: 97 天

    [LV.6]常住居民II

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

    点评

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

    使用道具 举报

  • TA的每日心情
    开心
    2017-6-6 13:01
  • 签到天数: 201 天

    [LV.7]常住居民III

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

    点评

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

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-12-29 18:17
  • 签到天数: 45 天

    [LV.5]常住居民I

     楼主| 发表于 2015-12-8 08:31:47 来自手机 | 显示全部楼层
    zxsaas 发表于 2015-12-7 12:23
    能装双系统吗,撸主可有装mac的系统啊

    为何要装双系统呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-12-29 18:17
  • 签到天数: 45 天

    [LV.5]常住居民I

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

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

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-12-29 18:17
  • 签到天数: 45 天

    [LV.5]常住居民I

     楼主| 发表于 2015-12-11 09:26:30 | 显示全部楼层
    果然发技术贴没人看。封贴。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

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

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-5-2 14:47 , Processed in 0.032839 second(s), 13 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部