Metasploit Framework基礎(chǔ)介紹及下載
緩沖區(qū)溢出好比是正常情況下,容積為1升的杯子最多只能盛1升的水,但是當(dāng)我們將3升的水倒入一個這個只有1升的杯子里時,可想而知,多出來的部分會溢出杯子,灑到桌上甚至滿地都是。計(jì)算機(jī)也是一樣,當(dāng)黑客向緩沖區(qū)內(nèi)填充數(shù)據(jù),而數(shù)據(jù)長度超過了緩沖區(qū)本身的容量后,數(shù)據(jù)就會溢出存儲空間,裝不下的數(shù)據(jù)則會覆蓋在合法的數(shù)據(jù)上,導(dǎo)致程序的出錯乃至崩潰,這就是緩沖區(qū)溢出原理。但是,如果緩沖區(qū)僅僅溢出,這只是一個問題。到此時為止,它還沒有破壞性。但如果說能夠精確地導(dǎo)入事先準(zhǔn)備好的水時,比如1.325升水,那么溢出來的也就是0.325升水。
黑客們用精心編寫的攻擊代碼使得操作系統(tǒng)或者應(yīng)用程序等出現(xiàn)緩沖區(qū)溢出,由于是事先已經(jīng)精確定義,所以也將會導(dǎo)致黑客們想要得到的結(jié)果,比如死機(jī)、重啟、獲取Rootshell、下載木馬等。此時的系統(tǒng)或者程序已經(jīng)完全被黑客們所操縱了。
◆關(guān)于Metasploit3
作為緩沖區(qū)溢出攻擊工具,鼎鼎有名的就是Metasploit Exploitation Framework,簡稱為Metasploit。Metasploit Framework (MSF)是2003 年以開放源代碼方式發(fā)布、可自由獲取的開發(fā)框架,這個環(huán)境為滲透測試、shellcode 編寫和漏洞研究提供了一個可靠的平臺。它集成了各平臺上常見的溢出漏洞和流行的shellcode,并且不斷更新,最新版本的MSF 包含了180多種當(dāng)前流行的操作系統(tǒng)和應(yīng)用軟件的exploit,以及100多個shellcode。作為安全工具,它在安全檢測中起到不容忽視的作用, 并為漏洞自動化探測和及時檢測系統(tǒng)漏洞提供有力的保障。目前最新版本為Metasploit3,在BT4下面默認(rèn)已經(jīng)安裝。這款工具是免費(fèi)的,最早在2005年Black Hat全球黑客集會上公開,經(jīng)過長時間的發(fā)展,已經(jīng)被譽(yù)為緩沖區(qū)攻擊平臺。
該工具通過加載預(yù)先制作好的緩沖區(qū)溢出代碼包,定義細(xì)化的溢出種類,來達(dá)到組建多種不同類型溢出攻擊工具共存的統(tǒng)一攻擊平臺。在其網(wǎng)站提供了詳細(xì)的參數(shù)及相關(guān)文檔說明,同時該工具提供Windows和Linux兩種版本,大家可以根據(jù)需要下載對應(yīng)的安裝版本按默認(rèn)安裝即可。
官方下載地址:http://www.metasploit.com/framework/download/
在BackTrack4 R2 Linux下,我們可以通過以下步驟打開Metasploit3。點(diǎn)選菜單上的"BackTrack"---"Penetration"--- "Framework Version3",就能看到Metasploit3所有的子工具。菜單展開后如下圖-1所示。
圖-1#p#
◆Metasploit3的升級
Metasploit會不定期更新可利用的漏洞程序,可以通過Online Update來進(jìn)行升級。所以在使用前,應(yīng)養(yǎng)成習(xí)慣先升級Metasploit3的攻擊代碼庫。打開任意一個Shell,輸入msfconsole回車或者點(diǎn)選上圖所示菜單中的"msfconsole",就可以看到當(dāng)前包含的代碼數(shù)量,如下圖-2所示,我們可以看到這樣的提示:"379 exploits",即379個攻擊代碼。
圖-2
下面開始進(jìn)行升級操作,有兩種方法或者說是有兩個命令都可以用來進(jìn)行升級更新操作,具體如下:
方法1:
先進(jìn)入到Metasploit3的目錄下,即/pentest/exploits/framework3/下,輸入命令如下:
./svn-update.sh
回車后,稍等片刻,就能看到如下圖-3所示的升級界面,會有大量的文件被下載并放置在當(dāng)前目錄下,我們可以在當(dāng)前界面中看到具體的升級狀態(tài)。
圖-3 #p#
稍等片刻后,升級完成,就會提示我們新的版本號,如下圖-4所示,升級完畢后顯示"Updated to revision 7123",即當(dāng)前版本已經(jīng)升級到7123,此為內(nèi)部版本號。注意,升級的時間完全取決于網(wǎng)絡(luò)狀態(tài),快一點(diǎn)的話1、2分鐘就完成了,慢的話就要稍等一下了。
圖-4
升級完畢后,還在當(dāng)前目錄下,輸入./msfconsole,如下圖-5所示,我們可以看到此時的exploits數(shù)量達(dá)到了412,較剛才相比增加了33個,如上圖-4所示。所以說,在進(jìn)行測試前,應(yīng)該及時升級Metasploit的exploits庫。
圖-5
方法2:
如下圖-6所示,打開任意一個Shell,輸入msfupdate命令來對Metasploit進(jìn)行更新。回車后MSF會自動連接器官方網(wǎng)站進(jìn)行升級,并在升級完畢后顯示最新版本號,在下圖-6中就是Revision11626。
圖-6
那么,既然升級完了,接下來,就來使用Metasploit3進(jìn)行溢出實(shí)戰(zhàn)吧。#p#
◆Metasploit3的基本命令
在進(jìn)入Metasploit3后,就可以使用"?"來獲取基本命令,具體如下:
"?":得到幫助。
"cd":更換當(dāng)前的工作目錄。
"exit":退出。
"help": 得到幫助。
"info":顯示當(dāng)前程序的信息。
"quit":退出程序。
"reload":載入Exploit和 payloads。
"save":保存當(dāng)前設(shè)置
"setg":設(shè)置一個環(huán)境變量。
"show":顯示可用的Exploit和 payloads。
"use":使用一個Exploit。
"version":顯示程序的版本。
下面,我們就通過幾個不同類型的攻擊實(shí)例來學(xué)習(xí)Metasploit的使用。