1.概述
1.1滲透測試概述
滲透測試(Penetration Test)是指安全工程師盡可能完整摸擬黑客使用的漏洞發(fā)現(xiàn)技術(shù)和攻擊手段,對目標網(wǎng)絡(luò)/系統(tǒng)/主機/應(yīng)用的安全性做深入的探測,發(fā)現(xiàn)系統(tǒng)最脆弱的環(huán)節(jié)的過程,滲透測試能夠直觀的讓管理人員知道自己網(wǎng)絡(luò)面臨的問題。
滲透測試是一種專業(yè)的安全服務(wù),類似于軍隊里的“實戰(zhàn)演習(xí)”或者“沙盤推演”,通過實戰(zhàn)和推演,讓用戶清晰了解目前網(wǎng)絡(luò)的脆弱性、可能造成的影響,以便采取必要的防范措施。
1.2為客戶帶來的利益
從滲透測試中,客戶能夠得到的收益至少有: 1)協(xié)助用戶發(fā)現(xiàn)組織中的安全最短板,協(xié)助企業(yè)有效的了解目前降低風(fēng)險的初始任務(wù); 2)一份文檔齊全有效的滲透測試報告有助于組織IT管理者以案例說明目前安全現(xiàn)狀,從而增強信息安全認知程度,甚至提高組織在安全方面的預(yù)算; 3)信息安全是一個整體工程,滲透測試有助于組織中的所有成員意識到自己崗位同樣可能提高或降低風(fēng)險,有助于內(nèi)部安全的提升; 當然,滲透測試并不能保證發(fā)現(xiàn)目標網(wǎng)絡(luò)中所有的弱點,因此我們不宜片面強調(diào)它的重要性。
2.涉及的技術(shù)
我們簡單介紹滲透測試的各個階段可能會用到的一些工具。
2.1預(yù)攻擊階段
基本網(wǎng)絡(luò)信息獲取
?Ping目標網(wǎng)絡(luò)得到IP地址和ttl等信息
?采用FWtester、hping3等工具進行防火墻規(guī)則探測
?Google、yahoo、baidu等搜索引擎獲取目標信息
?Nmap對網(wǎng)站進行端口掃描并判斷操作系統(tǒng)類型
?Curl獲得目標web基本信息
?Netcraft獲取目標可能存在的域名、web及服務(wù)器信息
?Whois結(jié)果
?Tcptraceroute等traceroute的結(jié)果
?……
常規(guī)漏洞掃描和采用商用軟件進行檢測
?結(jié)合使用xscan與Nessu等商用或免費掃描工個進行漏洞掃描
?采用Solarwind對網(wǎng)絡(luò)設(shè)備等進行發(fā)現(xiàn)
?采用nikto、webinspect等軟件對web常見漏洞進行掃描
?采用如AppDetective之類的商用軟件對數(shù)據(jù)庫進行掃描分析
?……
對Web和數(shù)據(jù)庫應(yīng)用進行分析
?采用Webproxy、SPIKEProxy、webscarab、ParosProxy、Absinthe等工具進行分析
?用Ehtereal進行抓包協(xié)助分析
?用webscan、fuzzer進行SQL注入和XSS漏洞初步分析
?手工檢測SQL注入和XSS漏洞
?采用類似OScanner工具對數(shù)據(jù)庫進行分析
?……
對應(yīng)用分析的注意事項
?檢查應(yīng)用系統(tǒng)架構(gòu)、防止用戶繞過系統(tǒng)直接修改數(shù)據(jù)庫……
?檢查身份認證模塊,防止非法用戶繞過身份驗證
?檢查數(shù)據(jù)庫接口模塊,防止用戶獲取系統(tǒng)權(quán)限
?檢查其他安全威脅
?……
2.2攻擊階段
基于通用設(shè)備、數(shù)據(jù)庫、操作系統(tǒng)和應(yīng)用的攻擊
可以采用各種公開及私有的緩沖區(qū)溢出程序代碼,
基于應(yīng)用的攻擊
基于Web、數(shù)據(jù)庫或特定的B/S或C/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用程序存在的弱點進行攻擊,常見的如SQL注入攻擊、跨站腳本攻擊等。
口令猜解技術(shù)
口令是信息安全里永恒的主題,通過弱口令獲取權(quán)限者不在少數(shù)。進行口令猜解可以用X-scan、Brutus、Hydra、溯雪等工具。
2.3后攻擊階段
口令嗅探與鍵盤記錄
嗅探、鍵盤記錄、木馬等軟件,功能簡單,但要求不被防病毒軟件發(fā)覺,因此通常需要自行開發(fā)或修改。
口令破解
有許多口令破解工具,如L0phtCrack、John the Ripper、Cain等。
2.4其他手法
這里列出的方法,有些可能對用戶的網(wǎng)絡(luò)造成較大的影響(如服務(wù)中斷),有的則與安全管理密切相關(guān),有的則需要到現(xiàn)場才能進行作業(yè),因此通常情況下較少采用。但可以根據(jù)客戶的需求狀態(tài)進行判斷。 ?DoS&DDoS
?客戶端攻擊
?社交工程方法
3.操作中的主要事項
3.1測試前提供給滲透測試者的資料
3.3.1黑箱測試
黑箱測試又被稱為所謂的“zero-knowledge testing”,滲透者完全處于對系統(tǒng)一無所知的狀態(tài),通常這類型測試,最初的信息獲取來自于DNS、Web、Email及各種公開對外的服務(wù)器。
3.1.2白盒測試
白盒測試與黑箱測試恰恰相反,測試者可以通過正常的渠道向被單位取得各種資料,包括網(wǎng)絡(luò)拓撲、員工資料甚至網(wǎng)站或其它程序的代碼片斷,也能夠與單位的其它員工(銷售、程序員、管理者……)進行面對面的交流。這類測試的目的是模擬企業(yè)內(nèi)部雇員的越權(quán)操作。
3.1.3隱秘測試
隱秘測試是對被測單位而言的,通常情況下,接受滲透測試的單位網(wǎng)絡(luò)管理部門會收到通知:在某些時段進行測試,因此能夠監(jiān)測網(wǎng)絡(luò)中出現(xiàn)的變化,但隱性測試則被測單位也僅有極少數(shù)人知曉測試的存在,因此能夠有效地檢驗單位中的信息安全事件監(jiān)控、響應(yīng)、恢復(fù)做得否到位。
3.2攻擊路徑
測試目標不同,涉及需要采用的技術(shù)也會有一定差異,因此下面簡單說明在不同位置、攻擊路徑不同時可能采用的技術(shù)。
3.2.1內(nèi)網(wǎng)測試
內(nèi)網(wǎng)測試指的是滲透測試人員由內(nèi)部網(wǎng)絡(luò)發(fā)起測試,這類測試能夠模擬企業(yè)內(nèi)部違規(guī)操作者的行為。內(nèi)網(wǎng)測試繞過了防火墻的保護。內(nèi)部主要可能采用的滲透方式:
?遠程緩沖區(qū)溢出;
?口令猜測;
?B/S或C/S應(yīng)用程序測試(如果涉及C/S程序測試,需要提前準備相關(guān)客戶端軟件供測試使用)3.2.2外網(wǎng)測試 ?對網(wǎng)絡(luò)設(shè)備的遠程攻擊; ?口令管理安全性測試; ?防火墻規(guī)則試探、規(guī)避; ?Web及其它開放應(yīng)用服務(wù)的安全性測試。
3.2.3不同網(wǎng)段/vian之間的滲透
這種滲透方式是從某內(nèi)/外部網(wǎng)段,嘗試對另一網(wǎng)段/Vlan進行滲透,這類測試通??赡苡玫降募夹g(shù)包括:
這種滲透方式是從某內(nèi)/外部網(wǎng)段,嘗試對另一網(wǎng)段/Vlan進行滲透,這類測試通??赡苡玫降募夹g(shù)包括: ?對網(wǎng)絡(luò)設(shè)備的遠程攻擊; ?對防火墻的遠程攻擊或規(guī)則探測、規(guī)則嘗試;
3.3實施流程
3.3.1滲透測試流程
3.3.2實施方案制定、客戶書面同意
合法性即客戶書面授權(quán)委托,并同意實施方案是進行滲透測試的必要條件。滲透測試首先必須將實施方法、實施時間、實施人員、實施工具等具體的實施方案提交給客戶,并得到客戶的相應(yīng)書面委托和授權(quán)。
應(yīng)該做到客戶對滲透測試所有細節(jié)和風(fēng)險的知曉,所有過程都在的控制下進行,這也是專業(yè)滲透測試與黑客入侵本質(zhì)的不同。3.3.3信息收集分析
信息收集是每一步滲透攻擊的前提,通過信息收集可以有針對性地制定模擬攻擊測試計劃,提高模擬攻擊的成功率,同時可以有效的降低攻擊測試對系統(tǒng)正常運行造成的不利影響。
信息收集的方法包括Ping sweep、DNS Sweep、DNS zone transfer、操作系統(tǒng)指紋判別、賬號掃描、配置判別等。信息收集常用的工具包括商業(yè)網(wǎng)絡(luò)安全漏洞掃描軟件(例如:極光),免費安全檢測工具(例如:NMAP、NESSUS),操作系統(tǒng)內(nèi)置的許多功能(例如:TELNET、NSLOOKUP、IE等)也可能作為信息收集的有效工具。
3.3.4內(nèi)部計劃制定、二次確認
根據(jù)客戶設(shè)備范圍和項目時間計劃,并結(jié)合前一步的信息收集得到的設(shè)備存活情況、網(wǎng)絡(luò)拓撲情況以及掃描得到的服務(wù)開放情況、漏洞情況制定內(nèi)部的詳細實施計劃。具體包括每個地址下一步可能采用的測試手段,詳細時間安排,并將以下一步工作的計劃和時間安排與客戶進行確認。
3.3.5取得權(quán)限、提升權(quán)限
通過初步的信息收集分析,存在兩種可能,一種是目標系統(tǒng)存在重在的安全弱點,測試可能直接控制目標系統(tǒng);另一種是目標系統(tǒng)沒有遠程重大的安全弱點,但是可以獲得普通用戶權(quán)限,這時可以通過該用戶權(quán)限進一步收集目標系統(tǒng)信息。接下來盡最大努力取得超級用戶權(quán)限、收集目標主機資料信息,尋求本地權(quán)限提升的機會。這樣不停的進行信息收集分析、權(quán)限提升的結(jié)果形成了整個滲透測試過程。
3.3.6生成報告
滲透測試之后,測試者將會提供一份滲透測試報告。報告將會十分詳細的說明滲透測試過程中得到的數(shù)據(jù)和信息,并且將會詳細的紀錄整個滲透測試的全部操作。
3.4風(fēng)險規(guī)避措施、
3.4.1滲透測試時間與策略
3.4.1.1時間選擇
為減輕滲透測試對網(wǎng)絡(luò)和主機的影響,滲透測試時間盡量安排在業(yè)務(wù)量不大的時段或晚上。(時間可以協(xié)調(diào))
3.4.1.2攻擊策略集選擇
為防止?jié)B透測試造成網(wǎng)絡(luò)和主機的業(yè)務(wù)中斷,在滲透測試中不使用含有拒絕服務(wù)的測試策略。
3.4.1.3保守策略選擇
對于不能接受任何可能風(fēng)險的主機系統(tǒng),如銀行票據(jù)核查系統(tǒng)、電力調(diào)度系統(tǒng)等,可選擇如下保守策略: ?復(fù)制一份目標環(huán)境,包括硬件平臺、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用軟件等。 ?對目標的副本進行滲透測試。
3.4.2系統(tǒng)備份和恢復(fù)
3.4.2.1系統(tǒng)備份
為防止在滲透測試過程中出現(xiàn)的異常發(fā)問,所有被評估系統(tǒng)均應(yīng)在被評估之前作一次完整的系統(tǒng)備份或者關(guān)閉正在進行的操作,以便系統(tǒng)發(fā)生災(zāi)難后及時恢復(fù)。
3.4.2.2系統(tǒng)恢復(fù)
在滲透測試過程中,如果出現(xiàn)被評估系統(tǒng)沒有響應(yīng)或中斷的情況,應(yīng)當立即停止測試工作,與客戶方配合人員一起分析情況,在確定原因后,及時恢復(fù)系統(tǒng),并采取必要的預(yù)防措施(比如調(diào)整測試策略)之后,確保對系統(tǒng)無影響,并經(jīng)客戶方同意之后才可能繼續(xù)進行。
3.4.3工程中合理溝通的保證
在工程實施過程中,確定不同階段的測試人員以及客戶方的配合人員,建立直接溝通的渠道,并在工程出現(xiàn)難題的過程中保持合理溝通。
3.4.4系統(tǒng)檢測
在評估過程中,由于滲透測試的特殊性,用戶可以要求對整體測試流程進行監(jiān)控(可能提高滲透測試的成本)。
3.4.4.1測試方自控
由測試者對本次測試過程中的三方面數(shù)據(jù)進行完整記錄
?操作;
?響應(yīng);
?分析。
最終形成完整有效的滲透測試報告提交給用戶。
3.4.4.2用戶監(jiān)控
可以用三種形式:
?全程監(jiān)控:采用類似Ethereal或Sniffer Pro的嗅探軟件進行全程抓包嗅探。優(yōu)點是全過程都能完整記錄。缺點是數(shù)據(jù)量太大,不易分析;需要大容量存儲設(shè)備。
?擇要監(jiān)控:對掃描過程不進行建制,僅僅在安全工程師分析數(shù)據(jù)后,準備發(fā)起滲透前,才開啟類似Ethereal或Sniffer Pro的嗅探軟件進行嗅探。
?主機監(jiān)控:僅監(jiān)控受測主機的存活狀態(tài),避免意外情況的發(fā)生,目前國內(nèi)應(yīng)用比較多的是這種監(jiān)控手段。
3.5其他
?測試前將所有工具的漏洞數(shù)據(jù)庫都升級至最新版本;
?測試時最好通過專門的滲透測試代理服務(wù)器進行操作,在代理服務(wù)器可以方便進行操作的監(jiān)控,也能夠為客戶提供一個專門用于滲透測試的IP地址;
?后攻擊階段的操作如果確實必要,也應(yīng)該先知會客戶,然后進行操作。
4.滲透測試實施及報表輸出
4.1實際操作過程
4.1.1預(yù)攻擊階段的發(fā)現(xiàn)
?目標主機系統(tǒng)情況探測
1)操作系統(tǒng)類型
探明:使用windows 2000操作系統(tǒng),IIS為5.0
2)開放端口
3)可利用服務(wù)情況:WEB服務(wù)(80),數(shù)據(jù)庫服務(wù)(SQL server 2000)
4.1.2攻擊階段的操作
尋找腳本漏洞
存在可以被利用的安全漏洞。
獲得遠程主機交互界面
尋找上傳文件方式:tftp方式、ftp方式
4.1.3后攻擊階段可能造成的影響
攻擊者如果成功完成這一步后,可以做的工作包括:獲取shell,并嘗試提升權(quán)限,破解口令,裝載木馬,口令嗅探等,甚至有可能滲透管理員或企業(yè)內(nèi)部網(wǎng)絡(luò)的機器等。
?獲得管理員權(quán)限
4.2滲透測試報告
詳細記錄描述滲透測試過程,提出加固建議。
5.結(jié)束語
本測試方案用簡潔的方式說明了滲透測試的操作過程。
一、項目背景隨著信息系統(tǒng)的不斷建設(shè)和信息設(shè)備的不斷增多,面對
1、系統(tǒng)安全設(shè)計原則 由于在網(wǎng)絡(luò)環(huán)境下,任何用戶對任何資源
1.概述1.1滲透測試概述 滲透測試(Penetratio…
項目背景:隨著某公司信息化建設(shè)的迅速發(fā)展,特別是面向全國、面
029-63648670
zoyink@zoyink.com
關(guān)注
官方微信