使用Metasploit對思科IOS進行滲透測試
原創(chuàng)【51CTO 12月27日外電頭條】開源的Metasploit Framework和商業(yè)化的Metasploit產(chǎn)品提供了網(wǎng)絡(luò)設(shè)備安全評估功能,本文介紹如何使用最新的版本對思科IOS進行滲透測試,開源的Framework需要添加獨立的模塊和支持庫,商業(yè)化產(chǎn)品已經(jīng)包含了這些模塊,因此可以更快速地開始滲透測試,下面的屏幕截圖顯示了一次成功的滲透測試結(jié)果。
圖 1 成功的滲透測試結(jié)果
首先,我想說明的是,經(jīng)過正確配置的思科設(shè)備是很難被攻破的,和其它軟件一樣,思科IOS中也存在漏洞,但只有少數(shù)人能成功利用代碼執(zhí)行中的內(nèi)存泄露漏洞,因此,現(xiàn)實世界中針對IOS的攻擊往往集中在兩方面:配置不當和弱口令。
漏洞掃描器可以通過版本字符串對比確定IOS的陳舊狀態(tài),確定版本號后就可以進一步確定該網(wǎng)絡(luò)設(shè)備是否打了最新補丁,但如果你對IOS了解不深,這個信息也許幫助不大,事實上,在生產(chǎn)環(huán)境中,通常只有很少的服務(wù)暴露在外,包括SNMP,Telnet,SSH和HTTP,你可能還會發(fā)現(xiàn)有Finger或SIP和H.323等媒體協(xié)議,熟悉遠程訪問的人應(yīng)該對前四個協(xié)議相當熟悉了,但在配置路由器允許這些協(xié)議通行時,往往會犯一些低級錯誤,最常見的就是非故意擴大允許的訪問來源。
在一些老版本中,思科IOS HTTP服務(wù)有多個著名的安全漏洞,作為滲透測試人員,我們最關(guān)心的兩個漏洞均與繞過身份證驗證相關(guān),第一個漏洞編號是CVE-2000-0945,在IOS設(shè)備管理界面中身份驗證失蹤了,這個漏洞允許未經(jīng)驗證的,通過Web界面直接訪問IOS全部功能,第二個漏洞編號是CVE-02001-0537,它允許攻擊者繞過在HTTP請求中驗證級別大于15的身份驗證過程,攻擊者可通過Web界面直接獲得設(shè)備的訪問特權(quán),開源的Metasploit Framework現(xiàn)在提供了兩個模塊利用這些漏洞:
/auxiliary/scanner/http/cisco_device_manager
/auxiliary/scanner/http/cisco_ios_auth_bypass
Metasploit Express和Metasploit Pro在發(fā)現(xiàn)掃描期間會自動識別思科IOS HTTP服務(wù),檢查是否存在這兩個缺陷,并利用它們獲取設(shè)備的配置信息。除了這兩個已知的安全漏洞外,設(shè)備密碼也可以通過對HTTP服務(wù)進行暴力破解獲得,相對于Telnet和SSH等基于終端的服務(wù),HTTP服務(wù)更容易遭暴力破解。Metasploit Express和Metasploit Pro在成功暴力破解HTTP服務(wù)后,它們可以進一步獲得運行中的設(shè)備配置。
下一個我想討論的服務(wù)是SNMP,說來也奇怪,SNMP經(jīng)常出現(xiàn)在安全路由器上,SNMP協(xié)議作為一種遠程訪問標準協(xié)議,其使用非常廣泛,因此凡是具有監(jiān)控和管理功能的交換機,路由器或其它網(wǎng)絡(luò)設(shè)備,統(tǒng)統(tǒng)都會支持SNMP協(xié)議,最常見的就是用它來監(jiān)控設(shè)備的運行狀態(tài)。
但很多網(wǎng)絡(luò)管理員沒有意識到的是,SNMP暴露的信息不僅很深入,如果SNMP社區(qū)可寫,還可以利用它獲得設(shè)備的完全控制權(quán),在思科IOS中,可寫的SNMP社區(qū)可被用來下載運行中設(shè)備的配置信息,甚至可以用來修改運行配置。禁用了Telnet的路由器和復雜的串行密碼可以通過可寫入SNMP社區(qū)被輕松劫持,Metasploit Framework提供了一個SNMP暴力破解工具,它是一個輔助模塊,它利用通用密碼詞表確定有效的社區(qū),并確定這些社區(qū)是只讀的還是可寫入的,除了基本的暴力破解模塊,MetaSploit現(xiàn)在還包含了一個很厲害的模塊(由社區(qū)志愿者pello提交),這個模塊可以使用可寫入SNMP社區(qū)下載設(shè)備的運行配置。
Metasploit Express和Metasploit Pro使用這兩個模塊自動抓取有漏洞的設(shè)備的配置文件,在發(fā)現(xiàn)掃描期間,SNMP暴力破解工具在后臺啟動,如果它檢查到SNMP社區(qū)可寫,它們將會配置一個本地TFTP服務(wù),下載運行配置文件。由于SNMP協(xié)議現(xiàn)在集成了智能暴力破解組件,除了動態(tài)生成的密碼外 ,它還使用了精心調(diào)整的社區(qū)名單,調(diào)整名單來源于一個很有意思的研究項目,研究人員收集了互聯(lián)網(wǎng)上網(wǎng)絡(luò)管理員們不小心泄露的SNMP社區(qū)字符串,通過分析,找出那些最長使用的密碼,這個項目的研究結(jié)果非常讓人吃驚,我從來沒有想到最常用的SNMP社區(qū)字符串居然是"public@es0"和"private@es0",因為這兩個社區(qū)字符串是思科文檔中舉例時使用的。
我想討論的最后兩個協(xié)議是Telnet和SSH,它們的共同點是可以遠程訪問目標設(shè)備的命令shell,并且是不需要非特權(quán)用戶的,從滲透測試角度來看,它們之間最顯著的區(qū)別是,SSH需要知道遠程目標設(shè)備的用戶名和密碼,而Telnet只需要知道身份驗證的密碼即可,Metasploit Framework也包含了這些協(xié)議的暴力破解模塊,暴力破解成功后,會自動創(chuàng)建一個交互式會話。
Metasploit Express和Metasploit Pro都支持攻擊使用Telnet和SSH協(xié)議的網(wǎng)絡(luò)設(shè)備,在最新版本中,使用的是密碼分析研究項目調(diào)整后的密碼表,它將一些不常用的密碼放在了詞表的前端,在現(xiàn)實世界中這一招往往很靈驗,根據(jù)我們以往的滲透測試經(jīng)驗,很多ISP都給設(shè)備使用了靜態(tài)密碼,并且這些密碼都已被列入暴力破解密碼表。
通過Telnet或SSH協(xié)議在思科IOS設(shè)備上建立一個會話后,商業(yè)產(chǎn)品中的證據(jù)收集功能會自動獲取版本信息,活動用戶列表,并嘗試暴力破解,如果獲得設(shè)備的訪問權(quán),它還會自動轉(zhuǎn)儲系統(tǒng)的其它信息,包括運行配置。
說了這么多,還沒有講到任何新東西,最新版本可以將這些操作鏈接到一起,一氣呵成完成所有滲透測試任務(wù)。到目前為止,有一點我還沒有提到的是,在取得思科IOS配置文件后,我們下一步該做什么呢?我們已經(jīng)知道這些配置文件包含了設(shè)備的運行配置信息,也就是說,它包括了vty密碼,enable密碼,VPN密鑰,SSL證書和Wi-Fi憑據(jù),Metaspoit會自動解析這些配置文件,找出敏感數(shù)據(jù)并保存起來,作為下一步利用的基礎(chǔ)數(shù)據(jù),或是盜取身份驗證證書,下面的屏幕截圖顯示了暴力破解Telnet vty密碼的輸出結(jié)果,然后是enable密碼,再后面是轉(zhuǎn)儲和解析的配置。
圖 2 暴力破解結(jié)果
Metasploit Express和Metasploit Pro可以自動從這些配置文件中回收證書,進一步獲得網(wǎng)絡(luò)上其它設(shè)備的訪問權(quán),如果你通過SNMP社區(qū)攻破了一臺思科設(shè)備,并發(fā)現(xiàn)vty密碼是"cicsorules",你可以使用暴力破解組件通過多種網(wǎng)絡(luò)協(xié)議自動嘗試這個密碼,并可以用這個密碼嘗試訪問其它網(wǎng)絡(luò)設(shè)備,一旦得逞,便可獲得配置文件,并重新開始新的嘗試,也許路由器的vty就是內(nèi)部網(wǎng)站的登錄密碼,或利用獲得的密碼發(fā)動傳統(tǒng)的攻擊,我們的目標是確保我們的用戶可以識別并利用給定網(wǎng)絡(luò)的薄弱環(huán)節(jié)。
原文出處:http://www.net-security.org/article.php?id=1548
原文名:Cisco IOS penetration testing with Metasploit
作者:HD Moore
【51CTO.com譯稿,轉(zhuǎn)載請注明原文作譯者和出處。】
【編輯推薦】