关于Metasploit开发环境的搭建
????? 又開始看《Metasploit滲透測試魔鬼訓練營》這本書了??吹絎eb應用程序滲透測試這一章,其中有一部分是關于自己編寫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开发环境的搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 乌鲁木齐宝能城是毛坯房还是精装修?
- 下一篇: 第十节 字符串指针变量与字符数组的区别(