PTES-滲透測試執行標準

入門滲透測試,首先需要了解滲透測試的流程、步驟與方法。儘管滲透目標的環境各不相同,但依然可以用一些標準化的方法體系進行規範和限制。

PTES-滲透測試執行標準

目前滲透測試方法體系標準比較流行的有5個,其中PTES滲透測試執行標準得到了安全業界的普遍認同,它具體包括以下7個階段。

PTES-滲透測試執行標準

01 前期交互階段


前期交互階段要做的事主要有以下幾件:

介紹和解釋可用的工具和技術,根據客戶需求為客戶提供量身定製的測試方案。可用於滲透測試的工具和技術有很多,但客戶環境不一定支持,比如設備老舊,不能使用工具進行高強度的掃描行為;或者白天業務量大,只能在凌晨一兩點才能測試;再或者不能進行弱口令掃描,賬號鎖定後會對業務產生影響等等,這些都需要事先溝通好,以免測試對客戶生產環境造成影響。

確定項目範圍,項目範圍圈出了要測試的內容。我們只能對已授權的資產進行測試,未授權的資產不能進行任何測試。

確定週期,起始和終止時間。根據測試內容,評估所需要花的時間。一般建議多填充20%,以防測試因各種因素中斷,可以拿這20%的時間作為緩衝。

前期交互階段參與的一般是銷售和項目經理,他們與客戶達成協議後,客戶將需要測試的資產交給項目經理,再由項目經理分發給滲透人員執行。但有時客戶會直接和滲透人員對接,特定是在長期項目中,這個時候滲透人員也會參與到這個階段。

02 情報蒐集階段


情報蒐集階段的目標是儘可能多的收集滲透對象的信息(網絡拓撲、系統配置、安全防禦措施等),在此階段收集的信息越多,後續階段可使用的攻擊矢量就越多。因為情報蒐集可以確定目標環境的各種入口點(物理、網絡、人),每多發現一個入口點,都能提高滲透成功的幾率。

和傳統滲透不同的是,安全服務有時候僅僅只是針對一個功能進行測試,所以不一定每次都需要收集目標的信息,或者只需要收集一部分信息;但如果是對一個系統進行滲透,還是要儘可能多的收集目標的信息。

03 威脅建模階段


利用上一階段獲取到的信息進行威脅建模和攻擊規劃。

威脅建模;利用獲取到的信息來標識目標組織可能存在的漏洞與缺陷。威脅建模有兩個關鍵要素:資產分析和威脅分析。識別主要和次要資產並對其進行分類,並根據資產識別其可能存在的威脅。比如看到28017端口我們要想到是否存在mongodb未授權訪問,看到21端口我們要想到是否存在ftp匿名登錄等等。

攻擊規劃;根據威脅模型確定下一步需要蒐集的信息和攻擊方法。威脅模型建立後,可行的攻擊矢量已基本確定,接下來要做的就是一個一個驗證其是否可行,在這個過程中依然會伴隨著信息的收集以及威脅模型的調整。

04 漏洞分析階段


漏洞分析是一個發現系統和應用程序中的漏洞的過程。這些漏洞可能包括主機和服務配置錯誤,或者不安全的應用程序設計。雖然查找漏洞的過程各不相同,並且高度依賴於所測試的特定組件,但一些關鍵原則適用於該過程。

在進行任何類型的漏洞分析時,測試人員應適當地確定適用深度和廣度的測試範圍,以滿足所需結果的目標和要求。傳統的滲透是能通過一個漏洞拿到服務器最高權限就行,因此其重點是發現一個可利用的漏洞。但安全服務要求我們儘可能多的發現目標存在的漏洞,以此來保證系統的安全,而且很多時候只要證明漏洞存在即可,不需要再進行漏洞利用。兩者的區別就相當於點和麵,廣度和深度均有所不同,具體執行尺度需要根據客戶需求來定。

有些漏洞的驗證,我們可以通過抓包改包很輕易的實現,但有些漏洞,驗證的步驟很繁瑣,則需要編寫特定的概念驗證(POC)來驗證漏洞,這就要求測試人員有一定的開發能力。

05 漏洞攻擊階段


在驗證漏洞存在後,接下來就是利用發現的漏洞對目標進行攻擊了。漏洞攻擊階段側重於通過繞過安全限制來建立對系統或資源的訪問,實現精準打擊,確定目標的主要切入點和高價值目標資產。

為實現系統安全,系統往往都會採用諸多技術來進行防禦,如反病毒(IPS、IDS、WAF、......)、編碼、加密、白名單等,在滲透期間,則需要混淆有效載荷來繞過這些安全限制,以達到成功攻擊的目的。很多情況下,互聯網上有很多公開的漏洞利用,可直接拿來使用,但對於一些特殊情況,則需要我們根據實際情況來量身定製有效載荷(payload)和漏洞利用(exploit)。

06 後滲透攻擊階段


後滲透攻擊,顧名思義就是漏洞利用成功後的攻擊,即拿到系統權限後的後續操作。後滲透攻擊階段的操作,可分為兩種:權限維持和內網滲透。

權限維持——提升權限及保持對系統的訪問。系統最高權限是我們嚮往的ONEPIECE,如果漏洞利用階段得到的權限不是系統最高權限,我們應該繼續尋找並利用漏洞進行提權。同時為了保持對系統的訪問權限,我們應該留下後門(木馬文件等)並隱藏自己(清除日誌、隱藏文件等)。

PTES-滲透測試執行標準

內網滲透——利用獲取到的服務器對其所在的內網環境進行滲透。內網環境往往要比外網環境有趣,我們可以利用獲取到的服務器進一步獲取目標組織的敏感信息。

07 報告階段


滲透測試的最後一步便是報告輸出。客戶不會關心滲透的過程到底是怎樣,他們要的只有結果,因此一份好的報告尤其重要。好的報告至少要包括以下兩個主要部分,以便向客戶傳達測試的目標、方法和結果。

執行概要。這個部分向客戶傳達測試的背景和測試的結果。測試的背景主要是介紹測試的總體目的,測試過程中會用到的技術,相關風險及對策。測試的結果主要是將滲透測試期間發現的問題進行簡要總結,並以統計或圖形等易於閱讀的形式進行呈現。然後根據結果,對系統進行風險等級評估並解釋總體風險等級、概況和分數,最後再給出解決途徑。

PTES-滲透測試執行標準

技術報告。這個部分主要是向客戶傳達測試的技術細節,詳細描述測試發現的問題、攻擊路徑、影響和修復建議等。一方面是為了讓客戶更好的理解問題所在,將漏洞進行整改,另一方面是方便後續漏洞複查,形成矩陣跟蹤閉環。


分享到:


相關文章: