1  在Github上克隆Metasploit

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

  

Metasploit整个项目大小为28M多, git clone的速度是非常慢的, 自己挂个VPN去下载吧, 如果没有等个2个多小时就完事了。

克隆完成后, 检查metasploit-framework/config目录下的database.yml是否存在,不存的话复制database.yml.example并命名为database.yml.

在/.bash_profile( 根据你的终端来选择配置文件 )中添加下面这条配置:

export MSF_DATABASE_CONFIG=/usr/local/share/metasploit-framework/config/database.yml

  

最后, 更新配置文件:

source .bash_profile

2  安装与配置PostgreSQL

使用Homebrew安装:

brew install postgresql --without-ossp-build

  

安装完成后, 输入以下命令初始化PostgreSQL, 如果初始化过程中出现错误, 删除/usr/local/var/postgres, 再次运行初始化命令:

initdb /usr/local/var/postgres -E utf8

  

PostgreSQL的启动命令:

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

  

PostgreSQL的停止命令:

pg_ctl -D /usr/local/var/postgres stop -s -m fast

  

为了方便启动与停止PostgreSQL, 可以在你的配置文件添加别名:

alias start_pgsql='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start'
alias stop_pgsql='pg_ctl -D /usr/local/var/postgres stop'

  

接下来, 启动PostgreSQL:

start_pgsql

  

接着为Metasploit添加数据库用户和创建相应Database:

createuser metasploit -P -h localhost
createdb -O metasploit metasploit -h localhost

  

createuser metasploit -P -h localhost为本地创建了一个名为metasploit的数据库服务器主机并且创建的时候需要密码.

相似的, createdb -O metasploit metasploit -h localhost创建了一个数据库, 该数据库的拥有者为metasploit.

你可以选择你喜欢的名字来来创建User和Database, 只要和下面的database.yml一一对应即可.

回到metasploit-framework/config/目录下, 打开database.yml, 作出如下修改:

production:
adapter: postgresql
database: metasploit
username: metasploit
password: <你的密码>
host: 127.0.0.1
port: 5432
pool: 75
timeout: 5

  

 

注意是修改production下面的行, 不是development.


3  安装与Metasploit相关的Ruby版本

由于macOS自带的ruby版本为2.0.0, 版本低于Metasploit所使用的版本.

目前两大Ruby版本管理工具是Rbenv和RVM, 在这里使用Ruenv作为示例.

使用Homebrew安装:

brew install rbenv ruby-build

ruby-build是rbenv的插件, 提供了rbenv install的命令, 实现了自动编译安装 Ruby、轻松管理多个 Ruby 版本的目的

rbenv安装完成后,在你的配置文件中添加如下配置:

eval "$(rbenv init -)"

下面就可以通过rbenv来安装特定版本的ruby了,可以用以下命令列出当前可用的ruby版本:

rbenv install --list

最新Metasploit使用的Ruby版本是2.3.1, 输入以下的命令来安装:

rbenv install 2.3.1

在这里, rbenv是用境外的源来下载的, 由于国内被墙( 你懂得 ), 速度非常慢的, 甚至下载不了, 推荐使用淘宝镜像, 使用wget下载:

wget -q https://ruby.taobao.org/mirrors/ruby/ruby-2.3.1.tar.bz2 -O ~/ruby-2.3.1.tar.bz2

如果没有wget, 用Homebrew安装:

brew install wget

下载完成之后, 用rbenv安装指定的包:

env RUBY_BUILD_MIRROR_URL=file://*/ruby-2.3.1.tar.bz2# rbenv install 2.3.1

*号替换为/Users/你的用户名.

env RUBY_BUILD_MIRROR_URL=file://用来映射指定文件的URL, 接着使用#后面的命令来安装2.3.1的版本.

稍等一会, 安装就完成了, rbenv安装的各个版本的Ruby在~/.rbenv/versions/下, 接下来将Ruby2.3.1设置为系统默认版本.

设置完成后, 重新打开终端, 使用以下命令就可以查看Ruby当前版本:

ruby --version

接下来安装bundle, bundle是rails框架里面安装Gemfile指定的各种库的工具:

gem install bundle

注意这里,我执行到这里的时候一看没有权限就sudo执行了,这里一定不要用sudo权限。
后来放弃了,其实可以手工指定下安装路径就可以了
安装rvm进行配置ruby:

gpg−−keyserverhkp://keys.gnupg.net−−recv−keys409B6B1796C275462A1703113804BB82D39DC0E3curl -sSL https://get.rvm.io | bash -s stable

  

报错:

 WARNING: You have '~/.profile'file, you might want to load it,
2 to do that add the followingline to '/Users/xx/.bash_profile':

终端中执行:

echo "source ~/.profile" >> ~/.bash_profile

bundle完成安装后, 进入到metasploit-framework目录下, 解决模块包的依赖

bundle install  #没再继续用rbenv

  

Bundle Complete

这里所的gems都是从境外的源过来的, 速度很慢, 没办法.

有人说, 我可以修改Gemfile里面的源为淘宝源, 但是淘宝镜像的同步是定期执行的,新发布的 Gem 可能没有那么快同步过来,你需要稍等一段时间后才能使用.

你可试试修改成淘宝的源, 如果提示找不到对应的源, 你就要改回原来的源, 否则bundle无法完成安装.

在bundle install的过程中,可能会出现某一个特定版本的模块安装失败的问题, 如果出现安装失败的提示, 删除掉提示安装失败的gem, 如以下命令你:

rm -f ~/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/cache/metasploit-payloads-1.1.24.gem #需改为rvm安装的ruby路径

  

Congratulations, 你的Metasploit的环境已经搭建完毕.


Final Step: 启动msfconsole

启动msfconsole之前需要启动PostgreSQL, 否则数据库连接不上.

然后用以下脚本讲msf命令批量软连接到bin下( msf命令在metasploit-framework目录下 ):

for MSF in $(ls msf*); do ln -s /usr/local/share/metasploit-framework/$MSF /usr/local/bin/$MSF;done

  

在终端输入msfconsole启动Metasploit用户接口:

安装完发现已经有pkg安装包了##

参考链接:

https://www.jianshu.com/p/1077b96bec49

http://www.freebuf.com/articles/system/36924.html

macOS平台安装metasploit的更多相关文章

  1. macOS 上安装 PECL

    一.简介 PECL(The PHP Extension Community Library)是 PHP 扩展的存储库,为 PHP 所有的扩展提供提供托管和下载服务. 通过 PEAR(PHP Exten ...

  2. 各平台安装和使用Docker的差异

    在Mac上运行Docker 使用Docker for Mac 系统要求 开启虚拟化的硬件支持,可以通过命令来检查:sysctl kern.hv_support OS X 10.10.3 或者更高版本 ...

  3. [Linux实践] macOS平台Homebrew更新brew update卡死,完美解决

    [Linux实践] macOS 平台 Homebrew 更新 brew update 卡死,完美解决 版本2020.01.05 摘要: 使用brew install [软件包]安装软件包时,卡在Upd ...

  4. CentOS 6.x安装Metasploit

    现在开始安装Metasploit框架,前面的包安装成功之后,我们需要再安装一些Metasploit依赖的Ruby库,命令如下: gem install wirble pg sqlite3 msgpac ...

  5. New ipad install Metasploit(New ipad 安装Metasploit)

    Title:New ipad install Metasploit(New ipad 安装Metasploit) --2012-09-19 11:35 越狱以后,Ssh或者终端Ipad,把屏幕锁定最好 ...

  6. Xamarin C# Android for Visual Studio 平台安装

    原文:Xamarin C# Android for Visual Studio 平台安装 Xamarin是基于Mono的平台,目前主要有以下产品(更具体请见:http://xamarin.com/pr ...

  7. Cordova WP8 平台安装部署

    原文:Cordova WP8 平台安装部署 Cordova是一个开放源码移动开发框架. 它允许您使用标准的 web 技术如 HTML5. CSS3 和 JavaScript 进行跨平台开发,避免每个移 ...

  8. Linux平台安装MongoDB及使用Docker安装MongoDB

    一.Linux平台安装MongoDB MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/downlo ...

  9. Windows平台安装配置mysql数据库

    Windows平台安装配置mysql数据库 作者:Eric 微信:loveoracle11g 去下载mysql软件 https://www.mysql.com/downloads/ https://d ...

随机推荐

  1. ClickHouse之简单性能测试

    前面的文章ClickHouse之初步认识已经简单的介绍了ClickHouse,接下来进行简单的性能测试.测试数据来源于美国民用航班的数据,从1987年到2017年,有1.7亿条. 环境: centos ...

  2. Maven教程4(私服-nexus)

    仓库管理器也叫私服或代理仓库 仓库管理器有两个服务目的:首先它的角色是一个高度可配置的介于你的组织与公开Maven仓库之间的代理,其次它为你的组织提供了一个可部署你组织内部生成的构件的地方. 1Nex ...

  3. SpringMVC教程4

    SpringMVC教程3 一.数据回写 数据回写:在做数据更新的时候服务端查询的数据自动填充到表单中. 1.1默认方式 通过前面讲解的 Map Mode ModelMap绑定数据 @RequestMa ...

  4. nginx配置指南

    nginx(读作engine x)是一款设计优秀的Http服务器, 其占用内存少, 负载能力强且稳定性高, 正在被越来越多的用户所采用. nginx可以为HTTP, HTTPS, SMTP, POP3 ...

  5. .Net开源框架列表

    API 框架 NancyFx:轻量.用于构建 HTTP 基础服务的非正式(low-ceremony)框架,基于.Net 及 Mono 平台.官网 ASP.NET WebAPI:快捷创建 HTTP 服务 ...

  6. 【Java并发编程】11、volatile的使用及其原理

    一.volatile的作用 在<Java并发编程:核心理论>一文中,我们已经提到过可见性.有序性及原子性问题,通常情况下我们可以通过Synchronized关键字来解决这些个问题,不过如果 ...

  7. MySQL分库分表浅谈

    一.分库分表类型 1.单库单表 所有数据都放在一个库,一张表. 2.单库多表 数据在一个库,单表水平切分多张表. 3.多库多表 数据库水平切分,表也水平切分. 二.分库分表查询 通过分库分表规则查找到 ...

  8. 26个精选的JavaScript面试问题

    译者按: 从各个平台精选整理出26道由浅入深的题目助你面试 原文: Top 26 JavaScript Interview Questions I Wish I Knew 译者: Fundebug 为 ...

  9. Spark机器学习——模型选择与参数调优之交叉验证

    spark 模型选择与超参调优 机器学习可以简单的归纳为 通过数据训练y = f(x) 的过程,因此定义完训练模型之后,就需要考虑如何选择最终我们认为最优的模型. 如何选择最优的模型,就是本篇的主要内 ...

  10. 不要拿ERP的报表忽悠领导!——一个报表引发的企业经营反思

    文 | 帆软数据应用研究院船长 本文出自:知乎专栏<帆软数据应用研究院>——数据干货&资讯集中地 领导的经营决策能只依赖于ERP报表吗? 不能! 1. ERP报表个性化不足:企业经 ...