在 freeBSD 中使用 metasploit

在 freeBSD 中使用 metasploit

metasploit是什麼在這裏我想就不用多介紹了吧, 能查到這篇文章的人肯定已經很熟悉了吧. 下面主要介紹如何在 freeBSD中安裝使用metasploit這個神器.

一開始的時候, 我先用 whereis metasploit 命令查看ports中是否有metasploit, 一看竟然還真有, freeBSD果真足夠強大. 用ports 或是 pkg_add 的方式都可以安裝, 但這樣安裝的metasploit並不是最新的, 並且安裝之後, 我沒有找到一個很好的更新方法(應該是有的, 只是我沒有深入研究一下, 如果有朋友知道, 可以在下面留言給我, 萬分感謝.), 而使用metasploit的人應該知道時刻保持自己的metasploit是最新的是多麼重要吧, 所以下面介紹的方法的特點就是在任何平臺下更新metasploit都很方便.

首先我是看到了官網的這個說明, 發現用svn的方法更新果真是再好不過的了, 看到這裏的朋友也可以先按照官網上的說明試一試, 如果能夠一次性成功當然是最好的, 而且你可以不用再往下看了, 但是如果在checkout的時候失敗了, 並且提示的錯誤類似這樣 svn: REPORT of '/svn/!svn/vcc/default': Could not read response body: Secure connection truncated (https://www.metasploit.com), 那請你接着往下看.

針對上面的問題我曾經還給msf的工作人員發了一封求助郵件, 因爲我嘗試了很多遍都是同樣的問題, 因此我本能的認爲可能是他們的svn服務器有什麼問題. msf的工作人員第二天就給我回郵件了, 大意是: 你在checkout的時候svn斷開了, 將之前checkout下來的所有東西清空再嘗試一遍. 這種方法我已經嘗試了n遍, 顯然是沒有用的, 但他這樣給我回郵件, 至少證明他能肯定他們的svn服務器是沒有問題的, 看來我只有換個思路了.

還有什麼原因能夠導致svn沒有響應呢? 我突然想到之前在用php寫一個向其他服務器發送http請求的程序時, 也遇到了類似的問題, 當時原因是因爲請求回來的數據太大, 下載的時間太長, 導致連接時間超過了設置的最大時間. 難道這次也是因爲這個原因? 只有試一試了, 可是怎樣才能減少連接時間呢? 一次只checkout下來一部分, 這樣應該就可以了吧.

於是我用 svn help co 命令查看了 checkout 的參數, 發現可以通過參數來控制checkout的目錄深度, 這樣我們就可以先將第一層和第二次目錄checkout下來, 接着再對每一個第二層目錄進行checkout, 最後在第一層目錄下使用 svn update 命令保證每個目錄的版本的相同的, 下面就是具體的步驟了.


1. 先將第一層和第二次目錄更新下來:

svn co --depth immediates https://www.metasploit.com/svn/framework3/trunk/ metasploit/

其中 metasploit/ 是你事先創建好的一個空目錄. 這個命令執行完了以後, 你在metasploit目錄下應該可以看到一些文件和目錄, 其中目錄裏面應該是空的, 或是有一個.svn/ 目錄, 如果有.svn/ 目錄, 請將 .svn/ 目錄刪除.

2. 依次更新所有的第二層目錄, 這裏我以 data/ 目錄爲例:

cd metasploit 這個命令是進入你之前創建的 metasploit/ 目錄
svn co --depth infinity https://www.metasploit.com/svn/framework3/trunk/data/ data/

這樣 data/ 目錄下的所有內容就被更新下來了, 依次更新與 data/ 目錄在同一級的目錄.

3. 最後在metasploit/ 目錄下使用 svn updata 命令來保證所有更新下來的內容在同一版本:

svn update

這樣, 以後每天使用metasploit之前都可以先 svn update 一下, 保證自己的metasploit是最新的 :)



還有一點題外話, 除了以上的操作, 你可能還是無法將metasploit運行起來, 你還需要安裝運行metasploit需要的環境, 那就是rubygem-activerecord, rubygem-activerecord可以通過pkg_add的方式直接安裝.

現在運行msfconsole應該沒問題了, 但可能你會看到 ini.rb:144: command not found: infocmp -C 這樣的warning, 解決這個warning的方法是安裝 ncurses, 因爲安裝ncurses的過程中會安裝infocmp. 安裝ncurses也可以通過pkg_add的方式直接安裝. 至於這兩個東西是幹嘛用的, 我也不太清楚 :)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章