
- Python滲透測試教程
- Python滲透測試 - 首頁
- 介紹
- 評估方法
- 網路通訊入門
- 套接字及其方法
- Python網路掃描器
- 網路資料包嗅探
- ARP欺騙
- 無線網路滲透測試
- 應用層
- 客戶端驗證
- DoS & DDoS攻擊
- SQL注入攻擊
- XSS跨站指令碼攻擊
- 有用資源
- 快速指南
- 有用資源
- 討論
評估方法
近年來,政府和私營組織都將網路安全作為一項戰略重點。網路犯罪分子經常利用不同的攻擊媒介,將政府和私營組織作為軟目標。不幸的是,由於缺乏有效的政策、標準以及資訊系統的複雜性,網路犯罪分子擁有大量的目標,並且越來越成功地利用系統並竊取資訊。
滲透測試是一種可以用來減輕網路攻擊風險的策略。滲透測試的成功取決於高效且一致的評估方法。
我們有多種與滲透測試相關的評估方法。使用方法的好處是它允許評估人員一致地評估環境。以下是一些重要的評估方法:
開放原始碼安全測試方法手冊 (OSSTMM)
開放式Web應用程式安全專案 (OWASP)
美國國家標準與技術研究院 (NIST)
滲透測試執行標準 (PTES)
什麼是PTES?
PTES,滲透測試執行標準,顧名思義,是一種滲透測試評估方法。它涵蓋了滲透測試相關的一切。在PTES中,我們有很多關於評估人員可能遇到的不同環境的技術指導。對於新的評估人員來說,這是使用PTES的最大優勢,因為技術指導包含了使用行業標準工具來解決和評估環境的建議。
在下一節中,我們將學習PTES的不同階段。
PTES的七個階段
滲透測試執行標準 (PTES) 包括七個階段。這些階段涵蓋了滲透測試相關的一切——從最初的溝通和滲透測試背後的原因,到情報收集和威脅建模階段(測試人員在幕後工作)。這有助於更好地理解被測試組織,以及漏洞研究、利用和利用後階段。在這裡,測試人員的技術安全專業知識與參與的業務理解緊密結合,最終形成報告,以客戶理解的方式捕捉整個過程,併為其提供最大的價值。
我們將在後續章節中學習PTES的七個階段:
專案啟動前互動階段
這是PTES的第一個也是非常重要的階段。本階段的主要目標是解釋可用的工具和技術,這些工具和技術有助於成功完成滲透測試的啟動前步驟。在實施本階段時出現任何錯誤都可能對評估的其餘部分產生重大影響。本階段包括以下內容:
評估請求
本階段開始的第一部分是組織建立評估請求。向評估人員提供一份投標邀請書 (RFP) 文件,其中包含有關環境、所需評估型別以及組織期望的詳細資訊。
投標
現在,根據RFP文件,多個評估公司或個人有限責任公司 (LLC) 將進行投標,其投標與請求的工作、價格和其他一些特定引數相匹配的一方將勝出。
簽署委託書 (EL)
現在,組織和勝出投標的一方將簽署一份委託書 (EL) 合同。該函將包含工作說明 (SOW) 和最終產品。
範圍界定會議
簽署EL後,可以開始對範圍進行微調。此類會議幫助組織和相關方微調特定範圍。範圍界定會議的主要目標是討論將測試什麼。
處理範圍蔓延
範圍蔓延是指客戶可能會試圖增加或擴充套件承諾的工作水平,以獲得可能超出其承諾支付的範圍。因此,由於時間和資源的限制,應對原始範圍的修改進行仔細考慮。還必須以某種書面形式完成,例如電子郵件、簽署的文件或授權函等。
問卷調查
在與客戶進行初步溝通期間,客戶將需要回答幾個問題,以便正確估算專案範圍。這些問題旨在更好地理解客戶希望從滲透測試中獲得什麼;客戶為什麼要對他們的環境進行滲透測試;以及他們是否希望在滲透測試期間執行某些型別的測試。
測試執行方式
啟動前階段的最後一部分是確定執行測試的程式。有多種測試策略可供選擇,例如白盒測試、黑盒測試、灰盒測試和雙盲測試。
以下是可能請求的一些評估示例:
- 網路滲透測試
- Web應用程式滲透測試
- 無線網路滲透測試
- 物理滲透測試
- 社會工程
- 網路釣魚
- 網際網路協議語音 (VOIP)
- 內部網路
- 外部網路
情報收集階段
情報收集是PTES的第二階段,在這個階段,我們對目標進行初步調查,收集儘可能多的資訊,以便在漏洞評估和利用階段滲透目標時使用。它幫助組織確定評估團隊的外部暴露。我們可以將資訊收集分為以下三個級別:
一級資訊收集
自動化工具幾乎可以完全獲取此級別資訊。一級資訊收集工作應適合滿足合規性要求。
二級資訊收集
此級別資訊可以透過使用一級自動化工具以及一些手動分析來獲得。此級別需要對業務有很好的瞭解,包括諸如物理位置、業務關係、組織結構圖等資訊。二級資訊收集工作應適合滿足合規性要求以及其他需求,例如長期安全策略、收購小型製造商等。
三級資訊收集
此級別資訊收集用於最先進的滲透測試。三級資訊收集需要來自一級和二級的所有資訊以及大量手動分析。
威脅建模階段
這是PTES的第三階段。正確執行滲透測試需要威脅建模方法。威脅建模可以用作滲透測試的一部分,或者它可能基於許多因素而面臨。如果我們將威脅建模用作滲透測試的一部分,那麼第二階段收集的資訊將回滾到第一階段。
以下步驟構成威脅建模階段:
收集必要的和相關的資訊。
需要識別和分類主要和次要資產。
需要識別和分類威脅和威脅社群。
需要將威脅社群對映到主要和次要資產。
威脅社群和參與者
下表列出了相關的威脅社群和參與者及其在組織中的位置:
位置 | 內部 | 外部 |
---|---|---|
威脅參與者/社群 | 員工 | 業務合作伙伴 |
管理人員 | 承包商 | |
管理員(網路、系統) | 競爭對手 | |
工程師 | 供應商 | |
技術人員 | 民族國家 | |
普通使用者社群 | 駭客 |
在進行威脅建模評估時,我們需要記住威脅的位置可能是內部的。只需要一封網路釣魚電子郵件或一位惱怒的員工,他們就會透過廣播憑據來危及組織的安全。
漏洞分析階段
這是PTES的第四階段,評估人員將在此階段識別可用於進一步測試的目標。在PTES的前三個階段中,只提取了關於組織的詳細資訊,評估人員沒有接觸任何用於測試的資源。這是PTES中最耗時的階段。
以下階段構成漏洞分析:
漏洞測試
它可以定義為發現主機和服務的系統和應用程式中的缺陷(例如錯誤配置和不安全的應用程式設計)的過程。測試人員必須在進行漏洞分析之前正確確定測試範圍和預期結果。漏洞測試可以有以下型別:
- 主動測試
- 被動測試
我們將在後續章節中詳細討論這兩種型別。
主動測試
它涉及與正在測試其安全漏洞的元件進行直接互動。這些元件可以是低級別的,例如網路裝置上的TCP堆疊,也可以是高級別的,例如基於Web的介面。主動測試可以透過以下兩種方式進行:
自動化主動測試
它利用軟體與目標互動,檢查響應,並根據這些響應確定元件中是否存在漏洞。與手動主動測試相比,自動化主動測試的重要性可以從以下事實中看出:如果系統上有數千個TCP埠,我們需要手動連線所有埠進行測試,這將花費相當長的時間。但是,使用自動化工具可以減少大量的時間和人力需求。網路漏洞掃描、埠掃描、Banner抓取和Web應用程式掃描都可以藉助自動化主動測試工具完成。
手動主動測試
與自動化主動測試相比,手動有效測試更有效。自動化流程或技術總是存在誤差。這就是為什麼始終建議對目標系統上可用的每個協議或服務執行手動直接連線以驗證自動化測試結果的原因。
被動測試
被動測試不涉及與元件的直接互動。它可以藉助以下兩種技術實現:
元資料分析
此技術涉及檢視描述檔案的資料,而不是檔案本身的資料。例如,MS Word檔案包含其作者姓名、公司名稱、上次修改和儲存文件的日期和時間等元資料。如果攻擊者可以被動訪問元資料,則會存在安全問題。
流量監控
它可以定義為連線到內部網路並捕獲資料以進行離線分析的技術。它主要用於捕獲“資料洩露”到交換網路。
驗證
漏洞測試後,非常有必要驗證結果。這可以使用以下技術完成:
工具間的關聯
如果評估人員使用多個自動化工具進行漏洞測試,那麼為了驗證結果,必須在這些工具之間進行關聯。如果沒有這種工具之間的關聯,結果可能會變得複雜。它可以細分為專案的具體關聯和專案的分類關聯。
特定協議驗證
也可以藉助協議進行驗證。VPN、Citrix、DNS、Web、郵件伺服器可以用來驗證結果。
研究
在發現並驗證系統中的漏洞後,必須確定問題識別的準確性,並研究在滲透測試範圍內漏洞的潛在可利用性。研究可以公開或私下進行。在進行公開研究時,可以使用漏洞資料庫和廠商公告來驗證報告問題的準確性。另一方面,在進行私人研究時,可以設定一個複製環境,並應用模糊測試或測試配置等技術來驗證報告問題的準確性。
利用階段
這是PTES的第五階段。此階段側重於透過繞過安全限制來訪問系統或資源。在這個階段,前面階段完成的所有工作都會導致獲得系統訪問許可權。以下是一些用於訪問系統的常用術語:
- 攻破
- 獲取Shell
- 破解
- 利用
在利用階段,系統登入可以透過程式碼、遠端利用、建立利用程式、繞過防毒軟體來完成,或者像使用弱憑據登入一樣簡單。獲得訪問許可權後,即確定主要入口點後,評估人員必須專注於識別高價值目標資產。如果漏洞分析階段完成得當,應該已經編制了高價值目標列表。最終,攻擊向量應考慮成功機率和對組織的最大影響。
利用後階段
這是PTES的第六階段。評估人員在此階段會執行以下活動:
基礎設施分析
在此階段會對滲透測試期間使用的整個基礎設施進行分析。例如,可以使用介面、路由、DNS伺服器、快取的DNS條目、代理伺服器等來分析網路或網路配置。
資料竊取
它可以定義為從目標主機獲取資訊。此資訊與預評估階段定義的目標相關。此資訊可以從已安裝的程式、特定伺服器(如資料庫伺服器、印表機等)中獲取。
資料洩露
在此活動中,要求評估人員對所有可能的洩露路徑進行對映和測試,以便可以進行控制強度測量,即檢測和阻止組織中的敏感資訊。
建立永續性
此活動包括安裝需要身份驗證的後門、根據需要重新啟動後門以及建立具有複雜密碼的備用帳戶。
清理
顧名思義,此過程涵蓋了滲透測試完成後清理系統的要求。此活動包括恢復原始值系統設定、應用程式配置引數以及刪除所有已安裝的後門和任何已建立的使用者帳戶。
報告
這是PTES的最終也是最重要階段。滲透測試完成後,客戶根據最終報告付費。該報告基本上反映了評估人員對系統的發現。以下是良好報告的重要組成部分:
執行摘要
這是一份報告,它向讀者傳達滲透測試的具體目標和測試練習的主要發現。目標受眾可以是諮詢委員會或高管成員。
故事情節
報告必須包含故事情節,說明在參與過程中做了什麼,實際的安全發現或弱點以及組織已建立的積極控制措施。
概念驗證/技術報告
概念驗證或技術報告必須包含測試的技術細節以及在參與前練習中商定的所有方面/元件作為關鍵成功指標。技術報告部分將詳細描述測試的範圍、資訊、攻擊路徑、影響和補救建議。