zoukankan      html  css  js  c++  java
  • OSX10.10 Yosemite安装Metasploit

    安装环境

    操作时间: 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 ,只是更新了下版本和几个小问题
  • 相关阅读:
    dubbo+zookeeper注册服务报错问题:No service registed on zookeeper
    悲观锁和乐观锁的区别,它们是怎么实现
    cookie和session的区别,分布式环境怎么保存用户状态
    深入理解Java接口和抽象类
    Java中堆内存和栈内存详解
    Java基础梳理(一)
    Spring的@Transactional注解详细用法
    SpringBoot学习笔记(一)基础
    项目实体类使用@Data注解,但是项目业务类中使用getA(),setA()方法报错,eclipse中配置lombok
    有依赖的背包问题-购物单
  • 原文地址:https://www.cnblogs.com/leisurelylicht/p/6561200.html
Copyright © 2011-2022 走看看