第1章-滲透測試基礎(chǔ)_第1頁
第1章-滲透測試基礎(chǔ)_第2頁
第1章-滲透測試基礎(chǔ)_第3頁
第1章-滲透測試基礎(chǔ)_第4頁
第1章-滲透測試基礎(chǔ)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

滲透測試和漏洞基礎(chǔ)知識目錄/CONTENTS滲透測試漏洞簡介:滲透測試并沒有一個標(biāo)準(zhǔn)的定義,英國國家網(wǎng)絡(luò)安全中心(NCSC,NationalCyberSecurityCentre)對滲透測試的定義如下:滲透測試是一種通過使用與攻擊者相同的工具和技術(shù)來嘗試破壞IT(InformationTechnology,信息技術(shù))系統(tǒng)的部分或全部安全性,以獲得該系統(tǒng)的安全性保證的方法。滲透測試定義目的:滲透測試旨在識別計算機系統(tǒng)的弱點(也稱為漏洞),即未授權(quán)方訪問系統(tǒng)功能和數(shù)據(jù)的潛在威脅。滲透測試可以幫助確定防御是否充足,并確定哪些已有防御措施容易被破壞。滲透測試定義起源:滲透測試(PenetrationTest)是保證計算機系統(tǒng)安全性的關(guān)鍵環(huán)節(jié)。我們從了解滲透測試的起源開始,逐步探索這個信息安全專業(yè)詞匯背后的意義。滲透測試的起源滲透測試并沒有嚴(yán)格的分類方法,根據(jù)滲透實踐方式,普遍認(rèn)同的一種分類方法包括:黑盒測試、白盒測試和灰盒測試。滲透測試分類黑盒測試:黑盒測試只能通過外部網(wǎng)絡(luò)遠(yuǎn)程對目標(biāo)網(wǎng)絡(luò)進行滲透,信息通常通過DNS、網(wǎng)頁以及各種公開渠道來獲取。滲透測試分類白盒測試:白盒測試中滲透測試團隊能夠提前獲得網(wǎng)絡(luò)拓?fù)洹?nèi)部數(shù)據(jù)、源代碼等內(nèi)部信息,也可以和被測方相關(guān)人員進行溝通。滲透測試分類灰盒測試:灰盒測試中滲透測試團隊從外部對目標(biāo)網(wǎng)絡(luò)進行滲透的過程中,需要結(jié)合其所擁有的網(wǎng)絡(luò)拓?fù)涞葍?nèi)部信息,選擇能夠評估目標(biāo)系統(tǒng)安全性的最佳測試方法。滲透測試分類安全業(yè)界存在多種執(zhí)行滲透測試的標(biāo)準(zhǔn)框架和方法。其中,PTES(PenetrationTestingExecutionStandard)滲透測試執(zhí)行標(biāo)準(zhǔn)是業(yè)界普遍認(rèn)同的一套標(biāo)準(zhǔn)化滲透測試方法,包括以下7個階段。滲透測試框架PTES1.前期交互階段:前期交互階段中滲透測試團隊通過與客戶進行溝通,來確定滲透測試的范圍、目標(biāo)以及其他合同的細(xì)節(jié)等。定義測試范圍定義測試范圍是完成一次成功的滲透測試的基礎(chǔ),這一過程中需明確滲透測試的具體邊界,該過程的疏忽可能造成極為嚴(yán)重的后果,如范圍蔓延、客戶不滿意甚至法律糾紛。規(guī)劃測試目標(biāo)規(guī)劃測試目標(biāo)需要測試團隊分析客戶的業(yè)務(wù)結(jié)構(gòu)和需求,規(guī)劃測試任務(wù)的主要和次要目標(biāo)明確時間度量明確時間度量時通常會以預(yù)估的測試周期為基準(zhǔn),增加20%的額外時間,為測試中的突發(fā)狀況提供緩沖。滲透測試框架PTES2.情報搜集階段:情報搜集階段中滲透測試團隊通過各種信息來源與信息搜集方法,嘗試獲取更多與目標(biāo)組織有關(guān)的信息,包括網(wǎng)絡(luò)拓?fù)?、系統(tǒng)配置以及部署的安全防御措施等。情報搜集方法情報搜集階段可以使用的方法包括公開信息查詢、GoogleHacking、社會工程學(xué)、網(wǎng)絡(luò)踩點、掃描探測、被動監(jiān)聽、服務(wù)查點等。情報搜集作用對目標(biāo)系統(tǒng)的情報搜集能力是滲透團隊一項非常重要的技能,在此階段獲取的信息越多,后續(xù)階段可使用的攻擊手段也就越多。因此情報搜集是否充分在很大程度上決定了滲透測試的成敗,遺漏某些關(guān)鍵信息可能導(dǎo)致測試人員在后續(xù)工作中一無所獲。

滲透測試框架PTES3.威脅建模階段:威脅建模階段中滲透測試團隊使用在情報搜集階段獲取到的信息來制定攻擊計劃。該階段需要對目前的情報進行詳細(xì)的分析,識別出目標(biāo)系統(tǒng)中可能存在的安全缺陷,從而確定最為可行的滲透攻擊通道。威脅建模階段通常從業(yè)務(wù)資產(chǎn)、業(yè)務(wù)流程、人員社區(qū)等角度,識別其可能存在的威脅并進行建模。在威脅模型建立之后,滲透攻擊的途徑也就基本確定。在后續(xù)的攻擊驗證過程中,依然會伴隨著信息的收集和威脅模型的調(diào)整。滲透測試框架PTES4.漏洞分析階段:漏洞分析階段中滲透測試團隊通過各種手段發(fā)現(xiàn)系統(tǒng)漏洞,并分析如何通過漏洞獲取目標(biāo)系統(tǒng)的訪問控制權(quán)。該階段需要分析前期的漏洞情報,并對一些關(guān)鍵的系統(tǒng)服務(wù)進行安全漏洞探測,查找已知和未知的安全漏洞。滲透人員可以利用公開的滲透代碼資源,或開發(fā)攻擊代碼,在實驗環(huán)境中進行驗證。漏洞分析時滲透測試團隊首先應(yīng)該明確漏洞分析的尺度。一般來說,滲透測試要求盡可能多地發(fā)現(xiàn)目標(biāo)系統(tǒng)中存在的漏洞,在授權(quán)范圍內(nèi)保證發(fā)現(xiàn)漏洞的廣度。其中大部分漏洞通常只需要證明其存在即可,不需要再進行深入的漏洞利用。滲透測試框架PTES5.滲透攻擊階段:滲透攻擊階段中滲透測試團隊利用之前發(fā)現(xiàn)的安全漏洞對目標(biāo)系統(tǒng)實施正式的入侵。滲透攻擊是滲透測試中的關(guān)鍵環(huán)節(jié),該階段需要通過繞過目標(biāo)系統(tǒng)的安全限制來獲取目標(biāo)系統(tǒng)的訪問控制權(quán)限,同時需要以系統(tǒng)中最有價值的信息作為目標(biāo)。真實場景中的滲透攻擊在真實場景中,系統(tǒng)往往會采用多種安全防御措施來提高安全性,測試團隊則需要根據(jù)目標(biāo)系統(tǒng)的特性來定制滲透攻擊方法,對系統(tǒng)的安全防御措施進行規(guī)避或破壞。滲透測試框架PTES6.后滲透攻擊階段:后滲透攻擊階段,滲透測試團隊在進行滲透攻擊取得目標(biāo)系統(tǒng)的控制權(quán)之后,實施進一步的攻擊行為。該階段需要根據(jù)目標(biāo)組織的業(yè)務(wù)結(jié)構(gòu)和資產(chǎn)管理形式等,來確定進一步攻擊的目標(biāo),以對目標(biāo)組織的重要業(yè)務(wù)進行更深入的破壞。后門植入后門植入是為了維持對目標(biāo)系統(tǒng)的訪問權(quán)限,以進行長久地控制。權(quán)限提升權(quán)限提升是指如果當(dāng)前權(quán)限不是系統(tǒng)最高權(quán)限,還應(yīng)該繼續(xù)進行權(quán)限的提升,以獲取更多重要系統(tǒng)資源的訪問控制權(quán)。內(nèi)網(wǎng)拓展內(nèi)網(wǎng)拓展是利用已獲得控制權(quán)的服務(wù)器對其所在的內(nèi)網(wǎng)環(huán)境進行滲透,通常內(nèi)網(wǎng)中的安全防護相對較低,能夠獲取更多重要信息。滲透測試框架PTES7.報告階段報告階段中滲透測試團隊匯總之前所有測試階段中的信息,提交給客戶并取得認(rèn)可。滲透測試報告通常包括執(zhí)行摘要和技術(shù)報告兩個部分,以面向不同受眾傳達(dá)測試的目標(biāo)、方法和結(jié)果。受眾執(zhí)行摘要的受眾是安全監(jiān)管人員和可能受到已識別威脅影響的組織成員,主要包括測試背景、已發(fā)現(xiàn)問題概述、總體風(fēng)險評估以及對解決方案的建議等。報告內(nèi)容技術(shù)報告?zhèn)鬟_(dá)測試的技術(shù)細(xì)節(jié)以及前期商定的關(guān)鍵指標(biāo)的各個方面,這一部分需要詳細(xì)描述測試的范圍、信息、攻擊路徑、影響和修復(fù)建議,包括情報搜集、漏洞分析、滲透攻擊和后滲透攻擊等各個階段的過程和結(jié)果,以及對已識別風(fēng)險的更細(xì)致評估。滲透測試報告應(yīng)以積極的指導(dǎo)結(jié)尾,以支持客戶未來安全計劃的進展。滲透測試框架PTES目錄/CONTENTS滲透測試漏洞漏洞是一種可存在于硬件、軟件、協(xié)議的具體實現(xiàn)或者系統(tǒng)安全策略上的缺陷,攻擊者能夠利用漏洞達(dá)到在未授權(quán)的情況下訪問或破壞系統(tǒng)的惡意目的。維基百科對漏洞的定義如下:漏洞,即脆弱性(Vulnerability),是指計算機系統(tǒng)安全方面的缺陷,使得系統(tǒng)或其應(yīng)用數(shù)據(jù)的保密性、完整性、可用性、訪問控制等面臨威脅。漏洞定義漏洞來源從安全攻防角度而言,比較典型的漏洞生命周期一般包括7個部分:漏洞生命周期1.安全漏洞研究與挖掘:是一種通過滲透測試技術(shù)預(yù)先發(fā)現(xiàn)軟件潛在安全漏洞的過程,主要分為兩大部分:漏洞代碼的粗定位粗定位側(cè)重于全面,旨在發(fā)現(xiàn)被分析程序中所有可能存在安全漏洞的代碼位置;粗定位可通過補丁對比等技術(shù)實現(xiàn),對比對象包括二進制文本、匯編指令以及程序控制流圖(Control-FlowGraph,CFG)等。漏洞生命周期漏洞代碼的精確定位精確定位側(cè)重于精準(zhǔn),旨在通過各種分析方法判斷粗定位的代碼位置中是否存在真正的安全漏洞。精確定位可通過Fuzzing測試等技術(shù)實,F(xiàn)uzzing測試是一種軟件測試技術(shù),其核心思想是自動或半自動生成隨機數(shù)據(jù)(即測試用例)并輸入到一個程序中,然后監(jiān)視程序的異常,從而發(fā)現(xiàn)安全漏洞。漏洞生命周期2.滲透代碼開發(fā)與測試:滲透代碼是滲透測試人員為驗證第一步中找到的安全漏洞是否確實存在并可被利用而開發(fā)的概念驗證性代碼(ProofofConcept,POC)。編寫POC代碼的三項準(zhǔn)備工作如下:熟悉漏洞詳細(xì)情況熟悉漏洞詳細(xì)情況包括了解漏洞影響的程序或系統(tǒng)版本,復(fù)原漏洞的產(chǎn)生過程,深刻理解漏洞,能夠為POC的編寫奠定良好基礎(chǔ)。漏洞生命周期復(fù)現(xiàn)漏洞環(huán)境復(fù)現(xiàn)漏洞環(huán)境可通過Docker搭建滲透代碼測試靶機,Docker是一種用于開發(fā)、部署、運行應(yīng)用的虛擬化平臺,它讓搭建過程靈活方便、搭建周期短,且避免對目標(biāo)系統(tǒng)造成破壞。選擇POC編寫的語言任何語言都只是一種實現(xiàn)方式,POC的目的是為證明漏洞的存在,任何編程語言都是可行的。目前,Python語言因其簡單的入門過程、豐富的第三方庫等特點在業(yè)界應(yīng)用較多。漏洞生命周期POC經(jīng)常與EXP一起出現(xiàn)在各類安全報告中。在此對二者的區(qū)別加以說明:漏洞生命周期3.安全漏洞和滲透代碼在封閉團隊中流傳:滲透測試人員在挖掘到漏洞并編寫出滲透代碼后,通知相關(guān)系統(tǒng)或應(yīng)用的廠商及時進行漏洞修補,此后再公開漏洞詳情,漏洞的危害性相對較小。惡意攻擊者在挖掘到漏洞并編寫出滲透代碼后,不會通知廠商修補而是在有限團隊內(nèi)進行秘密共享,此時,廠商及系統(tǒng)或應(yīng)用的使用者并不知曉漏洞的存在,漏洞的危害性極大,這種漏洞可稱之為“0day”漏洞。漏洞生命周期4.安全漏洞和滲透代碼開始擴散:出于利益等種種原因,在小規(guī)模有限團隊內(nèi)進行秘密共享的漏洞以及滲透代碼最終都會被披露出來,導(dǎo)致漏洞POC或EXP代碼在互聯(lián)網(wǎng)公布,此后,攻擊者們會迅速掌握并應(yīng)用這些漏洞攻擊還未修復(fù)的系統(tǒng)或應(yīng)用。漏洞生命周期5.惡意程序出現(xiàn)并開始傳播:當(dāng)攻擊者們對公開的漏洞更加熟悉后,他們會進一步地開發(fā)更易于使用且更能夠自動化傳播的惡意程序或攻擊工具,并通過互聯(lián)網(wǎng)等途徑進行傳播。一般廠商在這一階段才認(rèn)識到系統(tǒng)或應(yīng)用存在的漏洞,并開發(fā)相應(yīng)補丁進行測試,向用戶發(fā)布,修復(fù)漏洞。漏洞生命周期6.滲透代碼/惡意程序大規(guī)模傳播并危害互聯(lián)網(wǎng):安全漏洞的危害峰值發(fā)生在廠商發(fā)布了官方補丁以及相應(yīng)的安全告警后,此時,攻擊者能夠得到詳細(xì)、準(zhǔn)確的安全漏洞信息以及對應(yīng)的滲透代碼和惡意利用程序,這進一步降低了攻擊的難度,加之用戶安裝補丁的不及時,導(dǎo)致安全漏洞對互聯(lián)網(wǎng)的危害達(dá)到頂峰。漏洞生命周期7.滲透攻擊代碼/攻擊工具/惡意程序逐漸消亡:隨著時間推移,用戶普遍安裝了廠商發(fā)布的補丁,安全公司對漏洞的檢測及去除手段也已完善,前述階段所公開的漏洞滲透代碼、惡意利用程序或攻擊工具的利用價值大大降低,攻擊者不再利用其達(dá)到惡意目的,滲透測試代碼、惡意利用程序或攻擊工具將逐漸消亡。漏洞生命周期背景:隨著應(yīng)用代碼編寫質(zhì)量降低、攻擊者挖掘漏洞的能力不斷提升,安全漏洞數(shù)量成逐年上升趨勢。如此龐大的數(shù)量對漏洞分析、漏洞管理與控制的提出了很大的挑戰(zhàn)。意義:使用戶更客觀、更完整、更準(zhǔn)確地認(rèn)識以及跟蹤安全漏洞,在漏洞被發(fā)現(xiàn)后,提供給用戶更多的信息以便于更快的實現(xiàn)漏洞定位,決定下一步采取的措施,漏洞危險等級劃分對及時降低漏洞風(fēng)險、保護系統(tǒng)或應(yīng)用的安全有著重要意義。漏洞危險等級劃分漏洞危險等級劃分常用方法:定性評級定量評分定量評分+定性評級漏洞危險等級劃分定性評級:早期,各大廠商及安全公司(例如IBM、微軟等)對產(chǎn)品漏洞進行的是定性評級,確定漏洞的威脅,劃分漏洞等級。由于各個廠商使用不同的漏洞定性評級方案和方法,導(dǎo)致相同的漏洞在不同廠商的定性評估后,漏洞危害級別不同,這增加了漏洞跟蹤及漏洞降低的難度。漏洞危險等級劃分定量評分:美國于2004年提出了通用漏洞評分系統(tǒng)CVSS,提供定量的漏洞等級評估方法,統(tǒng)一各廠商及安全公司的評估系統(tǒng),NVD將其作為官方的漏洞危險等級評估方法。CVSS通過量化公式計算得出評分結(jié)果,可操作性較強、評分過程更客觀。目前,MITRE公司已經(jīng)推出了CVSS3.0版本。漏洞危險等級劃分定性評級+定量評分:僅依靠定量評分對漏洞危險等級劃分也存在無法讓人們直觀認(rèn)識漏洞危險程度的缺點。NVD在CVSS評分結(jié)果的基礎(chǔ)上自定義了與定性級別的映射規(guī)則,將CVSS定量評分分值和高危、中危、低危三個定性級別對應(yīng)了起來。漏洞危險等級劃分我國漏洞危險等級劃分標(biāo)準(zhǔn)演進過程漏洞危險等級劃分漏洞等級劃分分級指標(biāo):漏洞分級指標(biāo)說明了漏洞特征的屬性和賦值,《信息安全技術(shù)網(wǎng)絡(luò)安全漏洞分類分級指南》將漏洞等級劃分指標(biāo)分為三大類,分別為被利用性、影響程度和環(huán)境因素。漏洞危險等級劃分漏洞等級劃分分級指標(biāo):被利用性漏洞的被利用性可從訪問路徑、觸發(fā)要求、權(quán)限要求和交互條件四個角度進行評估。漏洞危險等級劃分漏洞等級劃分分級指標(biāo):影響程度漏洞的影響程度說明了漏洞觸發(fā)后對系統(tǒng)、應(yīng)用或組件造成的損害程度。漏洞的影響程度評估對象為系統(tǒng)、應(yīng)用或組件所承載的信息的保密性、完整性和可用性。漏洞危險等級劃分漏洞等級劃分分級指標(biāo):環(huán)境因素漏洞的環(huán)境因素從被利用成本、恢復(fù)難度和影響范圍三個方面進行評估。漏洞危險等級劃分漏洞等級劃分分級方法:漏洞等級劃分分級方法說明了漏洞技術(shù)分級和漏洞綜合分級的實現(xiàn)步驟和實現(xiàn)方法,包含了漏洞指標(biāo)的分級方法、漏洞技術(shù)分級方法和漏洞綜合分級方法。漏洞指標(biāo)分級方法漏洞技術(shù)分級方法漏洞綜合分級方法漏洞危險等級劃分漏洞等級劃分分級方法:漏洞指標(biāo)分級方法漏洞指標(biāo)的分級方法包含了9級至1級共九個等級,從被利用性、影響程度和環(huán)境因素指標(biāo)角度評估漏洞危害程度。漏洞危險等級劃分漏洞等級劃分分級方法:漏洞技術(shù)分級方法技術(shù)分級方法包含了超高、高危、中危和低危四個等級,說明了某個特定產(chǎn)品或特定系統(tǒng)的漏洞危害程度。漏洞危險等級劃分漏洞等級劃分分級方法:漏洞綜合分級方法綜合分級方法包含了超高、高危、中危和低危四個等級,說明了特定時期特定環(huán)境下漏洞危害程度。漏洞危險等級劃分漏洞分類指按照漏洞產(chǎn)生或者漏洞觸發(fā)的技術(shù)原因?qū)β┒催M行的劃分,和漏洞危險等級劃分類似,漏洞分類也是描述漏洞本質(zhì)和情況的一個重要方面。CNNVD將漏洞劃分為26種類型GB/T30279-2020增加了九種漏洞類型漏洞分類CNNVD:配置錯誤、代碼問題、資源管理錯誤、數(shù)字錯誤、信息泄露、競爭條件、輸入驗證、緩沖區(qū)錯誤、格式化字符串、跨站腳本、路徑遍歷、后置鏈接、SQL注入、注入、代碼注入、命令注入、操作系統(tǒng)命令注入、安全特征問題、授權(quán)問題、信任管理、加密問題、未充分驗證數(shù)據(jù)可靠性、跨站請求偽造、權(quán)限許可和訪問控制、訪問控制錯誤和資料不足。漏洞分類GB/T30279-2020增加了九種漏洞類型:處理邏輯錯誤、數(shù)據(jù)轉(zhuǎn)換問題、未聲明功能、環(huán)境問題、日志信息泄露、調(diào)試信息泄露、側(cè)信道信息泄露、故障注入、其他漏洞分類漏洞披露是指當(dāng)漏洞被安全研究人員、安全公司或黑客等挖掘出來后,基于不同的動機將漏洞公布。他們可選擇的披露方式包括不披露、完全披露、負(fù)責(zé)任披露和協(xié)同披露四種。不披露:指漏洞的挖掘者在發(fā)現(xiàn)漏洞后,采取保密措施,不對廠商或者公眾進行公布,可能通過交易漏洞謀取利益。負(fù)責(zé)任披露:又叫有限披露,指漏洞挖掘者發(fā)現(xiàn)漏洞后以幫助廠商解決安全漏洞問題為出發(fā)點,將漏洞只及時報告給廠商。廠商制定完備解決方案后,公布漏洞同時將補丁發(fā)布給用戶。協(xié)同披露:代替負(fù)責(zé)任披露出現(xiàn)的一種漏洞披露方法,該方式將用戶的利益放在首要位置,倡導(dǎo)漏洞的挖掘者、廠商以及協(xié)調(diào)者等應(yīng)該共享漏洞相關(guān)信息、協(xié)同合作,以便及時有效地修復(fù)漏洞。完全披露:指漏洞的挖掘者在發(fā)現(xiàn)漏洞后,不采取任何保密措施、無差別地將漏洞公布給任何人,造成“及時修復(fù)”與“惡意利用”的博弈局面。漏洞披露方式漏洞資源庫主要對主流應(yīng)用軟件、操作系統(tǒng)以及網(wǎng)絡(luò)設(shè)備等軟硬件系統(tǒng)的信息安全漏洞開展采集、收錄、分析驗證、預(yù)警通報和修復(fù)消控工作,為關(guān)鍵基礎(chǔ)設(shè)施等安全保障工作提供數(shù)據(jù)支持,能夠提升全行業(yè)的信息安全分析預(yù)警能力,常見的漏洞資源庫包括國家信息安全漏洞庫、國家信息安全漏洞共享平臺以及國家漏洞數(shù)據(jù)庫等。漏洞資源庫中國國家信息安全漏洞庫(ChinaNationalVulnerabilityDataba

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論