完成一次滲透測試項目-乙方視覺思路整理

可領全套安全課程、配套攻防靶場


完成一次滲透測試項目-乙方視覺思路整理


背景:小B接到一個滲透測試任務,由於很久沒有從乙方視⻆執行滲透測試的他決定先梳理一下自己的思路。


準備工作


第一個是滲透測試用例:對於技術人員來講這是一個比較好的知識點沉澱的方式,不但有助於你在每一次的滲透測試中不遺漏掉某個點,並且還可以在團隊內部進行共享方便提升團隊內部成員的技能。


第二個是工具箱:工欲善其事必先利其器,有一個好的工具箱決定我們在滲透測試時的效率。


一個好的工具箱應該包括,不同操作系統(Win、Linux、macOS);

各種環境與基礎工具(Java、Py2與Py3、Ruby、NodeJS、Go、數據庫連接客戶端、SSH連接客戶端等等);

常用的工具(Nessus、AWVS、BurpSuite、SQLMap、各種小工具、CVE漏洞利用POC);


做好準備工作是平時的積累,不要在每一次面對項目時再去做。


前期溝通


對於乙方的滲透測試而言,在開始之前與客戶溝通一些相關事宜是非常有必要的:


第一個是滲透測試目的:客戶進行本次需求是為了什麼?


等保、日常安全巡檢還是其他目的,不同的目的決定漏洞評判等級的不一樣,也覺得測試過程中方法的不一樣。


第二個是滲透測試目標:目標通常情況會分為主機和應用系統,這兩類目標的滲透方法上是大致相同的。


做應用系統的滲透測試,我們需要判斷應用系統後端的主機,往往在滲透應用系統無果的時候我們可以從主機層面出發突破,反之亦然。


第三個是目標環境:一般我們滲透測試會在兩種環境中進行,一是生產,二是測試。


不同的環境對滲透測試的要求也不一樣,假設是生產環境,我們需要避免對目標進行DoS拒絕服務、緩衝區溢出等可能導致服務中斷或延緩服務響應的攻擊;


其次生產環境的測試時間段需要選擇在非業務高峰期;


還有就是生產環境我們做滲透測試的時候要避免向目標插入、刪除或修改數據的動作。


在目標環境的不同上,做滲透測試還會面臨一個問題就是如何接入目標環境中。

一般對互聯網開放的生產系統或主機我們可以直接通過Internet進行測試;


但是如果客戶的測試目標是內部的系統或主機,尤其是測試環境這時Internet都是不可以直接訪問的,


此時我們有幾個選擇


一是進入客戶現場執行滲透測試,

二是VPN或者IP訪問白名單的形式訪問。


記住一個點,如果是在家進行滲透測試建議買一個雲主機提供一個公網IP,因為這個IP是固定的,家用的寬帶一般都是動態IP,客戶一般是不應該允許將這種類型的動態IP添加訪問的。


第四個是執行時間:這一點在第三點中我也提到了,主要是需要與客戶確認好特別是在生產環境執行。


第五個是⻛險規避方案:與客戶一起協商做好⻛險規避方案,有助於我們在測試過程中應對各種緊急情況。


執行系統備份與做好應急預案方便在出現突發情況時恢復系統;做好測試時間段內的安全監控,當出現異常時及時叫停;


溝通好以上的內容之後,就可以開始技術測試部分了。


技術測試


技術測試這部分是老生常談的話題了,其實當有了滲透測試用例以後你會發現技術測試這個部分就是:

1.常規操作;


2.外帶"猥瑣"思路的突發奇想;


3.堅持不懈的精神。


我們還是從流程上過一遍整個技術測試:


第一步信息收集


記住做信息收集時需要從滲透測試目的出發。


子域名收集:需要注意的是否需要做此步驟,如果客戶的目的只是做一個域名的安全測試,那麼做子域名收集的意義不是很大


如果是要求對某個網站進行以某種目的為導向的滲透就需要做子域名收集了。


子域名收集的方法偏向DNS漏洞、暴力破解、DNS解析查詢等方式。


對於部分的滲透來說通過旁站查詢也是一種思路。


IP信息收集:C段與B段適用於目標傳統IDC機房或自建私有云的情況,如果是雲環境大家可以關注一下私鑰或Token洩露的情況,在文末我放了一些關於雲環境滲透的參考資料。


端口與服務信息:主要是通過相關工具進行掃描,nmap、masscan。敏感目錄與路徑:注意依賴於平日收集的字典與工具判斷返回的方式;


Web容器與後端組件可以依賴一些瀏覽器插件(Wapplayzer)來識別,也可以通過掃描器識別;


CMS:這個比較重要,一般比較大的客戶要麼是自研發系統要麼是成熟的CMS系統,我們收集這個信息方便我們查詢已知漏洞從而進一步攻擊;


其他信息:還有就是賬號密碼、Token、AK/SK信息、歷史漏洞、歷史漏洞中的敏感信息等信息,收集途徑主要是搜索引擎與第三方平臺(GitHub為主要渠道)。


在做信息收集比較重要的是平日裡字典、工具庫的收集,以及多變通做信息收集的方式,不要侷限自己的思路。


第二步漏洞利用


漏洞利用主要依賴於第一步信息收集的結果,一般會有四種結果:可直接利用,比如敏感文件信息洩露;可間接利用,後端組件或CMS版本處於已知漏洞的影響範圍之內;未來可用,部分信息當前不能給出一些幫助,但是在後續的滲透過程中會提供幫助,比如某個內網的賬號密碼;無用信息。


一般漏洞利用就是常⻅的漏洞,如SQL注入、XSS跨站;一些CVE漏洞,如:CVE-2017-10271;邏輯漏洞,如任意密碼重置;


平日多積累,漏洞利用的時候就不會慌。


第三步後滲透


如果有需要做後滲透的話,一般包括:內網滲透,權限維持,權限提升,讀取用戶hash,瀏覽器密碼等。


關於這塊小B也是菜雞寫不出來很有營養的東西,也是小B正在學習的東西,大家可以多看看網上的資料。


技術測試小結:


不要總盯著一個點不放,思路需要打開;


不是每一次都能成功拿到權限或者找到高危等級的漏洞的:


給一臺只開放了443的獨立主機讓你入侵,直接攻擊就算了吧!也許通過APT能實現呢~~~


先對內部人員弄個釣⻥,獲取一個內網權限,再橫向移動,找到可訪問目標的網絡段,再想辦法從內部獲取賬號(純屬YY)


報告輸出


一份滲透測試報告是客戶評估此次滲透測試效果的東西,所以報告至關重要。


要輸出一份好的報告需要我們做到以下幾個點:


1.與客戶溝通報告的要求,不同客戶對於報告的詳細程度是不一致的,有些客戶甚至會提供報告模板只要填入對應的內容;


2.對漏洞理解足夠深入,需要描述清楚漏洞的概述、漏洞的⻛險、漏洞的危險等級(危險等級的計算方式)、漏洞的發現過程(圖文結合的方式是最好的


同時要求我們在做滲透測試時養成良好的過程記錄習慣)、漏洞的修復建議(不同客戶對於漏洞的修復要求是不一致的,內外部系統的修復建議也應該是不一致的)。


refer

  • ATT&CK針對雲上環境入侵手法的總結:https://attack.mitre.org/matrices/enterprise/cloud/
  • 針對AWS入侵框架:https://github.com/RhinoSecurityLabs/pacu


轉載自:https://zhuanlan.zhihu.com/p/110141855


今天你知道了嗎

完成一次滲透測試項目-乙方視覺思路整理


加群,黑客技術大咖在線解答(群號評論區見)


分享到:


相關文章: