关于Metasploit开发环境的搭建

      又开始看《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模块的,搭个环境留个记录吧。到此结束咯。

时间: 2025-01-02 14:52:54

关于Metasploit开发环境的搭建的相关文章

开发环境——基于RHEL 6.8开发环境的搭建

开发环境--基于RHEL 6.8开发环境的搭建 本文讲述了基于RHEL 6.8操作系统搭建开发环境,主要安装了GCC 4.9.3.Qt 5.7.Apache 2.4.25.MySQL 5.6.35.本文同时适用于在Linux主机无互联网环境下搭建开发环境,只需要将所需安装包下载后拷贝到Linux主机即可. 一.RHEL6.8安装 1.RHEL 6.8下载 下载RHEL 6.8安装包:rhel-server-6.8-x86_64-dvd.iso 2.RHEL 6.8安装 安装过程中选择Develo

Android开发环境的搭建

(我果然在作死的道路上越走越远了...) 花了一下午的时间搭建了Anroid开发环境,来说说搭建的过程: 首先,百度! 网上关于Android开发环境搭建的教程有很多,但许多都很杂乱,而且时间久远已经不是很准确了. 浏览了众多教程,贴两个个人觉得较不错的教程地址: 1.http://blog.csdn.net/fl_xin/article/details/39472019 2.http://wenku.baidu.com/link?url=noSH3FDTfaZRe59RTFtuemi-6155

Ubuntu 14.04下java开发环境的搭建--3--Tomcat及MySQL的安装

前面两篇文章,已经说明了JDK和Eclipse 的安装方法,下面简单说一下,Tomcat及MySQL的安装方法. Tomcat的安装. 在合适的地方解压apache-tomcat-6.0.39.tar.gz cd /opt/DevelopTools sudo mkdir server cd server sudo cp /home/home/下载/apache-tomcat-6.0.39.tar.gz /opt/DevelopTools/server sudo tar -zxvf apache-

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

Long Long ago...已经成为了历史,我还是要说出一个真相:早年前,那时候,android还不被大众所认知的时候,当然开发者也没不像现在那样趋于饱和状态.一位大牛前辈,也是我的学长,那时候我还在上大学.前辈告诫我有时间得去看看android开发,那时候的自己,年轻.冲动.不畏惧,毅然地选择了java服务端开发,放弃了学习android开发. 时隔数年的今天,因为公司业务项目的发展,我还是得去做android开发工作...虽然这几年间断断续续的看了些android开发,但是将成为历史的今

从svn签下代码以及集成开发环境的搭建详细过程

在经过几次的从svn上签下来代码的经历之后,终于总结出了详细的步骤 在upupw/htdocs下建立新的文件夹(此处根据你服务器的根目录而变),此处为bpb1027 ,再右键,选择SVN Checkout 填入内网或外网访问SVN的地址,后面要加个/trunk(主干开发) SVN 主干(trunk).分支(branch ).标记(tag)的不同 trunk:是用来做主方向开发的,一个新模块的开发,这个时候就放在trunk,当模块开发完成后,需要修改,就用branch. branch:是用来做并行

Perl开发环境的搭建--windows

Steps Summary: 1. 下载安装文件 2. 点击文件进行安装 3. 设置环境变量 4. 测试安装是否成功 以在win8上安装Active perl 5.22 为例 Details: 1. 下载安装文件 1) way1: 自己安装编译器,再安装Perl模块,再进行编译,安装. 这种方法的好处是可以编译安装所有的模块 2) way2: 下载已经编译好的perl模块直接进行安装 只能安装定义好的模块.但是编译好的模块一般包含了日常所需的功能.初学者最好使用第二种方法进行安装 以active

Linux平台下Java_Android开发环境的搭建

Linux 平台下安装JDK .Eclipse .Android SDK 说明 开发工具需自行去下载,此处就不再累述 该教程安装环境为 Ubuntu 14.04 x64 其他Linux操作方式基本相同 设计文件修改部分,请先备份要修改的文件,避免操作失误导致不能还原 Liunx 平台下区分大小写,输入文件名或路径建议复制避免不必要的错误 部分操作涉及root权限,为了避免麻烦 请直接使用 root权限操作 开启root权限: 1. sudo su root 2. 后面的提示中输入用户密码 安装

【2014】【辛星】【php】【秋季】【1】php开发环境的搭建

**************************什么是开发环境*********************** 1.我们学习PHP,是使用它来做web用的,通俗理解,就是做网站. 2.网站的运行需要一定的条件,比如它需要服务器.数据库等环境,当然还需要一个操作系统来支撑他们的运行. 3.我们在学习阶段,就需要模拟这个网站的运行环境,但是我们是在开发阶段,也就是所谓的"开发环境". *****************搭建环境前的选择***************************

SIP开发环境的搭建(转)

IP开发环境的搭建(转) 要在windows或者linux平台下开发基于SIP的软电话,需要以下软件 服务器端软件: 注册多个客户端到服务器上,可以进行通话测试 SIP客户端软件:主要用于测试,可以对别人已经完成的客户端进行抓包,以比对自己程序的发包数据 SIP协议栈:基于某个现成的SIP协议栈来开发会加快开发进度 RTP栈:传输语言或者视频数据的协议栈 抓包测试工具:调试网络程序最有效的办法 以下介绍这些软件主要以开源软件为主 一 服务器端软件 1. Asterisk:Linux系统下开源的I