各类环境渗透测试简述
生活随笔
收集整理的這篇文章主要介紹了
各类环境渗透测试简述
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
各類環境滲透測試簡述
一、滲透測試概念 滲透測試 (penetration test)并沒有一個標準的定義,國外一些安全組織達成共識的通用說法是:滲透測試是通過模擬惡意黑客的攻擊方法,來評估計算機網絡系統安全的一種評估方 法。這個過程包括對系統的任何弱點、技術缺陷或漏洞的主動分析,這個分析是從一個攻擊者可能存在的位置來進行的,并且從這個位置有條件主動利用安全漏洞。 滲透測試還具有的兩個顯著特點是: 滲透測試是一個漸進的并且逐步深入的過程。 滲透測試是選擇不影響業務系統正常運行的攻擊方法進行的測試。 滲透測試完全模擬黑客可能使用的攻擊技術和漏洞發現技術,對目標系統的安全做深入的探測,發現系統最脆弱的環節,能直觀的讓管理員知道自己網絡所面臨的問題。所以滲透測試是安全評估的方法之一。 TIPS:安全評估通常包括工具評估、人工評估、顧問訪談、問卷調查、應用評估、管理評估、網絡架構評估、滲透測試等。 滲透測試與其他評估方法的區別: 通常評估方法是根據已知信息資產或其他被評估對象,去發現所有相關的安全問題。滲透測試是根據已知可利用的安全漏洞,去發現是否存在相應的信息資產,通常評估方法對評估結果更具有全面性,滲透測試則更注重安全漏洞的嚴重性。 滲透測試一方面可以從攻擊者的角度,檢驗業務系統的安全防護措施是否有效,各項安全策略是否得到貫徹落實;另一方面可以將潛在的安全風險以真實事件的方式 凸現出來,從而有助于提高相關人員對安全問題的認識水平。滲透測試結束后,立即進行安全加固,解決測試發現的安全問題,從而有效地防止真實安全事件的發 生。
二、滲透測試分類
根據滲透方法和視角分類,滲透測試可以分為——
A、黑箱測試“zero-knowledge testing”/(黑盒子Black Box) ? 滲透者完全處于對系統一無所知的狀態。除了被測試目標的已知公開信息外,不提供任何其他信息。一般只從組織的外部進行滲透測試。 通常,這種類型的測試,最初的信息獲取來自DNS、Web、Email及各種公開對外的服務器。
B、白盒測試 測試者可以通過正常渠道向被測單位取得各種資料,包括網絡拓撲、員工資料甚至網站或其他程序的代碼片段,也能與單位其他員工進行面對面的溝通。通常包括從組織外部和從組織內部兩種地點進行滲透測試。這類測試的目的是模擬企業內部雇員的越權操作。
C、灰盒子(Gray Box) 介于以上兩者之間 較為隱秘的進行測試。通常,接受滲透測試的單位網絡管理部門會收到通知:在某些時間段進行測試。因此能夠檢測網絡中出現的變化。 但在隱秘測試中,被測單位也僅有極少數人知曉測試的存在,因此能夠有效地檢驗單位中的信息安全事件監控、響應、恢復做得是否到位。
根據滲透目標分類,滲透測試又可以分為——
1)主機操作系統滲透 windows、solaris、aix、linux、sco、sgi
2)數據庫系統滲透 mssql、oracle、mysql、informix、sybase
3)應用系統滲透 滲透目標提供的各種應用,如asp、cgi、jsp、php等組成的www應用
4)網絡設備滲透 各種防火墻、入侵檢測系統、網絡設備
三、滲透測試過程
信息收集、分析→制訂滲透方案并實施→前段信息匯總、分析→提升權限、內部滲透→滲透結果總結→輸出滲透測試報告→提出安全解決建議
TIPS:
時間選擇 為減輕滲透測試對網絡和主機的影響,滲透測試時間盡量安排在業務量不大的時段和晚上
策略選擇 為防止滲透測試造成網絡和主機的業務中斷,在滲透測試中不使用含有拒絕服務的測試策略 對于不能接受任何可能風險的主機系統,如銀行票據核查系統、電力調度系統等,可選擇如下保守策略: 復制一份目標環境,包括硬件平臺、操作系統、數據庫管理系統、應用軟件等。對目標的副本進行滲透測試
授權滲透測試的監測手段 在評估過程中,由于滲透測試的特殊性,用戶可以要求對整體測試流程進行監控 測試方自控:由滲透測試方對本次滲透測試過程中的三方面數據進行完整記錄:操作、響應、分析,最終形成完整有效的滲透測試報告提交給用戶
用戶監控:用于監控有4種形式 全程監控:采用類似ethereal的嗅探軟件進行全程抓包嗅探 擇要監控:對掃描過程不進行錄制,僅僅在安全工程師分析數據后,準備發起滲透前才開啟軟件進行嗅探 主機監控:僅監控受測主機的存活狀態,避免意外情況發生 指定攻擊源:用戶指定由特定攻擊源地址進行攻擊,該源地址的主機由用戶進行進程、網絡連接、數據傳輸等多方監控 制定實施方案 實施方案應當由測試方與客戶之間進行溝通協商。一開始測試方提供一份簡單的問卷調查了解客戶對測試的基本接收情況。內容包括但不限于如下: 目標系統介紹、重點保護對象及特性。 是否允許數據破壞? 是否允許阻斷業務正常運行? 測試之前是否應當知會相關部門接口人? 接入方式?外網和內網? 測試是發現問題就算成功,還是盡可能的發現多的問題? 滲透過程是否需要考慮社會工程? 在得到客戶反饋后,由測試方書寫實施方案初稿并提交給客戶,由客戶進行審核。在審核完成后,客戶應當對測試方進行書面委托授權。這里,兩部分文檔分別應當包含實施方案部分和書面委托授權部分:
下面串聯講一講各知識點——
1)不同網段/vlan之間的滲透 從某內/外部網段,嘗試對另一網段/vlan進行滲透。 通常可能用到的技術包括:對網絡設備的遠程攻擊;對防火墻的遠程攻擊或規則探測、規避嘗試。 信息的收集和分析伴隨著每一個滲透測試步驟,每一個步驟又有三個組成部分:操作、響應和結果分析。
2)端口掃描 通過對目標地址的tcp/udp端口掃描,確定其所開放的服務的數量和類型,這是所有滲透測試的基礎。 通過端口掃描,可以基本確定一個系統的基本信息,結合安全工程師的經驗可以確定其可能存在,以及被利用的安全弱點,為進行深層次的滲透提供依據。
3)遠程溢出 這是當前出現的頻率最高、威脅最嚴重,同時又是最容易實現的一種滲透方法,一個具有一般網絡知識的入侵者就可以在很短的時間內利用現成的工具實現遠程溢出攻擊。 對于防火墻內的系統同樣存在這樣的風險,只要對跨接防火墻內外的一臺主機攻擊成功,那么通過這臺主機對防火墻內的主機進行攻擊就易如反掌。
4)口令猜測 口令猜測也是一種出現概率很高的風險,幾乎不需要任何攻擊工具,利用一個簡單的暴力攻擊程序和一個比較完善的字典,就可以猜測口令。 對一個系統賬號的猜測通常包括兩個方面:首先是對用戶名的猜測,其次是對密碼的猜測。
5)本地溢出 指在擁有了一個普通用戶的賬號之后,通過一段特殊的指令代碼獲得管理員權限的方法。 前提:首先要獲得一個普通用戶密碼。也就是說由于導致本地溢出的一個關鍵條件是設置不當的密碼策略。多年的實踐證明,在經過前期的口令猜測階段獲取的普通賬號登錄系統之后,對系統實施本地溢出攻擊,就能獲取不進行主動安全防御的系統的控制管理權限。
6)腳本及應用測試 專門針對web及數據庫服務器進行。據最新技術統計,腳本安全弱點為當前web系統,尤其是存在動態內容的web系統比較嚴重的 安全弱點之一。 利用腳本相關弱點輕則可以獲取系統其他目錄的訪問權限,重則將有可能取得系統的控制權限。因此對于含有動態頁面的web、數據庫等系統,web腳本及應用測試將是必不可少的一個環節。 在web腳本及應用測試中,可能需要檢查的部份包括: ◆檢查應用系統架構,防止用戶繞過系統直接修改數據庫; ◆檢查身份認證模塊,用以防止非法用戶繞過身份認證; ◆檢查數據庫接口模塊,用以防止用戶獲取系統權限; ◆檢查文件接口模塊,防止用戶獲取系統文件; ◆檢查其他安全威脅;
7)無線測試 中國的無線網絡還處于建設時期,但是由于無線網絡的部署簡易,在一些大城市的普及率已經很高了。北京和上海的商務區至少80%的地方都可以找到接入點。 通過對無線網絡的測試,可以判斷企業局域網安全性,已經成為越來越重要的滲透測試環節。 除了上述的測試手段外,還有一些可能會在滲透測試過程中使用的技術,包括:社交工程學、拒絕服務攻擊,以及中間人攻擊。
8)信息收集 網絡信息收集:在這一部還不會直接對被測目標進行掃描,應當先從網絡上搜索一些相關信息,包括Google Hacking, Whois查詢, DNS等信息(如果考慮進行社會工程學的話,這里還可以相應從郵件列表/新聞組中獲取目標系統中一些邊緣信息如內部員工帳號組成,身份識別方式,郵件聯系 地址等)。 目標系統信息收集:通過上面一步,我們應當可以簡單的描繪出目標系統的網絡結構,如公司網絡所在區域,子公司IP地址分布,VPN接入地址等。這里特別要 注意一些比較偏門的 HOST名稱地址,如一些backup開頭或者temp開關的域名很可能就是一臺備份服務器,其安全性很可能做的不夠。從獲取的地址列表中進行系統判斷, 了解其組織架構及操作系統使用情況。最常用的方法的是目標所有IP網段掃描。 端口/服務信息收集:這一部分已經可以開始直接的掃描操作
9)漏洞掃描 這一步主要針對具體系統目標進行。如通過第一步的信息收集,已經得到了目標系統的IP地址分布及對應的域名,并且我們已經通過一些分析過濾出少許的幾個攻擊目標,這時,我們就可以針對它們進行有針對性的漏洞掃描。這里有幾個方面可以進行: 針對系統層面的工具有:ISS, Nessus, SSS, Retina, 天鏡, 極光 針對WEB應用層面的工具有:AppScan, Acunetix Web Vulnerability Scanner, WebInspect, Nstalker 針對數據庫的工具有:ShadowDatabaseScanner, NGSSQuirreL 針對VOIP方面的工具有:PROTOS c07 sip(在測試中直接用這個工具轟等于找死)以及c07 h225, Sivus, sipsak等。 事實上,每個滲透測試團隊或多或少都會有自己的測試工具包,在漏洞掃描這一塊針對具體應用的工具也比較個性化。
10)漏洞利用 有時候,通過服務/應用掃描后,我們可以跳過漏洞掃描部分,直接到漏洞利用。因為很多情況下我們根據目標服務/應用的版本就可以到一些安全網站上獲取針對 該目標系統的漏洞利用代碼,如milw0rm, securityfocus,packetstormsecurity等網站,上面都對應有搜索模塊。實在沒有,我們也可以嘗試在GOOGLE上搜索“應 用名稱 exploit”、“應用名稱 vulnerability”等關鍵字。 針對系統方面:metasploit 針對數據庫方面:xoxo 針對Web服務器方面的工具有:xoxo,明小子
11)Web安全測試 Information Gathering:也就是一般的信息泄漏,包括異常情況下的路徑泄漏、文件歸檔查找等 Business logic testing:業務邏輯處理攻擊,很多情況下用于進行業務繞過或者欺騙等等 Authentication Testing:有無驗證碼、有無次數限制等,總之就是看能不能暴力破解或者說容不容易通過認證,比較直接的就是“默認口令”或者弱口令了 Session Management Testing:會話管理攻擊在COOKIE攜帶認證信息時最有效 Data Validation Testing:數據驗證最好理解了,就是SQL Injection和Cross Site Script等等
12)Web測試的工具 目前網上能夠找到許多能夠用于進行Web測試的工具,根據不同的功能分主要有: 1.枚舉(Enumeration): DirBuster, http-dir-enum, wget 2.基于代理測試類工具:paros, webscarab, Burp Suite 針對WebService測試的部分有一些尚不是很成熟的工具,如:wsbang,wschess,wsmap,wsdigger,wsfuzzer 這一部分值得一提的是,很多滲透測試團隊都有著自己的測試工具甚至是0DAY代碼,最常見的是SQL注入工具,現網開發的注入工具(如NBSI等) 目前都是針對中小企業或者是個人站點/數據庫進行的,針對大型目標系統使用的一些相對比較偏門的數據庫系統(如INFORMIX,DB2)等,基本上還不 涉及或者說還不夠深入。這時各滲透測試團隊就開發了滿足自身使用習慣的測試工具。 針對無線環境的攻擊有:WifiZoo
13)權限提升 在前面的一些工作中,你或許已經得到了一些控制權限,但是對于進一步攻擊來說卻還是不夠。例如:你可能很容易的能夠獲取Oracle數據庫的訪問權 限,或者是得到了UNIX(AIX,HP-UX,SUNOS)的一個基本賬號權限,但是當你想進行進一步的滲透測試的時候問題就來了。你發現你沒有足夠的 權限打開一些密碼存儲文件、你沒有辦法安裝一個SNIFFER、你甚至沒有權限執行一些很基本的命令。這時候你自然而然的就會想到權限提升這個途徑了。 目前一些企業對于補丁管理是存在很大一部分問題的,他們可能壓根就沒有想過對一些服務器或者應用進行補丁更新,或者是延時更新。這時候就是滲透測試人員的好機會了。經驗之談:有一般權限的Oracle賬號或者AIX賬號基本上等于root,因為這就是現實生活
14)密碼破解 有時候,目標系統任何方面的配置都是無懈可擊的,但是并不是說就完全沒辦法進入。很多情況下,往往破壞力最大的攻擊起源于最小的弱點,例如弱口令、目 錄列表、SQL注入繞過論證等等。所以說,對于一些專門的安全技術研究人員來說,這一塊意義不大,但是對于一個滲透測試工程師來說,這一步驟是有必要而且 絕大部分情況下是必須的。 目前網絡中有一種資源被利用的很廣泛,那就是rainbow table技術,說白了也就是一個HASH對應表,有一些網站提供了該種服務,對外宣稱存儲空間大于多少G,像rainbowcrack更是對外宣稱其數據量已經大于1.3T 囧
15)日志清除 這里不展開講。 進一步滲透 攻入了DMZ區一般情況下我們也不會獲取多少用價值的信息。為了進一步鞏固戰果,我們需要進行進一步的內網滲透。到這一步就真的算是無所不用其及。 最常用且最有效的方式就是Sniff抓包(可以加上ARP欺騙)。當然,最簡單的你可以翻翻已入侵機器上的一些文件,很可能就包含了你需要的一些連接帳 號。比如說你入侵了一臺Web服務器,那么絕大部分情況下你可以在頁面的代碼或者某個配置文件中找到連接數據庫的帳號。你也可以打開一些日志文件看一看。 除此之外,你可以直接回到第二步漏洞掃描來進行。
四、生成報告
生成的報告中應當包含:
1.薄弱點列表清單(按照嚴重等級排序) 2.薄弱點詳細描述(利用方法) 3.解決方法建議 4.參與人員/測試時間/內網/外網 5、測試過程中的風險及規避
滲透測試利用網絡安全掃描器、專用安全測試工具和富有經驗的安全工程師的人工經驗對網絡中的核心服務器及重要的網絡設備,包括服務器、網絡設備、防火墻等進行非破壞性質的模擬黑客攻擊,目的是侵入系統并獲取機密信息并將入侵的過程和細節產生報告給用戶。 滲透測試和工具掃描可以很好的互相補充。工具掃描具有很好的效率和速度,但是存在一定的誤報率和漏報率,并且不能發現高層次、復雜、并且相互關聯的安全 問題;滲透測試需要投入的人力資源較大、對測試者的專業技能要求很高(滲透測試報告的價值直接依賴于測試者的專業技能),但是非常準確,可以發現邏輯性更 強、更深層次的弱點。 當具備滲透測試攻擊經驗的人們站到系統管理員的角度,要保障一個大網的安全時,我們會發現,需要關注的問題是完全不同的:從攻方的視角看,是“攻其一點, 不及其余”,只要找到一點漏洞,就有可能撕開整條戰線;但從守方的視角看,卻發現往往“千里之堤,毀于蟻穴”。因此,需要有好的理論指引,從技術到管理都 注重安全,才能使網絡固若金湯。
轉載于:https://www.cnblogs.com/wenyinggz/archive/2012/11/10/2764287.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的各类环境渗透测试简述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Daily Report 2012.11
- 下一篇: Extjs4 radiogroup打开时