王學(xué)慶,羅尚平
(樂(lè)山師范學(xué)院 a.離退休工作處;b.計(jì)算機(jī)科學(xué)學(xué)院,四川 樂(lè)山 614000)
隨著經(jīng)濟(jì)與信息化的飛速發(fā)展,網(wǎng)絡(luò)信息安全是我們需要迫切解決的一個(gè)問(wèn)題。網(wǎng)絡(luò)滲透的攻與防御成為了研究網(wǎng)絡(luò)信息安全的重要內(nèi)容,為此,涌現(xiàn)出了眾多滲透攻擊測(cè)試平臺(tái),如基于Web的安全攻擊測(cè)試平臺(tái)[1]、基于系統(tǒng)漏洞的安全攻擊測(cè)試平臺(tái)[2]、基于應(yīng)用軟件的安全攻擊測(cè)試平臺(tái)[3]等。這些平臺(tái)解決了一部分安全功能測(cè)試所需要的環(huán)境與手段,但沒(méi)有構(gòu)建一個(gè)真實(shí)有效的網(wǎng)絡(luò)整體環(huán)境,安全漏洞與代碼不能有效更新,不能很好地滿足用戶滲透測(cè)試、攻防對(duì)抗與技術(shù)學(xué)習(xí)的需要,為此,如何構(gòu)建一個(gè)能模擬真實(shí)的網(wǎng)絡(luò)環(huán)境并能實(shí)現(xiàn)不同應(yīng)用對(duì)象在不同安全測(cè)試條件下均能實(shí)現(xiàn)滲透攻擊的平臺(tái)就顯得尤為重要。本文通過(guò)研究Metasploit滲透攻擊平臺(tái),模擬一個(gè)真實(shí)的網(wǎng)絡(luò)環(huán)境,利用虛擬機(jī)軟件部署多臺(tái)虛擬機(jī),使用Metasploit框架對(duì)平臺(tái)中的靶機(jī)進(jìn)行漏洞探測(cè),并利用靶機(jī)存在的漏洞發(fā)起滲透攻擊,分析滲透攻擊過(guò)程中可以應(yīng)用的手段,再針對(duì)部分攻擊手段制定防御對(duì)策,以達(dá)到驗(yàn)證攻防技術(shù)、提升網(wǎng)絡(luò)安全性的目的。平臺(tái)能提供給學(xué)習(xí)者盡可能豐富的安全模塊與滲透攻擊手段,并能溯源整個(gè)攻防過(guò)程,讓學(xué)習(xí)者能了解其中滲透攻擊原理,有效進(jìn)行二次開(kāi)發(fā)與研究學(xué)習(xí)。
Metasploit是一個(gè)跨平臺(tái)的開(kāi)源的滲透測(cè)試框架,有1 500多個(gè)模塊和400多個(gè)攻擊載荷[4]。它采用模塊化理念設(shè)計(jì),包含了很多利用代碼和滲透測(cè)試工具且被不斷地更新。它可以在同一個(gè)平臺(tái)上利用各種不同的代碼進(jìn)行滲透攻擊測(cè)試,許多攻擊代碼和設(shè)置參數(shù)等可以重復(fù)利用,還可以根據(jù)需要將滲透過(guò)程中不同階段使用的攻擊代碼進(jìn)行自由組合,而不需要針對(duì)每一個(gè)漏洞去寫(xiě)一整套完整的代碼,故它可以在不同的目標(biāo)環(huán)境中快速地執(zhí)行完整的滲透攻擊測(cè)試。Metasploit的這些超越同類(lèi)的特點(diǎn)與優(yōu)勢(shì),使得它在安全領(lǐng)域享有很高的地位。
平臺(tái)給出了基于Metasploit框架下的滲透攻擊測(cè)試的總體設(shè)計(jì),包括攻擊機(jī)和靶機(jī)。針對(duì)被滲透攻擊測(cè)試系統(tǒng)的運(yùn)行環(huán)境,給出了網(wǎng)絡(luò)總平臺(tái)、DMZ平臺(tái)、企業(yè)門(mén)戶平臺(tái)和內(nèi)網(wǎng)平臺(tái)四個(gè)關(guān)鍵平臺(tái)的設(shè)計(jì)和建設(shè)方案,具體如圖1所示:

圖1 虛擬機(jī)下的滲透攻擊平臺(tái)
平臺(tái)采用Vmware虛擬化技術(shù),支持在一臺(tái)高性能的PC機(jī)或筆記本電腦上(建議四核酷睿i5 CPU以上、8 G內(nèi)在以上及500 G以上硬盤(pán)空間)安裝這些測(cè)試的主機(jī)鏡像,可以根據(jù)不同的滲透攻擊技術(shù)選擇性地運(yùn)行不同的虛擬機(jī),具體使用如表1中所列的8個(gè)虛擬機(jī)鏡像:

表1 平臺(tái)環(huán)境中的虛擬機(jī)鏡像
平臺(tái)能實(shí)現(xiàn)由學(xué)習(xí)者根據(jù)需要自主地選擇掃描工具,對(duì)目標(biāo)網(wǎng)絡(luò)進(jìn)行有針對(duì)性的掃描,根據(jù)網(wǎng)絡(luò)滲透測(cè)試實(shí)驗(yàn)的步驟,逐步完成網(wǎng)絡(luò)滲透測(cè)試過(guò)程。實(shí)驗(yàn)不設(shè)定特定的環(huán)境,注重教學(xué)實(shí)踐,培養(yǎng)實(shí)驗(yàn)者獨(dú)立思考的能力。在該平臺(tái)上,學(xué)習(xí)者可以自由地選取掃描工具和滲透測(cè)試對(duì)象以及滲透測(cè)試的策略,通過(guò)在虛擬網(wǎng)絡(luò)環(huán)境下完成網(wǎng)絡(luò)滲透測(cè)試的整個(gè)過(guò)程,來(lái)理解網(wǎng)絡(luò)滲透測(cè)試的流程、步驟和手段,并能根據(jù)獲取到的漏洞信息編寫(xiě)、修改和添加攻擊載荷模塊,完成相應(yīng)的滲透測(cè)試;學(xué)習(xí)者能更加清楚地了解網(wǎng)絡(luò)滲透測(cè)試的全過(guò)程,并能夠直觀清晰地看到滲透攻擊所產(chǎn)生的效果,以便分析和研究漏洞信息、攻擊原理以及防御手段。
平臺(tái)支持功能模塊二次開(kāi)發(fā),能夠模擬主流滲透測(cè)試場(chǎng)景以及快速搭建不同的測(cè)試環(huán)境,并具備再現(xiàn)典型攻擊手段,支撐安全技術(shù)的研究等作用,研究人員通過(guò)平臺(tái)可以提高對(duì)于應(yīng)用系統(tǒng)、設(shè)備的安全防護(hù)能力和對(duì)突發(fā)事件的應(yīng)急響應(yīng)能力。
平臺(tái)的攻擊機(jī)整合了Metasploit的多個(gè)信息收集工具如Nmap、Nessus、OpenVAS等搜集目標(biāo)的信息[5],掃描目標(biāo)的開(kāi)放端口,分析目標(biāo)上正在運(yùn)行的網(wǎng)絡(luò)服務(wù)內(nèi)容。它既能對(duì)網(wǎng)絡(luò)進(jìn)行廣泛掃描,也能聚焦單個(gè)目標(biāo);還可以加載附加腳本,擴(kuò)展信息搜集能力。根據(jù)掃描結(jié)果,可以發(fā)現(xiàn)目標(biāo)網(wǎng)絡(luò)中的不同服務(wù)對(duì)象、不同目標(biāo)類(lèi)型,根據(jù)不同服務(wù)對(duì)象、不同目標(biāo)類(lèi)型采用不同的方法嘗試對(duì)目標(biāo)進(jìn)行滲透攻擊。平臺(tái)設(shè)計(jì)中,門(mén)戶網(wǎng)站服務(wù)器靶機(jī)是尋找整個(gè)平臺(tái)環(huán)境中的切入點(diǎn),其OWASP模塊匯集了大量存在已知安全漏洞的訓(xùn)練實(shí)驗(yàn)環(huán)境和真實(shí)Web應(yīng)用程序,使用者可對(duì)其進(jìn)行掃描與滲透攻擊測(cè)試,以獲得整個(gè)網(wǎng)絡(luò)環(huán)境情況,作為攻擊跳板入侵網(wǎng)絡(luò)內(nèi)其他主機(jī)與服務(wù)器。
利用Metasploit掃描功能能獲取單個(gè)服務(wù)器靶機(jī)信息,要分析總體安全性,需要調(diào)用一些深入掃描的腳本詳細(xì)探測(cè)目標(biāo)的全面信息。可通過(guò)Metasploit框架中的find命令找到漏洞探測(cè)腳本,并通過(guò)-script參數(shù)利用Nmap、Nessus、OpenVAS等工具加載腳本掃描目標(biāo)系統(tǒng),找到目標(biāo)系統(tǒng)是否易受漏洞攻擊,存在的安全隱患以及網(wǎng)絡(luò)路由情況,最后確定安全攻擊方式。
要利用安全漏洞發(fā)起滲透攻擊,首先通過(guò)use命令進(jìn)入Exploit發(fā)起攻擊,然后執(zhí)行“show options”命令顯示攻擊的參數(shù)選項(xiàng)。這時(shí)并沒(méi)有設(shè)定Payload(攻擊載荷)。在Metasploit框架中Exploit的作用是對(duì)漏洞發(fā)起攻擊,而Payload就是攻擊成功之后執(zhí)行的功能代碼[6]。它能獲得一個(gè)shell或者能根據(jù)攻擊機(jī)指令從攻擊機(jī)獲得更多的Payload去運(yùn)行,這樣有利于對(duì)目標(biāo)進(jìn)行不同方式的滲透攻擊。
攻擊成功后將會(huì)看到控制臺(tái)中提示已經(jīng)打開(kāi)了一個(gè)目標(biāo)的Session,即控制的會(huì)話,并且出現(xiàn)了系統(tǒng)的cmdshell的命令提示,執(zhí)行whoami命令查看獲得的權(quán)限,發(fā)現(xiàn)Metasploit已經(jīng)成功獲得了目標(biāo)服務(wù)器系統(tǒng)的最高權(quán)限。
僅獲得cmdshell并不能體現(xiàn)Metasploit的強(qiáng)大,此時(shí)可以換用Metasploit提供的更強(qiáng)大的Payload功能Meterpreter來(lái)對(duì)目標(biāo)系統(tǒng)進(jìn)行控制。通過(guò)靈活運(yùn)用meterpreter內(nèi)建的滲透命令或執(zhí)行腳本、加載模塊,可以搜集到更多的信息或?qū)崿F(xiàn)某些功能,方便進(jìn)一步對(duì)目標(biāo)進(jìn)行滲透,以達(dá)到再次滲透攻擊的目的。
由于此時(shí)Payload是在目標(biāo)系統(tǒng)內(nèi)存中運(yùn)行的,一旦注入的進(jìn)程終止或者目標(biāo)系統(tǒng)關(guān)閉重啟,就會(huì)失去對(duì)目標(biāo)的控制。為此,可在目標(biāo)系統(tǒng)中安裝一些后門(mén)程序,實(shí)現(xiàn)持久化控制。Metasploit集成的后門(mén)程序中較為常用的有Metsvc和Persistence[7-8]。Metsvc是通過(guò)服務(wù)項(xiàng)目啟動(dòng)的,會(huì)被上傳到目標(biāo)系統(tǒng)的用戶臨時(shí)目錄,文件名字都帶有Metsvc字樣,其默認(rèn)的啟動(dòng)服務(wù)名稱(chēng)為“meterpreter”。
Persistence后門(mén)通過(guò)注冊(cè)表啟動(dòng)VBS腳本文件的方式釋放后門(mén)運(yùn)行,本身的VBS文件、釋放的EXE文件的文件名以及注冊(cè)表啟動(dòng)項(xiàng)名稱(chēng)均為隨機(jī)字符串,在VBS腳本中保存的后門(mén)程序代碼是經(jīng)過(guò)編碼后的普通文本,沒(méi)有明顯的惡意代碼特征,所以相對(duì)于Metsvc而言比較能隱藏自己不被發(fā)現(xiàn)。
后門(mén)植入完成后,攻擊對(duì)象就完全被攻擊控制了,此時(shí)可以獲取對(duì)象的任何信息。
本文設(shè)計(jì)了用于研究網(wǎng)絡(luò)安全與網(wǎng)絡(luò)攻擊方法測(cè)試與學(xué)習(xí)的平臺(tái),解決了教與學(xué)中沒(méi)有真實(shí)環(huán)境進(jìn)行實(shí)戰(zhàn)演習(xí)的瓶頸,讓學(xué)習(xí)者真實(shí)地進(jìn)行網(wǎng)絡(luò)滲透攻擊與防御,了解其深層次的原理,提高了他們的理論與實(shí)戰(zhàn)水平。平臺(tái)模擬一個(gè)真實(shí)的網(wǎng)絡(luò)環(huán)境,并利用靶機(jī)存在的漏洞發(fā)起滲透攻擊,分析滲透攻擊過(guò)程中可以應(yīng)用的手段,再針對(duì)部分攻擊手段制定防御對(duì)策,以達(dá)到驗(yàn)證攻防技術(shù),提升網(wǎng)絡(luò)安全性的目的。平臺(tái)提供給學(xué)生者盡可能豐富的安全模塊與滲透攻擊手段,并能溯源整個(gè)攻防過(guò)程,讓學(xué)習(xí)者能了解其中的滲透攻擊原理,實(shí)現(xiàn)了代碼的重復(fù)利用與二次開(kāi)發(fā),這是以前滲透攻擊平臺(tái)所不具有的功能。此外,平臺(tái)結(jié)合Metasploit開(kāi)源的特點(diǎn),能實(shí)時(shí)更新代碼與滲透攻擊庫(kù),讓學(xué)習(xí)者能了解最新的網(wǎng)絡(luò)安全態(tài)勢(shì),以應(yīng)對(duì)網(wǎng)絡(luò)安全挑戰(zhàn)。