又开始看《Metasploit渗透测试魔鬼训练营》这本书了。看到Web应用程序渗透测试这一章,其中有一部分是关于自己编写Metasploit的Exploit和Payload。我也正准备依葫芦画瓢。事先没有搭建Metasploit的开发环境,虽然我有Ruby的环境用于学习Ruby语言的相关开发知识,但是Metasploit里面有一些自己带的模块,在编写Exploit和Payload是需要用到的。如果没有的话,那么在Ruby IDE里面是没法语法提示的,这点还是有些蛋疼。好了,说了一些缘由,那么就开始搭建Metasploit开发环境的旅程吧。

Kali肯定是作为渗透测试环境的首选。我之前是有安装好Ruby IDE的,在这里推荐RubyMine。目前的版本是7.0.4,这个IDE真的很好用噢。

在继续之前,有必要更新一下Ruby,Kali自带的版本为ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]。这个已经很老了,不修改的话后面bundle install会出现一个问题导致无法继续安装,我也不知道为啥,就是说有一个库对ruby的版本要求在2.1或者2.1以上。参照GitHub关于更新Ruby的命令。具体链接为https://github.com/rapid7/metasploit-framework/wiki/Setting-Up-a-Metasploit-Development-Environment。我就不在这里累赘了。

首先,从github上下载一份Metasploit的源码,并保持在msf文件夹中,命令如下:

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

然后打开RubyMine IDE,选择Open,定为到我们之前下的msf文件夹,选择一个可以执行的rb脚本,在这里我选择msfconsole为例。如下图所示:

在介绍下一步之前,插播一点小知识——Ruby Gem介绍。

Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如https://rubygems.org/)源来查找、安装、升级和卸载软件包,非常的便捷。由于国内网络原因(你懂的),导致 rubygems.org 存放在 Amazon S3 上面的资源文件间歇性连接失败。所以,推荐使用使用http://ruby.taobao.org/来代替系统默认的Gem源。来看一下系统默认的Gem源,命令如下:

gem source

得到结果如下所示:

接下来,我就把它默认的Gem源给删掉,然后添加淘宝的Gem源.命令如下:

gem sources --remove http://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l

可以看到,结果如下:

介绍一些Gem的命令吧.

更新源cache,命令如下:

gem source -u

查看源里面有哪些软件,命令如下:

gem query -r -a

也可以使用正则表达式查看指定的内容,假如查找metasploit相关的,命令如下:

gem query -r -n 'metasploit'

得到如下图所示:

其他gem的命令可以使用help查看:

gem help commands

得到如下图所示:

好了,关于gem暂时介绍到这里了。继续前面的话题。加载msfconsole的Ruby脚本之后,我们选择工具栏Run下的Run运行msfconsole Ruby脚本。

      接下来的一部分内容出现了问题,可以跳过!!!

单击运行后,得到如下图所示的结果,包含很多错误:

因为没有安装相关的gem库,所有运行出现错误,那现在就在RubyMine里面安装相关的库吧。在工具栏中选择File下面的Settings,在Language&Frameworks下选择Ruby SDK and Gems,然后在右边的框中选择加号进行添加。截个图吧:

这里有一点需要主要的地方,点击加号之后,我们需要把Manage gem repositories改为淘宝的Gem库,RubyMine默认的库访问不了。截个图:

接下来,就是选择报错的库进行安装了,这又是一个漫长的过程,每次安装完一个相应的库之后,运行肯定又会出错,提示需要安装其他的库。不断的重复,直到最后运行不出错了,才算所以需要的库都安装好了。在此就不重复该过程了。

注意,在安装pg相关库时,可能会出现如下错误:

Following gems were not installed:
pg (0.18.1):  Error installing pg:
     ERROR: Failed to build gem native extension.          /usr/bin/ruby1.9.1 extconf.rb checking for pg_config... yes Using config values from /usr/bin/pg_config You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application. You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application. checking for libpq-fe.h... no Can't find the 'libpq-fe.h header *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers.  Check the mkmf.log file for more details.  You may need configuration options.  Provided configuration options:   --with-opt-dir  --without-opt-dir   --with-opt-include  --without-opt-include=${opt-dir}/include   --with-opt-lib  --without-opt-lib=${opt-dir}/lib   --with-make-prog    --without-make-prog     --srcdir=.     --curdir    --ruby=/usr/bin/ruby1.9.1  --with-pg   --without-pg    --enable-windows-cross  --disable-windows-cross     --with-pg-config    --without-pg-config     --with-pg_config    --without-pg_config     --with-pg-dir   --without-pg-dir    --with-pg-include   --without-pg-include=${pg-dir}/include     --with-pg-lib   --without-pg-lib=${pg-dir}/lib   Gem files will remain installed in /root/.gem/ruby/1.9.1/gems/pg-0.18.1 for inspection. Results logged to /root/.gem/ruby/1.9.1/gems/pg-0.18.1/ext/gem_make.out

这时需要安装一个postgresql的依赖包。我查看了一下本机Postgresql的版本为9.1,所以命令如下:

apt-get install postgresql-server-dev-9.1

执行完成之后,就可以顺利安装pg相关库了。后续安装又出了点问题。提示Gem::InstallError: metasploit_data_models requires Ruby version >= 2.1.

所以比较奇葩的是,按照这个思路的教程进行不下去了。既然码了这么多字,那还是不删了,说不定有童鞋可以用的上。

换一种思路继续前面的教程!!!!

进入之前下载的metasploit-framework文件夹,然后执行“bundle install”命令,这样就会下载metasploit-framework运行所需要的库了。需要等待一段时间,中间可能还会出现错误。如下图所示:

这个是因为postgresql的一个依赖库没有安装,和之前的是一样的问题。只需要执行命令:

apt-get install postgresql-server-dev-9.1

即可。然后重新执行“bundle install”命令,之前安装好的它会自动跳过。

接下来,还会遇到一个问题,如下图所示:

这个是因为libpcap的一个包没有安装,具体命令如下:

apt-get install libpcap-dev

安装完成之后,还是要继续前面的“bundle install”命令。等一切安装都OK了,那就打开Ruby工具栏的File下的Open,定为到metasploit-framework的文件夹,然后选择msfconsole,运行。一切就OK了。对了,还有个地方要设置一下。设置的位置如下图所示:

如上图所示,选择解释器时,选择包含metasploit-framework的那个。

最后,贴上运行成功后的图:

我主要是用来编写和调试Exploit模块的,搭个环境留个记录吧。到此结束咯。

转载于:https://www.cnblogs.com/hiccup/p/5423992.html

关于Metasploit开发环境的搭建相关推荐

  1. android笔记1——开发环境的搭建

    Long Long ago...已经成为了历史,我还是要说出一个真相:早年前,那时候,android还不被大众所认知的时候,当然开发人员也没不像如今那样趋于饱和状态.一位大牛前辈,也是我的学长,那时候 ...

  2. Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    原文:出自本人的Linux博客http://blog.csdn.net/unix21/article/details/18813173 一.Java 开发环境的搭建 这里主要说windows环境下怎么 ...

  3. Java开发环境的搭建以及使用eclipse创建项目

    一.Java 开发环境的搭建 这里主要说windows环境下怎么配置Java环境.如果是Linux环境参考本博客另一篇文章即可: Linux环境安装卸载JDK 1.首先安装JDK java的SDK简称 ...

  4. SSH开发环境整合搭建

    1.建立动态web工程,加入必要的jar包. antlr-2.7.7.jar asm-3.3.jar asm-commons-3.3.jar asm-tree-3.3.jar c3p0-0.9.1.2 ...

  5. 《python 与数据挖掘 》一1.3 Python开发环境的搭建

    本节书摘来自华章出版社<python 与数据挖掘 >一书中的第1章,第1.3节,作者张良均 杨海宏 何子健 杨 征,更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...

  6. 微信小程序开发系列一:微信小程序的申请和开发环境的搭建

    我最近也刚刚开始微信小程序的开发,想把我自学的一些心得写出来分享给大家. 这是第一篇,从零开始学习微信小程序开发.主要是小程序的注册和开发环境的搭建. 首先我们要在下列网址申请一个属于自己的微信小程序 ...

  7. java刚工作搭建环境_Java开发环境的搭建

    一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK 点击下载好的exe文件安装即可. 2.接下来我们需要配置环境变量 xp系统下  右键'我的电脑' ...

  8. python语言编程环境-day02--编程语言的分类与Python开发环境的搭建

    一.编程语言的分类 机器语言:机器语言是二进制代码表示的计算机能够直接识别和执行的一种机器指令的集合. 汇编语言:汇编语言是一种比机器语言稍微高级的编程语言,它使用助记符代表机器指令的操作码,用地址符 ...

  9. Seam开发环境的搭建

    一.Seam开发环境的搭建 Seam开发环境的搭建包含以下几项内容: Java环境的安装和配置 JBoss环境的安装和配置 Ant环境的安装和配置 Seam环境的安装和配置 Eclipse环境及JBo ...

最新文章

  1. LeetCode实战:盛最多水的容器
  2. python 淘宝滑块验证_python2.7+selenium2实现淘宝滑块自动认证功能
  3. Visual C# 2008+SQL Server 2005 数据库与网络开发--9.1.1 SQL Server 2005中的XML功能
  4. Fiori应用全屏功能的实现 - fullscreen
  5. ICMP (互联网控制消息协议 )是什么
  6. 拥有一个高性能低延时数据库是什么样的体验?
  7. centos PIL 安装
  8. 可运行的C语言程序的拓展名,可运行的c语言程序的扩展名为什么?
  9. (转)在FlashBuilder里的ActionScript工程中使用Flash CS5中的类 fl.controls库
  10. [Android O] [RK3399] -- 调试 Audio 模块(ALC5651)
  11. 水果常识大全【图文典藏版】
  12. 一個“語言”引發的血案
  13. vue动态添加图片/背景图
  14. Jupyter Notebook使用的快捷键
  15. 蓝屏解决办法,及介绍。(装逼或学习)
  16. 芝加哥面孔数据库(CFD)的人脸模板
  17. 信号相参性(相干性)
  18. 【破解利器】PE工具篇(PE编辑,查看等操作)
  19. (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  20. 动态规划——股票问题

热门文章

  1. 阿里云短信isp.RAM_PERMISSION_DENY没有访问权限解决办法
  2. Scala Case类和对象
  3. 3月20日, Java 10 正式发布了!
  4. java web api 版本控制_怎么做 Web API 版本控制?
  5. c语言memset清空指向数组的指针_C语言中数组和指针的关系
  6. C++面向对象设计原则详解
  7. C++设计模式--单例模式(Singleton)及单例通用模板
  8. SVM支持向量机【直观理解】
  9. python(numpy,pandas12)——pandas plot 画图
  10. 灵图天行者9 pc版_原神PC预下载现已开启