滲透測(cè)試是指滲透人員通過(guò)模擬惡意黑客的攻擊方法,從內(nèi)網(wǎng)、從外網(wǎng)等位置利用各種手段對(duì)某個(gè)特定網(wǎng)絡(luò)進(jìn)行測(cè)試,發(fā)現(xiàn)和挖掘系統(tǒng)中存在的漏洞或技術(shù)缺陷,然后輸出滲透測(cè)試報(bào)告,并提交給客戶。這樣,客戶便可以根據(jù)滲透人員提供的滲透測(cè)試報(bào)告,清晰知曉其網(wǎng)絡(luò)系統(tǒng)中存在的安全隱患和問(wèn)題。
一般情況,
滲透測(cè)試服務(wù)的大致流程分為六個(gè)步驟:
1.明確目標(biāo)
2.信息收集
3.漏洞探測(cè)
4.漏洞驗(yàn)證
5.漏洞攻擊:利用漏洞,獲取數(shù)據(jù),后滲透測(cè)試
6.信息整理及滲透測(cè)試報(bào)告輸出
第一步:明確目標(biāo)
1)確定范圍:測(cè)試的范圍,如:IP、域名、內(nèi)外網(wǎng)、整站or部分模塊
2)確定規(guī)則:能滲透到什么程度(發(fā)現(xiàn)漏洞為止or繼續(xù)利用漏洞)、時(shí)間限制、能否修改上傳、能否提權(quán)...
目標(biāo)系統(tǒng)介紹、重點(diǎn)保護(hù)對(duì)象及特性。
是否允許數(shù)據(jù)破壞?
是否允許阻斷業(yè)務(wù)正常運(yùn)行?
測(cè)試之前是否應(yīng)當(dāng)知會(huì)相關(guān)部門接口人?
接入方式?外網(wǎng)和內(nèi)網(wǎng)?
3)確定需求:web應(yīng)用的漏洞?業(yè)務(wù)邏輯漏洞?人員權(quán)限管理漏洞?
4)分析滲透測(cè)試過(guò)程中可能產(chǎn)生的風(fēng)險(xiǎn),如大量測(cè)試數(shù)據(jù)的處理、影響正常業(yè)務(wù)開展、服務(wù)器發(fā)生異常的應(yīng)急、數(shù)據(jù)備份和恢復(fù)、測(cè)試人力及物力等成本。
5)測(cè)試方書寫實(shí)施方案并提交給客戶或領(lǐng)導(dǎo)進(jìn)行審核。在審核完成后,從客戶或領(lǐng)導(dǎo)處獲取對(duì)測(cè)試方進(jìn)行書面委托授權(quán)書,授權(quán)測(cè)試方進(jìn)行滲透測(cè)試。
第二步:信息收集
在信息收集階段,我們需要盡量多的收集關(guān)于目標(biāo)web應(yīng)用的各種信息,比如:腳本語(yǔ)言的類型、服務(wù)器的類型、目錄的結(jié)構(gòu)、使用的開源軟件、數(shù)據(jù)庫(kù)類型、所有鏈接頁(yè)面,用到的框架等。
方式:主動(dòng)掃描;開放搜索
開放搜索:利用搜索引擎獲得后臺(tái)、未授權(quán)頁(yè)面、敏感url
基礎(chǔ)信息:IP,網(wǎng)段,域名,端口
系統(tǒng)信息:操作系統(tǒng)版本
應(yīng)用信息:各端口的應(yīng)用,例如web應(yīng)用,郵件應(yīng)用等
版本信息:所有探測(cè)到的版本
服務(wù)信息:服務(wù)器類型、版本
人員信息:域名注冊(cè)人員信息,web應(yīng)用中網(wǎng)站發(fā)帖人的id,管理員姓名等
防護(hù)信息:試測(cè)能否探測(cè)到防護(hù)設(shè)備
第三步:漏洞探測(cè)
在收集到足夠多的信息之后,便開始對(duì)WEB應(yīng)用進(jìn)行漏洞探測(cè)了,探測(cè)網(wǎng)站是否存在一些常見(jiàn)的Web漏洞。
漏洞探測(cè)方法:
1)漏洞掃描工具:AWVS、AppScan、Owasp-Zap、Nessus等
2)結(jié)合漏洞去exploit-db等位置找利用
3)在網(wǎng)上尋找驗(yàn)證POC
內(nèi)容:
系統(tǒng)漏洞:系統(tǒng)沒(méi)有及時(shí)打補(bǔ)丁
Websever漏洞:Websever配置問(wèn)題
Web應(yīng)用漏洞:Web應(yīng)用開發(fā)問(wèn)題
其它端口服務(wù)漏洞:各種21/8080(st2)/7001/22/3389
通信安全:明文傳輸,token在cookie中傳送等
常見(jiàn)漏洞,比如:
SQL注入
XSS跨站腳本
CSRF跨站請(qǐng)求偽造
XXE漏洞
SSRF服務(wù)端請(qǐng)求偽造漏洞
文件包含漏洞
文件上傳漏洞
文件解析漏洞
遠(yuǎn)程代碼執(zhí)行漏洞
CORS跨域資源共享漏洞
越權(quán)訪問(wèn)漏洞
目錄瀏覽漏洞和任意文件讀取/下載漏洞
struts2漏洞
JAVA反序列化漏洞
第四步:漏洞驗(yàn)證
將上一步中發(fā)現(xiàn)的可能成功被利用的漏洞都驗(yàn)證一遍。結(jié)合實(shí)際情況,搭建模擬環(huán)境進(jìn)行試驗(yàn),成功后再應(yīng)用于目標(biāo)中。
自動(dòng)化驗(yàn)證:結(jié)合自動(dòng)化掃描工具提供的結(jié)果
手工驗(yàn)證:根據(jù)公開資源進(jìn)行驗(yàn)證
試驗(yàn)驗(yàn)證:自己搭建模擬環(huán)境進(jìn)行驗(yàn)證
登錄猜解:有時(shí)可以嘗試猜解一下登陸口的賬號(hào)密碼等信息
業(yè)務(wù)漏洞驗(yàn)證:如發(fā)現(xiàn)業(yè)務(wù)漏洞,要進(jìn)行驗(yàn)證
公開資源的利用
exploit-db/wooyun/
滲透代碼網(wǎng)站
通用、缺省口令
廠商的漏洞警告等
第五步:漏洞攻擊:利用漏洞,獲取數(shù)據(jù),后滲透測(cè)試
進(jìn)一步滲透:內(nèi)網(wǎng)入侵,敏感目標(biāo)
持續(xù)性存在:一般對(duì)客戶做滲透不需要rookit,后門,添加管理賬號(hào),駐扎手法等
清理痕跡:清理相關(guān)日志(訪問(wèn),操作),上傳文件等
第六步:信息整理及滲透測(cè)試報(bào)告輸出
在完成了滲透測(cè)試之后,我們就需要整理資料,對(duì)這次滲透測(cè)試撰寫滲透測(cè)試報(bào)告了。需要對(duì)漏洞成因,驗(yàn)證過(guò)程和帶來(lái)危害進(jìn)行分析。明確寫出哪里存在漏洞,以及漏洞修補(bǔ)的方法,以便于網(wǎng)站管理員根據(jù)我們的滲透測(cè)試報(bào)告修補(bǔ)這些漏洞和風(fēng)險(xiǎn),防止被黑客攻擊!
以上內(nèi)容由四川無(wú)國(guó)界(warmw001.com.cn) 整理編輯——專業(yè)從事網(wǎng)絡(luò)信息安全培訓(xùn)與IT風(fēng)險(xiǎn)管理咨詢服務(wù)。