雷驚鵬,沙有闖
(安徽國(guó)防科技職業(yè)學(xué)院,安徽 六安 237011)
利用Kali Linux開展?jié)B透測(cè)試
雷驚鵬,沙有闖
(安徽國(guó)防科技職業(yè)學(xué)院,安徽 六安 237011)
隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,特別是近年來(lái)各種Web技術(shù)的普遍升級(jí),信息網(wǎng)絡(luò)所面臨的威脅日趨多樣化。對(duì)于網(wǎng)絡(luò)管理者而言,滲透測(cè)試(Penetration Testing)已成為保障網(wǎng)絡(luò)安全的重要手段和方法。Kali Linux系統(tǒng)被設(shè)計(jì)成用于數(shù)字取證和滲透測(cè)試的專用平臺(tái)。本文參考業(yè)界正在完善的PTES標(biāo)準(zhǔn)[1],結(jié)合Kali Linux系統(tǒng)本身的功能與特色,分析了滲透測(cè)試的思路與步驟。
網(wǎng)絡(luò)安全;滲透測(cè)試;方法;Kali Linux
滲透測(cè)試(通??珊?jiǎn)稱滲透),是用于核心安全評(píng)估和審計(jì)的一套流程,是一種合法且授權(quán)定位計(jì)算機(jī)系統(tǒng),并對(duì)其成功實(shí)施漏洞攻擊的方法[2],根據(jù)滲透方法可以將測(cè)試分為黑盒測(cè)試、白盒測(cè)試和隱秘測(cè)試[3],白盒測(cè)試幫助管理員節(jié)省時(shí)間,被測(cè)試對(duì)象的基本情況對(duì)于測(cè)試人員而言是已知的,因此無(wú)需再去完成信息搜集工作,黑盒測(cè)試相對(duì)要求更高的技術(shù)能力,需要更長(zhǎng)的時(shí)間來(lái)完成,無(wú)論是何種類型的測(cè)試,根本目的都是為了讓網(wǎng)絡(luò)的管理者了解到薄弱環(huán)節(jié)所在,進(jìn)而采取相應(yīng)處理措施使系統(tǒng)和網(wǎng)絡(luò)更加安全。
對(duì)于滲透測(cè)試工作具有指導(dǎo)意義的PTES標(biāo)準(zhǔn)目前處于不斷完善和更新中,該標(biāo)準(zhǔn)認(rèn)為完成滲透測(cè)試需要開展以下工作:前期交互、情報(bào)收集、威脅、建模、漏洞分析、滲透攻擊、后滲透攻擊和生成報(bào)告[4],這七個(gè)階段的工作說(shuō)明了滲透測(cè)試的完整流程,但是實(shí)際上測(cè)試人員可以根據(jù)自身的經(jīng)驗(yàn)、網(wǎng)絡(luò)環(huán)境等主客觀條件,合理采取其中的關(guān)鍵步驟完成工作,本文基于PTES標(biāo)準(zhǔn),通過(guò)Kali Linux系統(tǒng)平臺(tái)說(shuō)明滲透測(cè)試的思路與步驟,為網(wǎng)絡(luò)管理者提供參考。
根據(jù)PTES標(biāo)準(zhǔn),滲透過(guò)程通常需要執(zhí)行信息搜集、掃描、漏洞發(fā)現(xiàn)和使用、維持訪問(wèn)、形成測(cè)試報(bào)告等諸多繁瑣的工作,每個(gè)階段需要使用不同的軟件工具,一個(gè)集中的滲透平臺(tái)對(duì)測(cè)試工作是否順利進(jìn)行至關(guān)重要,用戶可以選擇多種平臺(tái),例如NodeZero、Matriux、Anonymous-OS、BackTrack等,這些平臺(tái)基本上都基于Linux內(nèi)核進(jìn)行開發(fā),因此管理者如果熟知Linux的基本操作,對(duì)于測(cè)試工作也有極大幫助。
Offensive Security開發(fā)團(tuán)隊(duì)通過(guò)重寫B(tài)ackTrack實(shí)現(xiàn)了新的、功能強(qiáng)大的Kali Linux,滲透所需的諸多軟件在Kali Linux平臺(tái)里都進(jìn)行了預(yù)裝,例如用于數(shù)據(jù)包分析的Wireshark軟件、用于端口掃描的nmaP軟件、針對(duì)無(wú)線局域網(wǎng)的Aircrack-ng軟件等,此外,MetasPloit Framework也能有效支持Kali Linux,測(cè)試人員可以在網(wǎng)站httP://www.backtrack.org.cn/thread-19394-1-1.html上下載Kali Linux系統(tǒng),需要注意的是Kali Linux提供了32bit、64bit兩種不同的鏡像,測(cè)試者應(yīng)根據(jù)情況合理選擇,本文所用的是32bit版本的平臺(tái)。
開展安全滲透測(cè)試,不同的測(cè)試者基于不同測(cè)試方法論的指導(dǎo),所采取的步驟會(huì)存在差異,但是主要的步驟大致相同,一般會(huì)涵蓋信息搜集與目標(biāo)檢測(cè)、漏洞掃描與利用、維持后期訪問(wèn)等主要階段,測(cè)試者在熟練一些基本方法后,可以在每個(gè)階段開展更為豐富的工作,例如清除攻擊痕跡等。
2.1 信息搜集與目標(biāo)檢測(cè)
Kali Linux系統(tǒng)預(yù)置了大量的、包含滲透測(cè)試各個(gè)環(huán)節(jié)的有效工具,例如進(jìn)行信息收集、漏洞分析、漏洞利用、密碼攻擊、無(wú)線網(wǎng)絡(luò)攻擊、權(quán)限維持等工作所必須的軟件包,這些豐富的工具集,使得有些測(cè)試人員在學(xué)習(xí)和使用中比較偏重滲透軟件本身的使用方法,而忽略對(duì)滲透測(cè)試流程的整體把握,例如第一階段的工作,即對(duì)目標(biāo)系統(tǒng)的前期檢測(cè),有些測(cè)試者可能會(huì)忽略該環(huán)節(jié),實(shí)際上,以常見的Web網(wǎng)站為例,通常在一些公司的主頁(yè)面都會(huì)設(shè)置有該公司的聯(lián)系方式,例如電話、電子郵箱以及反應(yīng)最新動(dòng)態(tài)的新聞?lì)悆?nèi)容等,測(cè)試者通過(guò)查看分析這些信息,能在一定程度上幫助了解目標(biāo)系統(tǒng),有些網(wǎng)站維護(hù)人員采用的是直接以QQ號(hào)碼作為用戶名的電郵,測(cè)試者如果搜索該QQ的相關(guān)信息,也能進(jìn)一步了解關(guān)于該網(wǎng)站管理者的部分信息,當(dāng)然這里所提供的僅僅是一個(gè)測(cè)試思路,強(qiáng)調(diào)的是作為測(cè)試者不應(yīng)放棄關(guān)于目標(biāo)系統(tǒng)的任何蛛絲馬跡,Kali Linux平臺(tái)提供了豐富的目標(biāo)檢測(cè)工具,可以方便地尋找與目標(biāo)系統(tǒng)有關(guān)的信息,圖1顯示了Kali Linux系統(tǒng)提供的豐富的工具集。
圖1 Kali Linux提供的滲透測(cè)試平臺(tái)
圖2 顯示了利用信息收集工具對(duì)某咨詢公司網(wǎng)站的檢測(cè)信息,從這個(gè)檢測(cè)結(jié)果看,該網(wǎng)站的DNS服務(wù)器是由ns3.myhostadmin.net和ns4.myhostadmin.net提供,并不歸目標(biāo)站點(diǎn)所有,在一些上規(guī)模的機(jī)構(gòu)中,DNS往往在其內(nèi)部進(jìn)行部署,因此綜合來(lái)看,本例中的DNS服務(wù)器不適合作為滲透測(cè)試點(diǎn),需要從其他方面了解更多信息。
圖2 利用Whois工具檢測(cè)目標(biāo)信息
進(jìn)一步可對(duì)目標(biāo)的端口信息、開放的服務(wù)信息等進(jìn)行針對(duì)性的掃描,Kali Linux平臺(tái)里的nmaP工具與系統(tǒng)內(nèi)預(yù)置的MetasPloit是一對(duì)黃金搭檔:nmaP可以確定目標(biāo)系統(tǒng)上運(yùn)行的一些服務(wù)信息,而且可將檢測(cè)的結(jié)果導(dǎo)入到MetasPloit數(shù)據(jù)庫(kù)供后期的溢出測(cè)試參考,如圖3所示,從結(jié)果中可以看到上述咨詢公司的網(wǎng)站上還運(yùn)行了FTP服務(wù),且允許匿名登錄。
2.2 漏洞掃描與利用
因代碼編寫考慮不周或系統(tǒng)配置不當(dāng)而導(dǎo)致計(jì)算機(jī)可能存在可以被攻擊者有效利用的弱點(diǎn),即漏洞的存在不可避免,一般可分為本地主機(jī)漏洞和遠(yuǎn)程主機(jī)漏洞兩大類,Kali Linux中預(yù)置了一些漏洞分析工具,包括Cisco工具集、Fuzzing工具集、OPenVAS、開源評(píng)估軟件以及數(shù)據(jù)庫(kù)評(píng)估軟件,此外在漏洞分析模塊中也集成了一些掃描工具,例如上文提到的nmaP工具,在漏洞分析方面,Nessus被公認(rèn)為功能強(qiáng)大,而且其使用較為簡(jiǎn)單,與其他一些軟件不同,Kali Linux沒(méi)有預(yù)置Nessus,使用時(shí)需要先下載并安裝,測(cè)試者可安裝和使用Linux平臺(tái)所支持的Nessus軟件,該軟件主要通過(guò)web頁(yè)面進(jìn)行管理,并需要測(cè)試者制定合理的掃描策略。
圖3 nmaP探測(cè)目標(biāo)系統(tǒng)開放的服務(wù)信息
通過(guò)對(duì)目標(biāo)系統(tǒng)的信息檢測(cè)和漏洞掃描,如果能發(fā)現(xiàn)可被利用的漏洞,則可以進(jìn)一步通過(guò)漏洞利用工具,尋求獲取更高的控制權(quán),Kali Linux預(yù)置了功能強(qiáng)大的MetasPloit漏洞利用框架,該框架的使用靈活多樣,是漏洞利用的一款利器,進(jìn)行滲透測(cè)試時(shí)可通過(guò)MSF終端或者M(jìn)SF命令行模式打開,基本思路是:通過(guò)MetasPloit漏洞利用框架下的search命令,快速找到可利用的攻擊模塊,以Microsoft SharePoint畸形SOAP請(qǐng)求遠(yuǎn)程代碼執(zhí)行漏洞為例,圖4顯示了搜索到的關(guān)于該漏洞的信息。
圖4 搜索攻擊模塊說(shuō)明信息
如需要利用該漏洞進(jìn)行溢出,則測(cè)試者需要在MSF控制臺(tái)里繼續(xù)使用use exPloit/windows/misc/ms_10_ 104_sharePoint,并通過(guò)“set”命令選擇有效的攻擊載荷,最終實(shí)現(xiàn)exPloit,攻擊載荷是指滲透成功后在目標(biāo)進(jìn)程中植入的一段代碼[5],因此在這個(gè)環(huán)節(jié)中,測(cè)試者選擇合理的攻擊載荷是滲透成功后的重要補(bǔ)充。
2.3 維持后期訪問(wèn)
圖5顯示了Kali Linux提供的一些權(quán)限維持程序,可供測(cè)試者在獲取系統(tǒng)控制權(quán)后,為了日后的長(zhǎng)期訪問(wèn)和使用,例如Tunnel工具集中包含的ncat,就是“面向21世紀(jì)的netcat”,Ncat的強(qiáng)大之處在于它可以針對(duì)TCP連接或UDP進(jìn)行讀、寫操作,而且是一個(gè)比較可靠的后端工具,可以被測(cè)試人員通過(guò)其他程序或腳本進(jìn)行驅(qū)動(dòng),同時(shí),ncat具備豐富的調(diào)試和開發(fā)功能。
圖5 維護(hù)訪問(wèn)的工具集
滲透測(cè)試通??紤]的是以入侵者的思考角度和操作方法,從單點(diǎn)上找到利用途徑[6],驗(yàn)證網(wǎng)絡(luò)或計(jì)算機(jī)系統(tǒng)存在安全問(wèn)題,這樣對(duì)提高客戶的安全認(rèn)識(shí)和意識(shí)很有幫助。
在經(jīng)過(guò)前述主要滲透測(cè)試的操作后,一些測(cè)試者或網(wǎng)絡(luò)的管理者會(huì)認(rèn)為滲透測(cè)試的整個(gè)流程就結(jié)束了,實(shí)際上,開展?jié)B透測(cè)試工作并不是去破壞或者攻陷某個(gè)網(wǎng)站或系統(tǒng),而是綜合利用黑盒或白盒測(cè)試的各種手段,發(fā)現(xiàn)系統(tǒng)漏洞,形成較為完整的滲透測(cè)試報(bào)告。
測(cè)試報(bào)告一般應(yīng)列出測(cè)試過(guò)程的主要步驟和獲取到的真實(shí)數(shù)據(jù),以便為客戶提供有力的證明材料,在撰寫時(shí)通常可包含概述,主要測(cè)試過(guò)程(含工具和方法)以及原始數(shù)據(jù)。
概述部分通常是對(duì)測(cè)試工作的整體描繪,主要是為了讓客戶知道測(cè)試工作的意義所在,其中涉及的技術(shù)問(wèn)題不宜過(guò)多,對(duì)技術(shù)方面的解釋可以在報(bào)告中提供有效的網(wǎng)頁(yè)鏈接供客戶查看時(shí)參考,主要的測(cè)試過(guò)程應(yīng)在報(bào)告中詳細(xì)列出,測(cè)試工作的整個(gè)環(huán)節(jié)、使用到的工具、采取的主要做法,需要盡可能詳細(xì)的列出,為了增加可讀性,可以多使用圖表等較為直觀的界面,原始數(shù)據(jù)為報(bào)告的真實(shí)性提供良好的證明,更重要的是能對(duì)發(fā)現(xiàn)的漏洞起到補(bǔ)充說(shuō)明的作用。
本文列出了利用Kali Linux系統(tǒng)開展?jié)B透測(cè)試的主要思路和步驟,在每個(gè)步驟中,Kali Linux都提供了豐富的工具可以使用,這些工具因用途大小、使用難易等原因,在使用頻率上會(huì)存在差別,按照滲透測(cè)試方法論的指導(dǎo),初學(xué)者去學(xué)習(xí)這些測(cè)試工具本身,無(wú)疑是有益的,但是滲透測(cè)試是一個(gè)靈活多變的過(guò)程,更需要對(duì)整體進(jìn)行把握,只有在實(shí)踐中不斷練習(xí),技巧才會(huì)得到提高,從而為網(wǎng)絡(luò)的安全提供更好的保障。
[1] 諸葛建偉.PTES滲透測(cè)試執(zhí)行標(biāo)準(zhǔn)mindmaP中文版[EB/OL].[2011-7-28].httP://netsec.ccert.edu.cn/hacking/2011/07/28/Ptes/.
[2] 謝冬青,歐家權(quán),黃海.基于BackTrack的滲透測(cè)試方法[J].廣州大學(xué)學(xué)報(bào)(自然科學(xué)版),2013(12):63.
[3] 常艷,王冠.網(wǎng)絡(luò)安全滲透測(cè)試研究[J].等級(jí)保護(hù),2012(11):3.
[4] DavidKennedy,Jim O'Gorman,.MetasPloit滲透測(cè)試指南[M].諸葛建偉.譯.北京:電子工業(yè)出版社,2012:2-4.
[5] 姜洋.滲透測(cè)試關(guān)鍵技術(shù)研究.[D].西安:西安電子科技大學(xué),2014.
[6] 安全咖啡屋.解析安全測(cè)試與滲透測(cè)試的區(qū)別[J].計(jì)算機(jī)與網(wǎng)絡(luò),2012(17):38.
責(zé)任編輯:吳旭云
Carrying out Penetration Testing by Kali Linux
LEIJingPeng,SHA Youchuang
(Anhui Vocational College of Defense Technology,Liuan 237011,China)
With the raPid develoPment of network technology,esPecially the general uPgrading of various Web technologies in recent years,information network is facing increasingly diverse threats.For network managers,Penetration testing has become an imPortant method to guarantee the network security.Kali Linux system is designed to be a sPecial Platform for digital evidence collection and Penetration testing.This PaPer,drawing references from PTESStandard which is gradually being Perfected,combined with the feature and function of Kali Linux system itself,analyzes the ideas and stePs of the Penetration testing.
network security;Penetration testing;method;Kali Linux
TP316.8
A
1009-3907(2015)06-0049-04
2015-04-02
安徽省高校省級(jí)優(yōu)秀青年人才基金重點(diǎn)項(xiàng)目(項(xiàng)目編號(hào)2013SQRL106ZD)
雷驚鵬(1982-),男,安徽潛山人,碩士,講師,主要從事計(jì)算機(jī)網(wǎng)絡(luò)方面的研究。