滲透測試方法論
攻擊與防御,攻擊典型代表就是黑客入侵,非法的和滲透測試,合法的等工作。防御的典型代表等級保護(hù)、安全基線檢查與加固、安全設(shè)備等。
滲透測試(penetration testing,pentest)是模擬黑客攻擊,實施安全評估(即審計)的具體手段。方法論是在制定、實施信息安全審計方案時,需要遵循的規(guī)則、慣例和過程。人們在評估網(wǎng)絡(luò)、應(yīng)用、系統(tǒng)或三者組合的安全狀況時,不斷摸索各種務(wù)實的理念和成熟的做法,并總結(jié)了一套理論-滲透測試方法論。
關(guān)鍵詞:
- 安全弱點
- 安全風(fēng)險
- 安全漏洞
滲透測試與紅隊(Red Team)不同:
紅隊是攻擊隊伍,想盡一切辦法入侵目標(biāo)系統(tǒng)。
滲透測試是盡可能的披露目標(biāo)系統(tǒng)的安全弱點、風(fēng)險、漏洞等,任何安全問題都不要放過。
滲透測試的目的是為安全加固,漏洞修復(fù)做準(zhǔn)備
1. 滲透測試種類
黑盒測試、白盒測試和脆弱性評估
黑盒測試
- 不清楚內(nèi)部單位技術(shù)構(gòu)造
- 摸擬黑客攻擊的過程
- 漏洞評級
- 高危
- 中危
- 低危
- 信息級別
白盒測試
- 獲取被測單位全部資料或者有限資料
- 代碼審計(Fortify SCA工具)
- 可以與應(yīng)用的研發(fā)生命周期相結(jié)合(Security Development Lifecycle,SDL)
脆弱性評估
脆弱性評估通過分析企業(yè)資產(chǎn)面臨安全威脅的情況和程度,評估內(nèi)部和外部的的安全控制的安全性。這種技術(shù)上的信息系統(tǒng)評估,不僅揭露現(xiàn)有防范措施里存在的風(fēng)險,而且要提出多重備選的補(bǔ)救策略,并將這些策略進(jìn)行比較。內(nèi)部的脆弱性評估可保證內(nèi)部系統(tǒng)的安全性,而外部的脆弱性評估則是驗證邊界防護(hù)(perimeter defenses)的有效性。無論進(jìn)行內(nèi)部脆弱性評估還是進(jìn)行外部脆弱性評估,評估人員都會采用各種攻擊模式來嚴(yán)格測試網(wǎng)絡(luò)資產(chǎn)的安全性,從而驗證信息系統(tǒng)處理安全威脅的能力,進(jìn)而確定應(yīng)對措施的有效性。不同類型的脆弱性評估需要的測試流程、測試工具和自動化測試技術(shù)也不相同。這可以通過一體化的安全弱點管控(vulnerability management)平臺來實現(xiàn)?,F(xiàn)在的安全弱點管理平臺帶有可自動更新的漏洞數(shù)據(jù)庫,能夠測試不同類型的網(wǎng)絡(luò)設(shè)備,而且不會影響配置管理和變更管理的完整性。
脆弱性評估和滲透測試兩者最大的區(qū)別就是:滲透測試不僅要識別目標(biāo)的弱點,它還涉及在目標(biāo)系統(tǒng)上進(jìn)行漏洞利用、權(quán)限提升和訪問維護(hù)。換句話說,脆弱性評估雖然可以充分發(fā)現(xiàn)系統(tǒng)里的缺陷,但是不會考慮去衡量這些缺陷對系統(tǒng)造成的危害。另外,相比脆弱性評估,滲透測試更傾向于入侵,會刻意使用各種技術(shù)手段利用安全漏洞;所以滲透測試可能對生產(chǎn)環(huán)境帶來實際的破壞性影響。而脆弱性評估以非入侵的方式,定性、定量得識別已知安全弱點。
關(guān)鍵點:
- 黑盒測試=安全弱點、風(fēng)險、漏洞的發(fā)現(xiàn)+漏洞利用+后滲透
- 脆弱性評估=安全弱點、風(fēng)險、漏洞的發(fā)現(xiàn)
- 脆弱性評估的方法,包括漏同掃描,手工挖掘。
2. 安全測試方法論
開放式Web應(yīng)用程序安全項目(Opeh Web Application Security Project,OWASP)
- Web安全測試指南
- OWASP WebGoat
- OWASP TOP10國外
- 2021 OWASP TOP 10 — OWASP-CHINA
2.1 OWASP TOP 10
- 1、失效的訪問控制:
用戶越權(quán)
- 2、加密機(jī)制失效:
一個應(yīng)用程序使用自動化的數(shù)據(jù)加密系統(tǒng)加密存儲中數(shù)據(jù)庫中的信用卡號。但是,這些數(shù)據(jù)在檢索時會自動解密這就使得SQL注入漏洞以明文形式獲得信用卡號。
在賬號登錄時,密碼以密文的形式存儲防止管理員在數(shù)據(jù)維護(hù)的時候無意間造成密碼泄露
- 3、注入:
SQL注入
- 4、不安全的設(shè)計:
業(yè)務(wù)邏輯漏洞
比如說:windows系統(tǒng)忘記密碼的時候,設(shè)置了安全問題,只要安全問題答對了,就進(jìn)入了系統(tǒng)
如果安全問題設(shè)置的都是關(guān)于家人問題,可以通過社工利用 得到安全問題答案
- 5、安全配置錯誤:
密碼的四分之三原則:大小寫字母,數(shù)字,特殊符號,四個占三個。
- 6、自身缺陷和過失的組件:
phpstudy后門漏洞
- 7、身份識別和身份驗證錯誤:
密碼爆破
自動化威脅 或 撞庫攻擊
撞庫(拿著QQ密碼去登錄蘋果ID)
- 8、軟件和數(shù)據(jù)完整性故障:
Java中使用外部類
不安全的反序列化
- 9、安全日志和監(jiān)控故障:
系統(tǒng)日志問題
- 10、服務(wù)端請求偽造:
SSRF
2.3 CWE
通用缺陷列表(Common Weakness Enumeration,CWE)
漏洞類別的編號:
CWE-89: Improper Neutralization of Special Elements used in an SQL Command (‘SQL Injection’)
CWE-352: Cross-Site Request Forgery (CSRF)
2.4 CVE
通用漏洞與披露(Common Vulnerabilities and Exposures,CVE)
國外的官網(wǎng)
嘗試確定以下漏洞發(fā)生的組件名稱、版本以及漏洞類型
CVE-2020-14882
Oracle WebLogic Server,版本10.3.6.0,12.1.3.0,12.2.1.3,12.2.1.4,14.1.1.0。weblogic未授權(quán)遠(yuǎn)程命令執(zhí)行漏洞
CVE-2020-9484
Apache Tomcat: 10.0.0-M1 to 10.0.0-M4
Apache Tomcat: 9.0.0.M1 to 9.0.34
Apache Tomcat: 8.5.0 to 8.5.54
Apache Tomcat: 7.0.0 to 7.0.103
Tomcat Session(CVE-2020-9484)反序列化漏洞
CVE-2020-1938
Apache Tomcat 9.x < 9.0.31
Apache Tomcat 8.x < 8.5.51
Apache Tomcat 7.x < 7.0.100
Apache Tomcat 6.x
任意文件讀取漏洞
CVE-2017-11882
Microsoft Office 2007 Service Pack 3、Microsoft Office 2010 Service Pack 2、Microsoft Office 2013 Service Pack 1 和 Office 2016 Microsoft允許攻擊者通過未能正確處理內(nèi)存中的對象(也稱為“Microsoft Office 內(nèi)存損壞漏洞”)在當(dāng)前用戶的上下文中運行任意代碼。
3. 滲透測試流程
3.1 通用滲透測試框架
從技術(shù)管理的角度來看,遵循正規(guī)的測試框架對安全測試極為重要。通用滲透測試框架涵蓋了典型的審計測試工作和滲透測試工作會涉及到的各個階段。
無論是進(jìn)行白盒測試還是黑盒測試,選擇和使用測試步驟都是測試人員的責(zé)任。在測試開始前,測試人員需要根據(jù)目標(biāo)系統(tǒng)的實際環(huán)境和已掌握的相關(guān)目標(biāo)系統(tǒng)的情況,再指定最佳的測試策略。
相關(guān)階段如下:
范圍界定
信息收集
目標(biāo)識別
服務(wù)枚舉
漏洞映射
社會工程學(xué)
漏洞利用
權(quán)限提升
訪問維護(hù)
文檔報告
3.1.1 范圍界定
在開始技術(shù)性安全評估之間,務(wù)必要觀察、研究目標(biāo)環(huán)境的被測范圍。同時還要了解,這個范圍牽扯多少個單位,是單個單位還是多個單位會參與到安全評估的工作中來,在范圍界定階段,需要考慮的典型因素如下:
- 確定目標(biāo)
- 取得授權(quán):
- 應(yīng)當(dāng)采取何種測試方法?
- 有哪些在測試過程中需要滿足的條件?
- 哪些因素可能會限制測試執(zhí)行的過程?
- 需要多久才能完成測試?
- 此次測試應(yīng)當(dāng)達(dá)成什么樣的任務(wù)目標(biāo)?
- 是否是復(fù)測?
3.1.2 信息搜集
外圍信息收集,非接觸式信息收集。
在劃定了測試范圍之后,就需要進(jìn)入信息收集階段。在這個階段,滲透人員需要使用各種公開資源盡可能地
獲取測試目標(biāo)的相關(guān)信息。他們搜集信息的互聯(lián)網(wǎng)渠道主要有:
- 論壇
- 公告板
- 新聞組
- 媒體文章
- 博客
- 社交網(wǎng)絡(luò)
- github
- 其他商業(yè)或非商業(yè)性的網(wǎng)站。
此外,他們也可以借助各種搜索引擎中獲取相關(guān)數(shù)據(jù),如谷歌、雅虎、MSN必應(yīng)、百度等。收集的信息主要包括:
- DNS服務(wù)器
- 路由關(guān)系
- whois數(shù)據(jù)庫
- 電子郵件地址
- 電話號碼
- 個人信息
- 用戶賬戶
收集的信息越多,滲透測試成功的概率越高。
3.1.3 目標(biāo)識別
這個階段的主要任務(wù)是識別目標(biāo)的網(wǎng)絡(luò)狀態(tài)、操作系統(tǒng)和網(wǎng)絡(luò)架構(gòu)。該階段工作旨在完整地展現(xiàn)目標(biāo)網(wǎng)絡(luò)里各種聯(lián)網(wǎng)設(shè)備或技術(shù)的完整關(guān)系,以幫助測試人員在接下來的工作里枚舉目標(biāo)網(wǎng)絡(luò)的各種服務(wù)。
- 掃IP。
- 哪些設(shè)備在線?
- 如何去訪問?
3.1.4 服務(wù)枚舉
這一階段會根據(jù)前面各個階段的成果,進(jìn)一步找出目標(biāo)系統(tǒng)中所有開放的端口。一旦找到了所有開放的端口,就可以通過這些端口來列出目標(biāo)系統(tǒng)上運行的服務(wù)。主機(jī)上開放的端口都有相應(yīng)的服務(wù)程序,對這些信息進(jìn)行深度分析之后,可進(jìn)一步發(fā)掘目標(biāo)網(wǎng)絡(luò)基礎(chǔ)設(shè)施中可能存在的漏洞。
- 掃端口。
- 開放的端口。
- 運行的服務(wù)。
技術(shù)架構(gòu)
Web容器
開發(fā)語言以及框架
前后端分離
3.1.5 漏洞映射
可以根據(jù)已經(jīng)發(fā)現(xiàn)的開放端口和服務(wù)程序,查找、分析目標(biāo)系統(tǒng)中存在的漏洞。如果能夠采用自動和手動這兩種不同的測試方法結(jié)合起來,審計人員對目標(biāo)系統(tǒng)的認(rèn)知就會更為清晰、透徹,并能夠仔細(xì)地檢查任何已知和未知的漏洞。
- 掃漏洞。
- 漏洞挖掘:手工+工具。
- FUZZ測試。
3.1.6 社會工程學(xué)
如果目標(biāo)網(wǎng)絡(luò)沒有直接的入口,欺騙的藝術(shù)將起到拋磚引玉的重要作用。對目標(biāo)組織中的人員進(jìn)行定向攻擊,很有可能幫助我們找到滲透目標(biāo)系統(tǒng)的入口。例如,誘使用戶運行安裝存在后門的惡意程序,就可能為審計
人員的滲透工作形成突破。社會工程學(xué)滲透分為多種不同實現(xiàn)形式。
- 偽裝成網(wǎng)絡(luò)管理員,通過電話要求用戶提供自己的賬戶信息:
- 發(fā)送釣魚郵件來劫持用戶的銀行賬戶:
- 誘使某人出現(xiàn)在某個地點。
在社會工程學(xué)中,達(dá)成同一既定目標(biāo)的實現(xiàn)方式應(yīng)有盡有。需要注意的是,在對目標(biāo)實施欺騙以達(dá)成滲透目標(biāo)之前,多數(shù)情況下需要長時間研究目標(biāo)人員的心理。另外,在開展這個階段的工作之前,您需要研究國內(nèi)的法律是否有關(guān)于社會工程學(xué)的相關(guān)條款。
3.1.7 漏洞利用
在仔細(xì)檢查和發(fā)現(xiàn)目標(biāo)系統(tǒng)中的漏洞之后,就可以使用已有的漏洞利用程序?qū)δ繕?biāo)系統(tǒng)進(jìn)行滲透。審計人員可以把客戶端漏洞利用程序和社會工程學(xué)進(jìn)行結(jié)合,進(jìn)而控制目標(biāo)系統(tǒng)。這個階段的主要任務(wù)是訪問目標(biāo)系統(tǒng)。這個流程可以分為三步,涉及攻擊前、攻擊、攻擊后的相關(guān)行動。
3.1.8 權(quán)限提升
獲取目標(biāo)系統(tǒng)的痙制權(quán)是滲透成功的標(biāo)識。接下來,工程師就可以根據(jù)其所擁有的訪問權(quán)限,在被測系統(tǒng)中自由發(fā)揮。審計人員也可以使用適用于目標(biāo)系統(tǒng)的本地漏洞來提升自己的權(quán)限。只要他們能夠在目標(biāo)系統(tǒng)上運行提權(quán)漏洞利用程序,就可以獲得主機(jī)的超級用戶權(quán)限或者系統(tǒng)級權(quán)限。工程師還可以以該主機(jī)為跳板,進(jìn)一步攻擊局域網(wǎng)絡(luò)。根據(jù)之前滲透范圍的界定(授權(quán)),審計人員接下來會開展的攻擊可能是受限制的,也可能是不受限制。然后,他們很有可能個以各種方式獲得與控制系統(tǒng)有關(guān)的更多信息。具體的說,他們可能是用嗅探手段截獲網(wǎng)絡(luò)數(shù)據(jù)包,破解各種服務(wù)的密碼,在局域網(wǎng)絡(luò)中使用網(wǎng)絡(luò)欺騙手段。所以說,提升權(quán)限的最終目的是獲得目標(biāo)系統(tǒng)的最高訪問權(quán)限。
3.1.9 訪問維護(hù)
多數(shù)情況下,審計人員需要在一段時間內(nèi)維護(hù)他們對目標(biāo)系統(tǒng)的訪問權(quán)限。例如,在演示越權(quán)訪問目標(biāo)系統(tǒng)的時候,安裝后門將節(jié)省重新滲透目標(biāo)系統(tǒng)所耗費的大量時間。這種情況下,訪問維護(hù)將節(jié)約獲取目標(biāo)系統(tǒng)訪問權(quán)限所需要的時間、花費和資源。審計人員可以通過一些秘密的通信隧道,在既定時間內(nèi)維持對目標(biāo)的訪問權(quán)限。這些隧道往往基于特定協(xié)議、代理或者點對點方法的后門程序。這種對系統(tǒng)的訪問方法可以清楚地展示,入侵人員在目標(biāo)系統(tǒng)實施攻擊時隱藏行蹤的具體方法,
- 埋藏后門。
- 隧道技術(shù)。
3.1.10 文檔報告
在滲透測試的最后一個環(huán)節(jié)里,審計人員要記錄、報告并現(xiàn)場演示那些已經(jīng)識別、驗證和利用了的安全漏洞。在被測單位的管理和技術(shù)團(tuán)隊會檢查滲透時使用的方法,并會根據(jù)這些文檔修補(bǔ)所有存在的安全漏洞。所以從道德角度來看,文檔報告的工作十分重要。為了幫助管理人員和技術(shù)人員共同理解、分析當(dāng)前T基礎(chǔ)架構(gòu)中的薄弱環(huán)節(jié),可能需要給不同的部門撰寫不同措辭的書面報告。
3.2 滲透測試執(zhí)行標(biāo)準(zhǔn)
The Penetration Testing Execution Standard
滲透測試執(zhí)行標(biāo)準(zhǔn)包含兩個部分:PTES方法論:PTES技術(shù)指南。
這個標(biāo)準(zhǔn)有滲透測試7個階段的標(biāo)準(zhǔn)組成,可以在任意環(huán)境中進(jìn)行富有成果的滲透測試。
3.2.1 七個階段
- 事前互動
- 情報搜集
- 威脅建模
- 漏洞分析
- 漏洞利用
- 深度利用
- 書面報告
3.2.2 主要特點優(yōu)勢
它是非常全面的滲透測試框架,涵蓋了滲透測試的技術(shù)方面和其他重要方面,如范圍蔓延(scope creep)、報告,以及滲透測試人員保護(hù)自身的方法。
它介紹了多數(shù)測試任務(wù)的具體方法,可指導(dǎo)您準(zhǔn)確測試目標(biāo)系統(tǒng)的安全狀態(tài)。
它匯聚了多名日行一“滲”的滲透測試專家的豐富經(jīng)驗。
它包含了最常用的以及很罕見的相關(guān)技術(shù)。
它淺顯易懂,您可根據(jù)測試工作的需要對相應(yīng)測試步驟進(jìn)行調(diào)整。
3.3 簡化滲透測試流程
簡化的滲透測試流程是在進(jìn)行滲透測試過程中經(jīng)常使用的流程:
3.4 黑客攻擊流程
- 黑客攻擊一般過程:
- C2攻擊過程:
cc 攻擊:dos攻擊(拒絕服務(wù)攻擊)的一種,模擬正常用戶的流程
c2攻擊:Command and Control 命令和控制(遠(yuǎn)程控制)文章來源:http://www.zghlxwxcb.cn/news/detail-667224.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-667224.html
到了這里,關(guān)于滲透測試方法論的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!