[原创] 关于Metasploit开发环境的搭建

chugee 2017-1-6 21:08 614

电脑重装系统换了win10,之前的环境都没了,而Metasploit也开始用ruby2.4了,花了一个晚上加一个早晨的时间将环境重新搭建了一下,中间还是遇到了一些坑,并且和之前写的有所出入,特将过程重新整理,并之前贴的图重新了一下

————————————————— 这里开始—————————————————

首先官方下载最新的rubyinstaller-2.4.2-2-x64

可以从主页上看到这个提示

Starting with Ruby 2.4.0 we use the MSYS2 toolkit as our development kit. It is required to build native C/C++ extensions for Ruby and is necessary for Ruby on Rails. Moreover it allows the download and usage of hundreds of Open Source libraries which Ruby gems can depend on.
Down this page, several and other versions of Development Kits (DevKit) are listed. Please download the right one for your version of Ruby:
Ruby 2.4.0 and newer: The MSYS2 DevKit is downloaded as the last step of the installation. It can be installed later per ridk install command.

简单说就是2.4版本的ruby不再需要专门下载devkit了,只需在安装的最后一步选中安装MSYS2,安装结果如图


由于重装了系统,有一些重要的库没有安装,因此bundle install的时候遇到了这个


很快在stackoverflow上找到了解决方案


(这位回答者还很贴心的将pcaprub库的安装详细过程的链接贴了出来

https://github.com/pcaprub/pcaprub/wiki/Windows-Installation,但是这个安装过程是针对devkit讲解的,仅供参考)

装好了wpdpack后报错依旧


链接时出了问题,没有找到一些函数的共享库的位置,Google了许久,尝试了很多次,未果,只好将这个问题放在一边。

第二天早上灵机一动,会不会是库的64位和32位的问题,果然,把C:\WpdPack\Lib\x64中的DLL拷贝到C:\WpdPack\Lib\中问题便解决了


继续bundle install

又遇见了熟悉的错误,很明显bcrypt的版本没选对嘛。这里要特别提醒一下大家一定要区分好这两个


下载bcrypt3.1.11到本地后重新安装


bundle install,环境搭建成功!


 下面是之前的内容

————————————————— 华丽的分隔线—————————————————

要做毕业设计了,与Metasploit相关的课题。首先需要搭建相应的环境分析metasploit的源码,本来应该在kali下面做的,但是linux的一些命令不熟,而且感觉虚拟机不太方便,于是拿到windows下做。网上搜了下,国内这方面的资料很少。主要参考的是:
http://blog.csdn.net/bnxf00000/article/details/44891117
https://www.exploit-db.com/docs/27935.pdf
然后遇到各种问题主要靠:
http://stackoverflow.com/
https://github.com/
首先要讲的是,这件事纯粹是一个体力活,前前后后折腾了好几个小时,跳下去才知道这是一个坑,因此如无需要,不建议在windows下尝试。
为了让没开始的或者正在开始的朋友少走点弯路,我会将自己安装过程及遇到的问题简单列出,仅供参考,欢迎拍砖,也请原谅我因为一些原因不能及时回复。
首先要下载Ruby和RubyMine,这里就不多讲了,傻瓜式的。Ruby建议装C盘,而且官网的安装包一键安装之后会附带装好rubygems
下载并安装Devkit,一定要从官网下,并且选对版本,是32位还是64位,不然之后会出问题,后面再讲
然后下载一份Metasploit的源码,从github上下载,用rubymine载入metasploit的文件夹msf3,然后会像这样

点击install会报错,这里就不贴出来了。我E文不好,不知道怎么用英文描述,google打了一堆关键字也没找到重点,卡在这好久。
开始根据提示安装了bundle,但是还是不行。
后来想是不是下载的问题,在Gemfile 里,第一个
1        source 'https://rubygems.org/'
改成
1        source 'https://ruby.taobao.org/'
然并卵,搞了半天要放弃了,灵光乍现,可能是windows下没有安装git的原因,下了个git。
再点击install,果然可以下载缺少的gem了。
注意:可以直接用Install下载,也可以通过命令行进入msf3文件夹目录下用bundle install命令下载,两种方法是一样的。
然而事情还没完,install了许多gem之后又报错了

大意是一个包没装好,需要安装好之后才能继续bundling,按照它给的命令 gem install bcrypt -v ‘3.1.11’,报错

网上找到了解决办法,删除相应的文件,重新安装

到报错的gem文件目录下删除那个gem文件之后,重新安装果然ok了

继续bundle install

很快的又出现了错误

简单百度下,应该是devkit的问题
之前已经装过了devkit,但依旧报错,应该是版本的原因,还是要从官网上下载最新版的

下载了DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe
结果重新安装时就一直报错
[INFO] Skipping existing gem override for 'C:/Ruby23'
[WARN] Skipping existing DevKit helper library for 'C:/Ruby23'
百度得到一些方案,但未能解决这个问题,最后发现一个方案能够解决一半的问题

删除这个文件及备份然后重新安装,发现下面的WARN变成了INFO,但是bundle install还是会出现上面的问题,尝试了下删除后使用
dk init
dk -f install
测试发现安装成功
测试命令gem install rdiscount --platform=ruby
然后bundle install


一切顺利
进入后终于不再提示安装gem了,然而运行还是出了问题

这个问题困扰了我好久,在stackoverflow.com上看了很多,最后发现是安装的版本问题,安装的这个bcrypt版本目录下没有bcrypt_ext.so文件,换一个版本bcrypt-3.1.11
卸载掉下面的bcrypt-3.1.11-x86-mingw32

终于不再报错

环境搭好了。
后面如碰到其他问题解决后我会贴出来,也欢迎各位留下宝贵的经验。
最新回复 (2)
livewonder 2017-3-3 15:46
2
赞一个。正在找Windows的搭建方法
kidom 2017-3-3 18:14
3
metasploit还是直接用kali里面的最好。。不管是linux还是windows下的搭建都是个大坑
返回