安装环境

操作时间: 2015/6/8

操作系统: OSX Yosemite 10.10.3

Metasploit版本: v4.11.0-dev [core:4.11.0.pre.dev api:1.0.0]

Ruby版本: 2.1.6p336 (2015-04-13 revision 50298)

整体安装步骤

  1. 从github上克隆Metasploit项目到本地

  2. 安装postgresql数据库并进行配置

  3. 安装特定版本的ruby,解决依赖

下面正式开始安装

1.从GitHub上克隆Metasploit项目到本地

首先打开终端并输入以下命令,因为10.10自带git所以就不用再安装git了。

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

将Metasploit克隆到本地后,将/usr/local/share/metasploit_framework/config/目录下的配置文件database.yml添加到环境变量中。

*如果databse.yml不存在则运行下面的命令复制database.yml.example。

cp /usr/local/share/metasploit-framework/config/database.yml.example /usr/local/share/metasploit-framework/config/database.yml

在$HOME/.bash_profile或者其他配置文件中添加下面这条配置

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

2.安装postgresql数据库并进行配置

metasploit下载完后还需要连接默认的postgresql,这个默认是没有安装的

可以直接使用brew来下载并自动安装postgresql

brew系统并不自带,需要自己安装,安装方法可以百度,并不难

安装过MacPort工具的童鞋这里请注意,brew和MacPort有冲突,要使用brew需要先卸载MacPort

运行下面的命令安装postgresql

brew install postgresql --without-ossp-build

等待自动安装完成后,初始化postgresql

initdb /usr/local/var/postgres

*如果出现错误请删掉/usr/local/var/postgres,然后重试上一条命令

初始化完成后,为Metasploit添加数据库用户和创建相应地DB

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

先启动postgresql,不然下面的用户添加命令会报错

createuser msf -P -h localhost

*创建数据库用户,输入后会要求你输入新密码。

createdb -O msf msf -h localhost

*创建相应地DB

完成后关闭pstgres数据库

/usr/local/var/postgres stop

上面的步骤完成后,修改Metasploit的数据库连接配置,也就是第一步中的 /usr/local/share/metasploit-framework/config/database.yml

只要修改database.yml中的dababase、username、password就可以了,修改如下

development: &pgsql

	adapter: postgresql

	database: msf

	username: msf

	password: {your password}

	host: localhost

	port: 5432

	pool: 5

	timeout: 5

完成后就可以开始第三步了。

可以修改/etc/bashrc文件来添加alisa以简便每一次的postgresql的启动

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

alias pg_stop='pg_ctl -D /usr/local/var/postgres stop'

也可以使用alisa简便每次的启动,比如

alias msfconsole='pg_start & /usr/local/bin/msfconsole'

3. 安装特定版本的ruby,并解决依赖

对于ruby的多版本管理,这里使用rbenv,通过brew直接安装

brew install rbenv ruby-build

rbenv安装完成后,在$HOST/.bash_profile或者其他配置文件中添加如下设置

eval "$(rbenv init -)"

然后就可以通过brenv来安装特定版本的ruby了,首先列出当前可用的版本

rbenv install --list

可以看到几乎所有的ruby版本,这里我们安装ruby-2.1.6

*很多教程都教你安装1.9.3版的ruby,已经太旧了

rebenv install 2.1.6

这里需要等一会,并不是卡死了,rbenv会将各个版本的ruby安装在$HOST/.rbenv/version/下,完成后,将下载的版本设置为系统默认

rbenv rehash

rbenv global 2.1.6

完成后重新打开终端,输入

ruby -version

*查看当前的默认ruby版本

下面安装bundle来解决依赖问题

gem install bundle

安装的时候,由于被墙的原因可能会出现连接问题,你可以选择多试几次、翻墙或者给gem换一个国内的淘宝源

*换源的方法很简单,运行下面的命令就可以了

gem sources --remove https://rubygems.org/

gem sources -a https://ruby.taobao.org/

gem sources -l

*然后你会看到

*** CURRENT SOURCES ***

https://ruby.taobao.org

# 请确保只有 ruby.taobao.org

*再重新运行bundle安装命令就行了

*如果你在安装的时候看见如下错误提示

Fetching: bundler-1.2.3.gem (100%)

Fetching: bundle-0.0.1.gem (100%)

Successfully installed bundler-1.2.3

Successfully installed bundle-0.0.1

2 gems installed

Installing ri documentation for 	bundler-1.2.3...

Installing ri documentation for bundle-0.0.1...

file 'lib' not found

Installing RDoc documentation for bundler-1.2.3...

Installing RDoc documentation for bundle-0.0.1...

file 'lib' not found

*只要先安装rdoc就行了

sudo gem install rdoc

bundle安装完成后,再次进入Metasploit的主目录解决模块包得依赖问题

cd /usr/local/share/metasploit-framework

rbenv rehash

bundle install

*在这里运行bundlee install如果出错,出错提示如下

vagrant@precise64:/vagrant/meetup$ bundle install

Fetching gem metadata from https://rubygems.org/...........

Resolving dependencies...

Gem::RemoteFetcher::FetchError: SocketError: getaddrinfo: Name or service not known (https://rubygems.org/gems/rake-10.4.2.gem)

An error occurred while installing rake (10.4.2), and Bundler cannot continue.

Make sure that `gem install rake -v '10.4.2'` succeeds before bundling.

*说明你是被墙了,还需要把Metasploit的源也换成淘宝的

vim /usr/local/share/metasploit-framework/Gemfile

*将文件内的

source 'http://rubygems.org'

*注释掉,新增

source 'http://ruby.taobao.org/'

*保存退出就行了重运行bundle安装命令就行了

全部依赖解决后,可运行目录下的msfconsoleq启动metasploit终端控制器(启动前必须下启动postgresql数据库)

可以将msf命令批量连接到bin下

for MSF in [Math Processing Error](lsmsf∗);doln−s/usr/local/share/metasploit−framework/MSF /usr/local/bin/$MSF;done

最后是安装完成的截图:

*全文过半抄袭自 http://www.freebuf.com/articles/system/36924.html ,只是更新了下版本和几个小问题

OSX10.10 Yosemite安装Metasploit的更多相关文章

  1. [MAC OSX - 1] OSX10.10不能安装JKD8,不能使用eclipse

    (1)电脑升级为10.10后,打开eclipse总是提示"您需要安装旧 Java SE 6 运行环境才能打开"Eclipse". 解决:安装JKD   (2)不能安装JK ...

  2. 【转】Mac 10.10 yosemite 安装samba替代系统samba组件 -- samba不错不错

    原文网址:http://gcell.blog.163.com/blog/static/52666594201501084530277/ 1.首先,在系统偏好设置的共享设置中,关掉局域网文件共享(去掉打 ...

  3. VMWare 安装 Mac OS X10.10 Yosemite

    OS X Yosemite 新功能特性 Mac OS X10.10 GM3|OS X 10.10 Yosemite 正式版下载 如何在虚拟机中安装苹果mac系统图示说明 vm10虚拟机安装Mac OS ...

  4. VMware Workstation 11 安装MAC OS X 10.10 Yosemite(14B25)图解 2015-01-13 12:26:01|

    VMware Workstation 11 安装MAC OS X 10.10 Yosemite(14B25)图解 2015-01-13 12:26:01|  分类: 网络互联 |  标签:10.10  ...

  5. VM安装OSX进度条一半时卡住不动,【附】OSX10.10 ISO镜像文件

    安装OSX10.10真是一波多折,先是下载了一个5G多的原版dmg文件,转成ISO后在虚拟机上无法识别,后按网上的说的方法​​​​在提取出来的BaseSystem.dmg文件,再转成ISO文件,​可以 ...

  6. Mac OS 10.10 Yosemite正式版怎么升级 升级教程

    苹果在2014年10月17号凌晨一点召开了新品发布会,推出了新的 iPad.iMac 产品,以及大家一直所期盼的 Mac OS 10.10 正式版系统.个人是从 Mac OS 10.10 的第一个测试 ...

  7. 使用 DiskMaker X 轻松制作 Yosemite 安装 U 盘(引)

    使用 DiskMaker X 轻松制作 Yosemite 安装 U 盘 由于帮人在MacBook上装Windows, 用pe格式化了一下分出来的Windows分区, 搞得Mac系统也瘫掉了, 无奈之下 ...

  8. CentOS 6.x安装Metasploit

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

  9. arcgis server 10.2安装后,忘记Manager的用户名和密码

    arcgis server 10.2安装完毕后,需要创建站点,创建站点时,填写管理站点的用户名和密码.自己不小心,创建完毕后,给忘记了用户名和密码.求助Esri,解决方法如下: (1)找到arcgis ...

随机推荐

  1. 【原】rsync使用

    在使用jenkins当跳板机的场景下,有使用git pull 代码到jenkins机器后,需要将代码复制到另一台机器上,常用的复制命令有scp和rsync:现就使用到了rsync进行详解: rsync ...

  2. 激活win10企业版,亲测可用,(win7步骤相同,请自行测试)

    其他版本我没试过,亲们可以尝试! win7神key win7神key1:2HYJ4-V71WM-BAF6Y-G2BTH-X8QOD win7神key2:9LM54-Z3LQ1-5IRAN-T4JNI- ...

  3. vs code插件大全

    一.HTML Snippets 超级使用且初级的H5代码片段以及提示 二.HTML CSS Support  让HTML标签上写class智能提示当前项目所支持的样式 三.Debugger for C ...

  4. 3种使用MQ实现分布式事务的方式

    1.保证消息传递与一致性 1.1生产者确保消息自主性 当生产者发送一条消息时,它必须完成他的所有业务操作. 如下图: 这保证消费者接受到消息时,生产者已处理完毕相关业务,也就是1PC的基础. 1.2 ...

  5. flask exception

    flask exception 1.1.    abort 概念:flask中的异常处理语句,功能类似于python中raise语句,只要触发abort,后面的代码不会执行,abort只能抛出符合ht ...

  6. MySQL(window10)加载配置文件的顺序

    mysql加载配置的顺序为:(mysql --help中有详细的说明) C:\WINDOWS\my.ini C:\WINDOWS\my.cnf C:\my.ini C:\my.cnf D:***\my ...

  7. Assign the task-HDU3974 dfs序+线段树

    题意: 一个公司有n个员工,每个员工都有一个上司,一个人下属的下属也是这个人的下属,因此可将他们的关系看成一棵树, 然后给定两种操作,C操作是查询当前员工的工作,T操作是将y工作分配给x员工,当一个人 ...

  8. Caffe2 载入预训练模型(Loading Pre-Trained Models)[7]

    这一节我们主要讲述如何使用预训练模型.Ipython notebook链接在这里. 模型下载 你可以去Model Zoo下载预训练好的模型,或者使用Caffe2的models.download模块获取 ...

  9. swoole 监控文件改动

    <?php /** * 场景: * 进程监控文件改动 */ date_default_timezone_set('PRC'); echo '进程id:' . posix_getpid() . P ...

  10. Linux系统在IT行业处于什么位置

    相信每一位程序员对于linux都不陌生,不管是新入行的小白,还是有着十几年编程经验的大佬,都知道Linux在IT行业中的位置吧! 我是一名Web   JAVA开发的小白,对于初入IT行业的小白来说,工 ...