您想知道的滲透測試都在這里
譯文【51CTO.com快譯】近年來,無論是在業(yè)務(wù)上、運(yùn)營中、還是在流程上,數(shù)字化轉(zhuǎn)型已經(jīng)讓許多組織和公司能夠在可擴(kuò)展性、生產(chǎn)效率、以及靈活性方面得到了大幅提升。不過,凡事都有利弊。新的數(shù)字化技術(shù)也會(huì)帶來各種數(shù)據(jù)泄露、以及網(wǎng)絡(luò)攻擊事件的頻發(fā)。因此,如果一個(gè)組織不定期進(jìn)行漏洞評(píng)估與滲透測試的話,攻擊者會(huì)在神不知鬼不覺的情況下,偷偷潛入目標(biāo)系統(tǒng),或是破壞IT基礎(chǔ)設(shè)施,或者竊取商業(yè)秘密??梢?,為了防范于未然,任何組織都需要通過適當(dāng)?shù)某绦蚧蛳到y(tǒng),盡早地檢測與響應(yīng)攻擊,并能夠及時(shí)地從攻擊中恢復(fù)。
什么是滲透測試?
滲透測試是通過各種手動(dòng)和自動(dòng)的技術(shù),來模擬對組織內(nèi)、外部信息系統(tǒng)的攻擊。一些道德黑客、或滲透測試者,通常會(huì)通過采用各種測試技術(shù),試圖在真實(shí)攻擊者、或惡意行為者之前,“闖入”組織的信息系統(tǒng),識(shí)別并利用已知的漏洞或未知的缺陷。也就是說,安全測試人員的主要目標(biāo)是,對待測系統(tǒng)進(jìn)行主動(dòng)分析,以識(shí)別可能因?yàn)橄到y(tǒng)配置不當(dāng)、基礎(chǔ)設(shè)施缺陷、以及不良的操作習(xí)慣,所導(dǎo)致的任何潛在威脅或漏洞。
組織為什么要進(jìn)行滲透測試?
- 識(shí)別整體基礎(chǔ)設(shè)施(包括各種硬件和軟件)中的潛在威脅和弱點(diǎn),以便開發(fā)和構(gòu)建一個(gè)安全可控的系統(tǒng)。
- 發(fā)現(xiàn)組織當(dāng)前的安全態(tài)勢與既定目標(biāo)之間的差距,進(jìn)而制定出行之有效的解決方案。
- 確?,F(xiàn)有的安全系統(tǒng)或控制措施,能夠有效地降低潛在攻擊所帶來的風(fēng)險(xiǎn)。
- 能夠?qū)粝蛄窟M(jìn)行分級(jí),并識(shí)別和加固易受利用的攻擊途徑。
- 及時(shí)發(fā)現(xiàn)當(dāng)前受控系統(tǒng)中存在的錯(cuò)誤,并著手修復(fù)它們。
- 檢測并確定弱點(diǎn)被利用后的嚴(yán)重程度,并提高自身應(yīng)對攻擊的響應(yīng)能力。
您還可以通過鏈接--https://securetriad.io/importance-of-security-assessments/,進(jìn)一步了解為什么組織應(yīng)該定期進(jìn)行安全評(píng)估與測試。
滲透測試的不同階段
滲透測試往往會(huì)涉及到模擬破壞任意數(shù)量的應(yīng)用程序或系統(tǒng),其中包括:應(yīng)用程序的協(xié)議接口、前端或后端服務(wù)器、安全基礎(chǔ)設(shè)施、以及利用漏洞植入代碼或竊取敏感數(shù)據(jù)等。那么,滲透測試的整體過程通常包括如下五個(gè)階段:
1. 計(jì)劃和偵察
此階段主要包括:定義待測試的范圍、優(yōu)先級(jí)和目標(biāo)。同時(shí),此階段還會(huì)說明關(guān)鍵系統(tǒng)的主要特征,以及即將執(zhí)行的測試類型。
而偵察階段則與情報(bào)的收集有關(guān)。例如:以被動(dòng)和主動(dòng)的方式,獲取與目標(biāo)系統(tǒng)相關(guān)的網(wǎng)絡(luò)、域名、以及郵件服務(wù)器等信息,以便更好地了解待測目標(biāo)的工作原理,及其潛在的切入口。
2. 掃描
該階段主要涉及到了解目標(biāo)系統(tǒng)將如何響應(yīng)各種自動(dòng)化的入侵嘗試、以及攻擊行為。滲透測試人員通常會(huì)使用如下方法:
- 靜態(tài)分析:在服務(wù)系統(tǒng)運(yùn)行之前,檢查應(yīng)用程序的源代碼,通過將其與既有的編碼規(guī)則進(jìn)行比較,進(jìn)而對其進(jìn)行代碼級(jí)的分析與調(diào)試。
- 動(dòng)態(tài)分析:通過實(shí)時(shí)執(zhí)行真實(shí)數(shù)據(jù),對系統(tǒng)的安全性進(jìn)行測試和評(píng)估。此類分析的目標(biāo)是,通過采用自動(dòng)化的安全掃描工具,對應(yīng)用程序或系統(tǒng)執(zhí)行掃描,進(jìn)而實(shí)時(shí)發(fā)現(xiàn)各種錯(cuò)誤與漏洞。
當(dāng)然,在靜態(tài)或動(dòng)態(tài)分析之后,我們需要通過手動(dòng)驗(yàn)證已發(fā)現(xiàn)的漏洞和錯(cuò)誤,以消除各種誤報(bào)。
3. 獲得訪問或利用的權(quán)限
那些在前面階段已被識(shí)別出的各種漏洞,將會(huì)在此時(shí)被想方設(shè)法地利用到目標(biāo)系統(tǒng)上,以獲取訪問權(quán)限,進(jìn)而攫取各種有價(jià)值的信息。具體的利用方式可謂五花八門,其中包括:提升權(quán)限、攔截流量、以及注入惡意代碼等。它們在攻擊方式上各有側(cè)重點(diǎn),所造成的損害程度也不盡相同。
4. 保持訪問
此階段的主要目標(biāo)是:確保攻擊在獲得對應(yīng)用程序、或底層系統(tǒng)的訪問權(quán)限后,仍然可以保持持續(xù)的訪問狀態(tài)。畢竟,只要攻擊者能夠維持對系統(tǒng)長期有效的訪問權(quán)限,他們就能夠更深、更遠(yuǎn)地接觸到其他相關(guān)應(yīng)用??梢哉f,滲透測試人員需要在本階段通過模仿和檢測,發(fā)現(xiàn)那些長期駐留在系統(tǒng)中、且尚未被檢測到的高級(jí)持續(xù)威脅(advanced persistent threats,APT)。
5. 分析和報(bào)告
至此,我們需要將測試結(jié)果編譯成詳細(xì)的報(bào)告。而報(bào)告的主體應(yīng)當(dāng)主要能夠反應(yīng)出可以被利用的漏洞、易于被破壞和訪問的敏感數(shù)據(jù)、以及安全測試人員在被“發(fā)現(xiàn)”之前,可以在系統(tǒng)中駐留的時(shí)長。
滲透測試方法
總的說來,滲透測試方法的采用,主要取決于組織對于目標(biāo)系統(tǒng)的安全檢測程度與水平。而安全專家或第三方網(wǎng)絡(luò)安全公司,應(yīng)當(dāng)協(xié)助本組織從實(shí)際需求出發(fā),根據(jù)已掌握的信息類型,選擇并確定相匹配的測試方法。
黑盒
黑盒評(píng)估是在向滲透測試員提供較少信息的情況下開展的。也就是說,無論是安全顧問、還是測試人員,由于他們對安全受控系統(tǒng)、或基礎(chǔ)設(shè)施知之甚少,因此需要采用偵察的方法,來獲取目標(biāo)的詳細(xì)信息。
白盒
在白盒評(píng)估中,測試人員或安全顧問已經(jīng)獲得了有關(guān)基礎(chǔ)設(shè)施、應(yīng)用程序、設(shè)備、以及安全受控系統(tǒng)的相關(guān)信息和詳細(xì)文檔(例如:系統(tǒng)架構(gòu)文檔、源代碼等)。因此,白盒測試是一種識(shí)別和檢測內(nèi)、外部漏洞的綜合評(píng)估方法。
灰盒
在此類評(píng)估方法中,測試人員僅獲得了評(píng)估安全受控系統(tǒng)所需的用戶級(jí)知識(shí)和信息。同時(shí),測試人員還應(yīng)當(dāng)被授予對于Web應(yīng)用程序、以及內(nèi)部網(wǎng)絡(luò)基礎(chǔ)設(shè)施的部分背景知識(shí)和有限訪問權(quán)限。
物理滲透測試
我們也應(yīng)當(dāng)警惕黑客采用物理手段,作為獨(dú)立攻擊、或針對現(xiàn)有技術(shù)的補(bǔ)充性攻擊方式,來獲得物理設(shè)施的訪問權(quán)限。以下是物理滲透測試的兩種常見方式:
- 定位薄弱的安全區(qū)域范圍:在這種方法中,黑客會(huì)確定或搜索易受攻擊、且易遭破壞的區(qū)域或系統(tǒng)。通常,多數(shù)數(shù)據(jù)中心或樓宇都會(huì)包含有吸煙區(qū)、維修設(shè)備的擺放區(qū)、以及某些無人看守的綠色快捷通道。這些設(shè)施范圍可能本身就未被安全加固,亦或處于能見度較低、過于隱蔽的區(qū)域。
- 捎帶(Piggybacking):捎帶、尾隨(tailgating)或竊聽(eavesdropping),都是黑客通過密切跟蹤有權(quán)限出入設(shè)施區(qū)域的員工、或維護(hù)工人的一些慣用方法。
社會(huì)工程學(xué)測試
此類測試通過搭建和檢驗(yàn)組織內(nèi)部的人際網(wǎng)絡(luò)(Human Network),有助于識(shí)別針對組織內(nèi)部人員,及其信任憑據(jù)、或訪問特權(quán)的攻擊。常用的攻擊類型有:
- 網(wǎng)絡(luò)釣魚:一種欺騙性方法,它通過郵件或消息發(fā)送惡意或受感染代碼,來獲取個(gè)人敏感信息。
- 偽裝(Pretexting):偽裝是身份盜竊的一種形式,黑客會(huì)將自己偽裝成目標(biāo)組織中的內(nèi)部人員,以獲得對安全基礎(chǔ)設(shè)施、或敏感數(shù)據(jù)的訪問權(quán)限。
您可以通過鏈接--https://securetriad.io/the-why-and-how-of-social-engineering/,進(jìn)一步了解有關(guān)社會(huì)工程學(xué)的來龍去脈、及其方式方法。
不同類型的滲透測試
網(wǎng)絡(luò)滲透測試
作為最常見、也是最熱門的滲透測試方法,網(wǎng)絡(luò)滲透測試能夠協(xié)助安全測試人員檢測和發(fā)掘網(wǎng)絡(luò)系統(tǒng)、以及各種基礎(chǔ)設(shè)施中的潛在漏洞。網(wǎng)絡(luò)滲透測試通常被分為外部、內(nèi)部和無線三種類型。其中:
外部網(wǎng)絡(luò)滲透測試:外部網(wǎng)絡(luò)滲透測試可以幫助我們探索網(wǎng)絡(luò)系統(tǒng)對于外部威脅的響應(yīng)能力。此類測試的常見手段是,通過基于互聯(lián)網(wǎng)的滲透測試,以識(shí)別出那些暴露在外部網(wǎng)絡(luò)中,卻屬于系統(tǒng)內(nèi)部的漏洞和弱點(diǎn)。
此類測試通常會(huì)針對防火墻的配置、防火墻的繞過、IPS的欺騙、以及DNS級(jí)別的毒化攻擊等網(wǎng)絡(luò)攻擊。而為了實(shí)現(xiàn)自動(dòng)化漏洞掃描的測試過程,安全人員往往會(huì)使用市面上常見的知名工具(下文將提到),去掃描和檢測目標(biāo)系統(tǒng)中的已知漏洞。當(dāng)然,他們也會(huì)將手動(dòng)利用技術(shù)與自動(dòng)化工具相結(jié)合,針對檢測到的漏洞弱點(diǎn),發(fā)起模擬攻擊,并旨在完全接管那些面向互聯(lián)網(wǎng)的系統(tǒng)。
內(nèi)部網(wǎng)絡(luò)滲透測試:此類測試旨在通過漏洞掃描,檢測并識(shí)別內(nèi)部系統(tǒng),發(fā)現(xiàn)基礎(chǔ)設(shè)施中的網(wǎng)絡(luò)安全弱點(diǎn),進(jìn)而采用各種利用技術(shù),來查看內(nèi)部系統(tǒng)的響應(yīng)行為。內(nèi)部網(wǎng)絡(luò)滲透測試會(huì)從根本上去評(píng)估內(nèi)部系統(tǒng)、以及組織員工遭受未授權(quán)、或惡意攻擊的可能性。其中包括:潛在的未經(jīng)授權(quán)的訪問,個(gè)人信息與信任憑據(jù)的泄漏等方面。
無線滲透測試:黑客或攻擊者通過無線的方式,滲透進(jìn)目標(biāo)系統(tǒng),在威脅內(nèi)網(wǎng)安全的同時(shí),利用獲取到的特權(quán),去訪問各類敏感信息,進(jìn)而對系統(tǒng)的正常運(yùn)行造成不利的影響。
Web應(yīng)用滲透測試
作為組織的一個(gè)重要組成部分與功能,Web應(yīng)用程序一旦受到攻擊就可能導(dǎo)致用戶數(shù)據(jù)、以及商業(yè)敏感信息的泄露。因此,針對Web應(yīng)用程序的滲透測試,會(huì)去檢查現(xiàn)有網(wǎng)絡(luò)中的應(yīng)用程序,是否存在著由錯(cuò)誤或不安全的開發(fā)、薄弱的設(shè)計(jì)、以及不當(dāng)?shù)木幊?,所引起的任何漏洞或安全隱患。
您可以通過鏈接--https://dzone.com/articles/web-application-pen-testing-steps-methods-and-tool,了解更多有關(guān)Web應(yīng)用程序滲透測試的步驟、方法和工具。
移動(dòng)應(yīng)用滲透測試
移動(dòng)應(yīng)用程序的滲透測試主要是通過模擬黑客嘗試著采用提權(quán)等行為,針對那些在Android、Windows、以及iOS等設(shè)備上運(yùn)行的原生移動(dòng)應(yīng)用、或是由組織自行開發(fā)的應(yīng)用程序開展測試。除了發(fā)現(xiàn)和利用移動(dòng)應(yīng)用中的漏洞,此類測試也會(huì)關(guān)注移動(dòng)應(yīng)用與后端系統(tǒng)在通信和傳輸數(shù)據(jù)時(shí)的安全態(tài)勢。
滲透測試工具
目前,市面上有著全棧式的自動(dòng)化工具,它們能夠讓您高效地開展各種滲透測試。下面,讓我們來討論一些被各個(gè)組織經(jīng)常用到的知名工具:
Kali Linux
顯然,Kali Linux是基于Linux操作系統(tǒng)、且包含了大量工具。它可以被用于從信息收集到產(chǎn)生報(bào)告的,整個(gè)端到端的滲透測試過程。作為一種被廣泛使用的滲透測試平臺(tái),Kali Linux主要關(guān)注的是優(yōu)化進(jìn)攻,而非防守。它不但是一個(gè)開源的項(xiàng)目,而且提供了各種工具列表、版本破解器、以及數(shù)據(jù)元包(meta-packages)。
目前,Kali擁有600多種道德黑客工具,并包含了用于暴力破解密碼的特殊工具。其工具中還包括了:漏洞分析、Web應(yīng)用程序、信息收集、無線攻擊、逆向工程、密碼破解、欺騙、嗅探和其他高級(jí)可利用工具。
Metasploit
作為最常用的自動(dòng)化開發(fā)框架,Metasploit有助于鎖定系統(tǒng),檢測漏洞,進(jìn)而利用漏洞。由于Metasploit屬于開源軟件,因此其GUI不但易用,而且能夠方便測試者管理安全評(píng)估,檢測威脅與缺陷,以便構(gòu)建出強(qiáng)大的安全受控系統(tǒng)。
此外,Metasploit專業(yè)版的元模塊(Metamodule)部分還可以被用于測試網(wǎng)絡(luò)分段,進(jìn)而讓測試者知曉哪些網(wǎng)絡(luò)分段位置可達(dá),哪些不可達(dá)。
Wireshark
作為一種網(wǎng)絡(luò)分析器工具,Wireshark通過提供離線分析和網(wǎng)絡(luò)實(shí)時(shí)捕獲選項(xiàng),來抓取并解析目標(biāo)網(wǎng)絡(luò)的流量。在被用于了解數(shù)據(jù)包流和TCP/IP問題時(shí),它提供了實(shí)時(shí)的數(shù)據(jù)包和網(wǎng)絡(luò)活動(dòng)的詳細(xì)信息。
ZED Attack Proxy
該工具能夠在功能上與最流行的代理與掃描工具BURP套件想媲美,而且它是完全免費(fèi)的。ZAP通過將自己放置于用戶瀏覽器與被測試的網(wǎng)站之間,以創(chuàng)建代理的方式,方便測試人員攔截、修改、甚至替換流量。因此,它非常適合于那些剛開始接觸滲透測試的開發(fā)人員和測試人員。
Aircrack
作為一款開源的軟件,Aircrack主要被用于檢查Wi-Fi的連接場景。而Aircrack NG則是一組工具和軟件套件,可以幫助測試者去“攻擊”或防御無線網(wǎng)絡(luò)。其工具包通常包括:檢測器、數(shù)據(jù)包嗅探器、WEP/WPA破解器等組件。Aircrack主要通過攔截、捕獲、以及讀取數(shù)據(jù)包的模式,來破解無線系統(tǒng)。
John the Ripper(簡稱JTR)
眾所周知,密碼是信息系統(tǒng)中最脆弱的、也是最容易受到攻擊的部分。JTR便是一種可被用于破解密碼的工具。它包括了一個(gè)可定制的破解程序,可識(shí)別不同的密碼哈希值。同時(shí),它可以利用強(qiáng)大的硬件,通過高效的運(yùn)行方式,來提高密碼破解的效率。
您可以通過鏈接https://dzone.com/articles/popular-penetration-testing-tools,了解更加全面的滲透測試工具列表。
滲透測試的成本和預(yù)算
通常,滲透測試的成本和預(yù)算會(huì)受到如下五方面因素的影響,而并非恒定不變的:
- 目標(biāo):大家都知道,我們用于測試小型組織的物理安防,與檢查公用輸電站的安全態(tài)勢的費(fèi)用,肯定是不一樣的。我們的目標(biāo)規(guī)模直接決定了在滲透測試方面的投入。例如,當(dāng)我們從需要測試單個(gè)應(yīng)用程序,升級(jí)為測試包括了內(nèi)、外部網(wǎng)絡(luò)的整體系統(tǒng)時(shí),隨著目標(biāo)數(shù)量的增多和復(fù)雜化,我們的測試成本,包括測試人員的成本,以及需要提供和收集的信息,也會(huì)不斷攀升。
- 范圍:范圍的圈定,有助于組織在確定目標(biāo)的基礎(chǔ)上,讓測試人員或顧問對完成項(xiàng)目所需的時(shí)間,進(jìn)行更加合理的預(yù)估。畢竟測試的持續(xù)時(shí)間和成本是成正比的。例如,面對大型門戶和Web應(yīng)用時(shí),我們將會(huì)比測試簡單用戶網(wǎng)站所花費(fèi)的時(shí)間會(huì)更多,所涉及到的復(fù)雜度與范圍,也會(huì)導(dǎo)致預(yù)算費(fèi)用的上揚(yáng)。
- 方法論:組織所采用的測試方法也會(huì)對費(fèi)用產(chǎn)生影響。一些組織可能會(huì)使用自動(dòng)化的漏洞掃描方式,去開展基本性的測試,并解決基本性的安全問題。而另一些公司則可能會(huì)選擇全棧式的滲透測試方案,以全面檢測威脅、漏洞、及其被利用后所造成的影響。這樣的綜合方法,在成本方面是可想而知的。
- 技能:與其他行業(yè)類似,強(qiáng)大的技術(shù)儲(chǔ)備往往能夠在各種網(wǎng)絡(luò)安全事件的預(yù)防與處置中,發(fā)揮著至關(guān)重要的作用。顯然,與那些基本知識(shí)或可用資源有限的測試團(tuán)隊(duì)相比,打造一支具有雄厚知識(shí)背景、以及熟練實(shí)戰(zhàn)經(jīng)驗(yàn)的顧問與專家隊(duì)伍,雖然更有利于開展和完成全面的滲透測試,并能夠保持系統(tǒng)的安全態(tài)勢,但是團(tuán)隊(duì)的運(yùn)營費(fèi)用也是不菲的。
小結(jié)
在當(dāng)前的跨區(qū)域性協(xié)作式全球經(jīng)濟(jì)環(huán)境中,我們幾乎每天都能夠看到網(wǎng)絡(luò)攻擊事件登上新聞?lì)^條,許多組織往往在事后才后悔自己未能及時(shí)、全面地進(jìn)行滲透測試。因此,面對不斷變化的網(wǎng)絡(luò)環(huán)境,以及層出不窮的漏洞與缺陷,組織應(yīng)當(dāng)將滲透測試常態(tài)化。畢竟,攻擊者在盯上某個(gè)系統(tǒng)時(shí),是不會(huì)公開告知其攻擊意圖的。
我們常說滲透測試并非“一錘子買賣”。在完成了一輪測試之后,組織需要根據(jù)測試所產(chǎn)生的報(bào)告,按需進(jìn)行整改,并在完成之后,重新發(fā)起新的一輪測試,以保持目標(biāo)系統(tǒng)與服務(wù)的安全態(tài)勢,從而給利益相關(guān)者提供在健康運(yùn)營上的信心。
原文標(biāo)題:All You Need To Know About Penetration Testing,作者:Cyril James
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】























