热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MacOSX系统下安装metasploit框架软件(MSF)

最近看《Metasploit渗透测试指南》,第二章开始有具体操作举例,于是准备在电脑上安装MSF终端用于测试。MSF终端(msfconsole),一种Metasploit框架的用户接口。

最近看《Metasploit渗透测试指南》,第二章开始有具体操作举例,于是准备在电脑上安装MSF终端用于测试。

MSF终端(msfconsole),一种Metasploit框架的用户接口。

首先到官网下载metasploit framework,我是Mac OSX10.11.2,64bit,对应下载链接:http://osx.metasploit.com/metasploitframework-latest.pkg

安装成功之后,发现并有像其他APP一样在Launchpad里面有显示图标,于是用Spotlight直接搜索msfconsole,command+enter打开对应文件夹,找到对应路径(图1):

在terminal中切换到该路径,尝试执行"./msfconsole",报错(图2):

第一次接触,什么都不清楚,查:

- bundle utility, short for Bundler    //bundle实用程序,简称bundler

- gem help   >>> RubyGems is a sophisticated package manager for Ruby.

根据图2中的报错提示,执行:(sudo)

gem install bundler

【此句安装bundler,之后Bundler会根据gemfile自动安装相关依赖项,在当前目录下可看到gemfile文件】

由于不理解,再次尝试执行“./msfconsole”,(图3):

根据图3提示,执行:bundle install

此时才正式安装依赖项,可以用以下命令查看所有依赖项: gem list
bundle install执行过程中报错,“ Connection reset by peer - SSL_connect”( 图4):


tzinfo安装失败,由错误信息知失败原因为连接被重置找不到资源,上网查原因,GFW所致,更改gem服务器,常用的源:

- http://rubygems.org/
- http://gems.github.com
- http://gems.rubyforge.org
- https://ruby.taobao.org 【连接不上的时候看是否是https】

相关命令:

1. 显示当前使用的sources:gem sources

2. 添加一个source: gem sources -a url地址
3. 删除一个source: gem sources -r url地址
4. 更新source cache:  gem sources -u
然而,当修改了gem的源之后尽管终端中显示当前源为淘宝的,执行命令依然是同样地错误。

在淘宝的网站找到另一种方法——用Bundler的Gem源代码镜像命令:

$ bundle config mirror.https://rubygems.org https://ruby.taobao.org

OK,此时有关“Connection reset by peer - SSL_connect”的报错后续都没有出现。

然而中途又有pg安装失败的提示,根据错误提示,执行:$ sudo gem install pg -v '0.18.4'

报错“ Failed to build gem native extension”( 图5):

根据提示在命令行中指明未找到的文件位置,用Spotlight查找pg_config,我的在/opt/metasploit-framework/embedded/bin/目录下,执行命令:

$ sudo gem install pg -- --with-pg_cOnfig=/opt/metasploit-framework/embedded/bin/pg_config

【不清楚为什么用-v指明pg的版本就会报错invalid option】

执行结果,解决了一部分问题,前面缺失的头文件都找到,报错“Can't find the PostgreSQL client library (libpq)”(图6):

根据提示,安装postgresql。

使用homebrew之前,先更新(否则可能报错),再检查(后面有一步的错误能看出第二步检查的重要性了):

$ brew update

$ brew doctor

然而简单一个brew update都会报错,根据提示修改权限才执行成功(图7):

$ sudo chown -R $(whoami):admin /usr/local

更新完成之后(是的,我一开始没有执行brew doctor),安装postgresql:

$ brew install postgresql

安装lunchy(Lunchy is a helpful gem that will allow you to easily start and stop Postgres):

$ sudo gem install lunchy

由于权限问题报错“ Operation not permitted”,( 图8):


查看对应的目录权限(图9):


在命令中指定安装到/usr/local/bin/下即可安装成功:

$ sudo gem install -n /usr/local/bin/ lunchy

Start/Stop Postgres:

$ mkdir -p ~/Library/LaunchAgents/

$ cp /usr/local/Cellar/postgresql/9.5.0/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/

$ lunchy start postgres

启动之后会提示是否使用postgresql接受网络连接,选择允许。然后使用:$ ARCHFLAGS="-arch x86_64" bundle install

【不安装postgresql时,使用以上命令依然报错。】

解决了pg的问题之后,新的问题又来了(图10)。。。

和前面一样,按提示操作:

$ sudo gem install recog -v '2.0.14'

报错,ruby版本过低( 图11):

安装rvm【RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gems)】:

$ curl -L get.rvm.io | bash -s stable

$ source ~/.bashrc  

$ source ~/.bash_profile

$ rvm -v //测试安装是否正常

用rvm升级ruby:

$ ruby -v //查看当前ruby版本

$ rvm list known //列出已知的ruby版本

$ rvm install ruby-2.1.7 //这个是装rvm之后提示可安装的版本

用rvm装ruby的时候,刚才偷懒不检查brew的问题就来了(图12):


执行brew doctor之后,发现问题( 图13):


根据提示:$ brew link autoconf

结果( 图14):
虽然执行结果显示链接以存在,但是与brew doctor的结果相矛盾,为了保险起见,根据提示overwrite,然后重新用rvm安装ruby,成功。
然后gem install recog -v '2.0.14,成功。
重新执行: $ ARCHFLAGS="-arch x86_64" bundle install
报错( 图15):


推测是由于更新了ruby导致的问题,于是卸载重装Bundler:

$ gem help command //查询所有gem命令

$ gem uninstall bundler

$ gem install bundler

 
 再次执行图15中的命令,成功。执行"./msfconsole"测试: 
 

OK,终于成功啦。


唐僧终于取到西经,回看这篇文章颇有小学生记流水账的风范,看来我又年轻了一点……

关键错误信息有标红,收获:践行提示命令,注意错误原因,不能半途而废(虽说中途装了个kali差点准备放弃Mac)。

最后。。为什么缩进没了?文章看起来好乱。

1月17日update:

找到一个比较宏观的有助于理解安装过程:http://www.asuri.co/class/archives/851

书中出现msfcli(MSF命令行),但是在自己安装的目录下面没有找到,最后发现是新版本的metasploit去掉了msfcli相关部分,官方推荐在msfconsole执行时增加"-x"选项以取代msfcli。具体使用方法:https://community.rapid7.com/community/metasploit/blog/2015/07/10/msfcli-is-no-longer-available-in-metasploit



推荐阅读
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
author-avatar
johnylulu2502904467
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有