滲透測試是什麼?網絡安全學習中,web滲透的測試流程是怎樣的?
滲透測試就是利用我們所掌握的滲透知識,對網站進行一步一步的滲透,發現其中存在的漏洞和隐藏的風險,然後撰寫一篇測試報告,提供給我們的客戶。
web滲透的測試流程:
1.明确目标(合同)
确定範圍:甲方所需要的測試範圍,ip,域名,内外網等。
确定規則:滲透測試分為白盒測試和黑盒測試
白盒測試:就是在知道目标網站源碼和其他一些資訊的情況下對其進行滲透,有點類似于代碼分析
黑盒測試:就是隻告訴我們這個網站的URL,其他都不告訴,然後讓你去滲透,模拟黑客對網站的滲透
确定需求:web應用的漏洞(新上線程式),業務邏輯漏洞(針對業務的),人員權限管理漏洞(針對人員、權限)等等。根據需求和自己技術能力來确定能不能做,能做多少,能滲透到什麼程度,時間,簽合同。
2.資訊收集(域名、IP、端口、指紋等)
收集方式:主動收集&被動收集
主動資訊收集:通過直接通路、掃描網站,這種流量将流經網站,然後收集回報的資訊。
被動資訊收集:利用第三方的服務對目标進行通路了解,比例:GoogleHacker搜尋、CDN、jsfinder等。
基礎資訊:IP,網段,域名,端口、作業系統版本、各端口的應用及其版本,例如web應用,郵件應用等等。
人員資訊:域名注冊人員資訊,web應用中網站發帖人的id,管理者姓名以及QQ号,微信号等。
防護資訊:試着看能否探測到防護裝置,哪種防火牆什麼版本。
3.漏洞探索(主機掃描、web掃描等)
通過我們收集到的資訊,開始對目标web的掃描,進行漏洞探測環節。探測網站是否存在一些常見的Web漏洞
步驟:
1.用掃描工具:awvs,IBM appscan、Owasp-Zap、Nessus等。PS:掃描器可能會對網站構成傷害
2.找漏洞的資料:結合漏洞去exploit-db漏洞庫等位置找利用。
3.舉例說明該漏洞:找漏洞在網上尋找驗證poc觀點證明。
漏洞:
1.系統漏洞:系統沒有及時打更新檔。
2.Websever漏洞:Websever配置問題。
3.Web應用漏洞:SQL注入、XSS、CSRF、XXE、SSRF、反序列化漏洞等。
4.其它端口服務漏洞:各種21/8080(st2)/7001/22/3389。
5.通信安全:明文傳輸,token在cookie中傳送等。
6.弱密碼漏洞:目标網站管理入口使用了容易被猜測的簡單字元密碼、或者是預設系統賬号密碼。
7.檔案下載下傳(目錄浏覽)漏洞:對使用者檢視或下載下傳的檔案不做限制,使用者能下載下傳任意的檔案。
8.任意檔案上傳漏洞:目标網站允許使用者向網站直接上傳檔案,但未對所上傳檔案進行嚴格的過濾。
9.内部背景位址暴露:一些僅被内部通路的位址,對外部暴露了
10.失效的身份認證:通過錯誤使用身份認證和會話管理功能,攻擊者能夠破譯密碼、密鑰或會話令牌
11.失效的通路控制:未對通過身份驗證的使用者實施恰當的通路控制。
12.業務邏輯漏洞
4.漏洞驗證(核實該漏洞和風險評級)
将上一步中發現的有可能可以成功利用的全部漏洞都驗證一遍。結合實際情況,搭模組化拟環境進行試驗。
自動化驗證:結合自動化掃描工具提供的結果。
手工驗證:根據公開資源進行驗證。
試驗驗證:自己搭模組化拟環境進行驗證。
登陸猜解:有時可以嘗試猜試一下登陸口的賬号密碼等資訊。
業務漏洞驗證:如發現業務漏洞,要進行驗證。
5.後續滲透(需要按照合同内容來,這個環節可能不需要)
漏洞利用:當我們拿到了該網站存在漏洞之後,就可以進一步拿到網站的webshell。
内網轉發:如果我們還想進一步的探測内網主機的資訊的話,我們就需要進行内網轉發了。
内網橫向滲透:當我們在擷取了外網伺服器的權限,我們要想盡辦法從該伺服器上查找到我們想要的資訊。
權限維持:一般我們對客戶做滲透不需要。rookit,後門,添加管理賬号,駐紮手法等。
清理痕迹:最主要還是要以隐藏自身身份為主,最好的手段是在滲透前挂上代理,然後在滲透後痕迹清除。
6.形成報告(漏洞描述、測試過程、風險評級、安全建議)
整理滲透工具:整理滲透過程中用到的代碼,poc,exp等
整理收集資訊:整理滲透過程中收集到的一切資訊
整理漏洞資訊:整理滲透過程中遇到的各種漏洞,各種脆弱位置資訊
漏洞補充介紹:要對漏洞成因,驗證過程和帶來危害進行分析
安全修補建議:當然要對所有産生的問題提出合理高效安全的解決辦法