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