不管我們做什么事情都是要做到安全第一,軟件也是如此,在軟件測試中,有一種測試是滲透測試,這個測試是專門用來測試網絡的安全性的。它是從攻擊者的角度,對系統的任何弱點、技術缺陷或漏洞的主動分析,今天我們來了解一下它的流程吧。
1、明確目標
確定規則:能滲透到什么程度,時間?能否修改上傳?能否提權等。
確定需求:web應用的漏洞(新上線程序)、業務邏輯漏洞(針對業務的)、人員權限管理漏洞(針對人員、權限)等等。(立體全方位)
根據需求和自己技術能力來確定能不能做,能做多少。
2、信息收集
方式:主動掃描,開放搜索等
開放搜索:利用搜索引擎獲得,后臺,未授權頁面,敏感url等。
基礎信息:IP,網段,域名,端口
系統信息:操作系統版本
應用信息:各端口的應用,例如web應用,郵件應用等等
版本信息:所有這些探測到的東西的版本。
人員信息:域名注冊人員信息,web應用中網站發帖人的id,管理員姓名等。
防護信息:試著看能否探測到防護設備
3、漏洞探索
利用上一步中列出的各種系統,應用等使用相應的漏洞。
方法:
1.漏掃,awvs,IBM appscan等。
2.結合漏洞去exploit-db等位置找利用。
3.在網上尋找驗證poc。
內容:
系統漏洞:系統沒有及時打補丁
Websever漏洞:Websever配置問題
Web應用漏洞:Web應用開發問題
其它端口服務漏洞:各種21/8080(st2)/7001/22/3389
通信安全:明文傳輸,token在cookie中傳送等。
4、漏洞驗證
將上一步中發現的有可能可以成功利用的全部漏洞都驗證一遍。結合實際情況,搭建模擬環境進行試驗。成功后再應用于目標中。
自動化驗證:結合自動化掃描工具提供的結果
手工驗證,根據公開資源進行驗證
試驗驗證:自己搭建模擬環境進行驗證
登陸猜解:有時可以嘗試猜解一下登陸口的賬號密碼等信息
業務漏洞驗證:如發現業務漏洞,要進行驗證
公開資源的利用
-exploit-db/wooyun/
-google hacking
-滲透代碼網站
-通用、缺省口令
-廠商的漏洞警告等等。
5、信息分析
為下一步實施滲透做準備。
精準打擊:準備好上一步探測到的漏洞的exp,用來精準打擊
繞過防御機制:是否有防火墻等設備,如何繞過
定制攻擊路徑:最佳工具路徑,根據薄弱入口,高內網權限位置,最終目標
繞過檢測機制:是否有檢測機制,流量監控,殺毒軟件,惡意代碼檢測等(免殺)
攻擊代碼:經過試驗得來的代碼,包括不限于xss代碼,sql注入語句等
6、獲取所需
實施攻擊:根據前幾步的結果,進行攻擊
獲取內部信息:基礎設施(網絡連接,vpn,路由,拓撲等)
進一步滲透:內網入侵,敏感目標
持續性存在:一般我們對客戶做滲透不需要。rookit,后門,添加管理賬號,駐扎手法等
清理痕跡:清理相關日志(訪問,操作),上傳文件等
7、信息整理
整理滲透工具:整理滲透過程中用到的代碼,poc,exp等
整理收集信息:整理滲透過程中收集到的一切信息
整理漏洞信息:整理滲透過程中遇到的各種漏洞,各種脆弱位置信息
目的:為了最后形成報告,形成測試結果使用。
8、形成報告
按需整理:按照之前第一步跟客戶確定好的范圍,需求來整理資料,并將資料形成報告
補充介紹:要對漏洞成因,驗證過程和帶來危害進行分析
修補建議:當然要對所有產生的問題提出合理高效安全的解決辦法
對于滲透測試來說,如果只是人工獨立完成測試的話,這個工作量是很大的,因此,大部分的人們在進行滲透測試的時候,是借助于自動化工具的。在小編看來AutoRunner(自動化測試工具)是不錯的,是值得大家使用的。
推薦閱讀: