對于客戶的滲透測試來說,在進行前與用戶溝通某些有關事項是非常必要的:首先是滲透測試的目的:用戶這次的需求是什么?等待保險、日常安全檢查或者其他目的,不同的目的決定了不同的漏洞評估等級,在測試過程中也感受到不同的方法。二是滲透測試總體目標:總體目標通常分為服務器和軟件系統,這兩個總體目標的滲透方式大致相同。做軟件系統的滲透測試,還要辨別軟件系統后端的服務器。往往在軟件系統滲透失敗的時候,我們可以從服務器層面突破,反之亦然。第三是總體目標環(huán)境:通常我們的滲透測試會在兩個環(huán)境下進行,一個是生產環(huán)境,一個是測試環(huán)境。不同的環(huán)境對滲透測試有不同的要求。假如是生產環(huán)境,我們還要防止DoS拒絕服務、跨站腳本攻擊等可能造成服務中斷或延遲服務響應的攻擊;其次,生產環(huán)境的測試周期還要選擇在非業(yè)務高峰期;在生產環(huán)境中進行滲透測試時,還還要防止向總體目標插入、刪除或修改數據。
在不同的總體目標環(huán)境下,滲透測試也會面臨一個問題,就是如何訪問總體目標環(huán)境。一般來說,我們可以直接測試對互聯網開放的生產系統或服務器;但是,如果用戶的測試總體目標是內部系統或服務器,特別是測試環(huán)境,則不能直接訪問互聯網。這時候我們有幾個選擇:一個是進入用戶站點進行滲透測試,一個是以VPN或者IP地址接入白名單的形式接入。記住一點,如果你在家里做滲透測試,建議買云主機提供公網IP,由于這種IP地址是固定不動的,家里的光纖寬帶通常是動態(tài)IP地址,因此用戶通常不應該允許添加這種類型的動態(tài)IP地址接入。第四是執(zhí)行時間:我在第三點也提到了這一點,主要還要和用戶確認,尤其是在生產環(huán)境中。第五是風險規(guī)避方案:與用戶協商制定好的風險規(guī)避方案,有助于我們應對測試過程中的各種突發(fā)事件。實施系統備份并制定應急計劃,以便在緊急情況下恢復系統;做好試驗期間的安全監(jiān)控,發(fā)現異常及時停機。
溝通完以上,就可以進行技術測試了。技術測試的這一部分是一個常見的話題。事實上,當你有滲透測試用例的時候,你會發(fā)現這部分技術測試是:1。常規(guī)操作;2.“瑣碎”思維的奇思妙想;3.毅力。我們還是從流程上貫穿整個技術測試:第一步是信息收集,記住做信息收集的時候要考慮滲透測試的目的。子域名搜集:還要留意這一步是否有必要。如果用戶的目的只是為了測試一個域名的安全性,那么做子域名搜集意義不大。如果是為了某個目的要求滲透個網站,就要做子域名搜集。搜集子域的方法往往是DNS漏洞、蠻力破解、DNS解析和查詢等。對于部分滲透,邊站查詢也是一種思路。很多客戶想要對自己的網站進行滲透測試服務可以去網上看看,目前像國內的SINESAFE,鷹盾安全,啟明星辰,綠盟,都是做安全的大公司。
IP地址信息收集:c、b段主要用于總體目標過去IDC機房或自建私有云存儲。如果是云環(huán)境,可以關注私鑰或Token的泄露。在本文的最后,我放了某些關于云環(huán)境滲透的參考資料。港口及服務信息:主要通過相關工具掃描,如nmap、masscan。敏感目錄和相對路徑:留意借助平日搜集的字典和工具辨別回報的方式;網絡容器和后端組件可以通過某些瀏覽器插件或掃描儀來識別。CMS:這種更重要。通常大客戶要么是自己開發(fā)的系統,要么是成熟的CMS系統。我們搜集這些信息是為了方便我們查詢已知的漏洞以進行進一步的攻擊;其他信息:還有賬號密碼、Token、AK/SK信息、歷史漏洞、歷史漏洞中的敏感信息等信息,主要通過搜索引擎和第三方平臺(GitHub是主要渠道)搜集。搜集信息更重要的是平日的字典和工具庫的搜集,以及搜集信息的靈活方式。
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!