« Cisco路由器安全配置必用10條命令51-pass提供最新的000-731題庫下載 »

詳解cisco路由入侵藝術

現在,是數字世界的天下。在喧鬧的數字世界底層,存在壹種精致的次序,這種次序決定著數據的選路、異構介質銜接、協議的交互等功能。而這壹次序的締造者正是布滿整個網絡的路由器。於是,路由器成了數據通信的交通亭,也成為了眾多黑帽(Blackhat)爭奪的目標之壹。

Cisco路由器占據這網絡世界的絕對位置,於是安全焦點效應激發了路由入侵與防禦而產生的精美藝術。下面我將由淺入深的方式講述Cisco入侵的手段以及防禦策略。

【路由器感冒】

路由器從本身的IOS來說,並不是壹個健壯的體系,因而它偶爾也會讓自己感冒發燒。系統感冒發燒起來,抵抗力自然就降低不少。

*IOS自身欺騙

Cisco路由器是用IOS系統來實現路由的細節功能,因此它是路由系統的靈魂。Show命令的在線系統方式卻為我們打開壹個偷窺之門。

眾所周知,Cisco路由器中,壹般用戶只能查看路由器的很少信息。而能進入特權模式的用戶才有資格查看全部信息和修改路由。壹般模式下,show的在線幫助系統不會列表所有可用的命令,雖然75個show的擴展參數只能用於特權模式下(enable),實際上只有13個受到限制。這意味著壹般用戶(非特權用戶)可以查看訪問列表或其他路由安全相關信息。

重要安全相關的ACL信息可以被登錄路由的非特權用戶查看,諸如:

#show access-lists

#show ip prot

#show ip ospf dat

#sh ip eigrp top

等命令可以在非特權模式下泄露網絡敏感信息。通過這些命令,我們能得出路由器配置的大致情況,這對采取進壹步的入侵起到輔助作用。不過由於這種方式需要用戶已經有壹個登錄帳戶,因此得到這樣的信息有壹定難度。

*WCCP暗道

Cisco在IOS 11.2版本中引入WCCP(Web Cache Control Protocol),為Cisco緩存引擎提供協議通信。Cisco緩存引擎為www提供透明緩存服務。緩存引擎用WCCP來和其他cisco路由器通信。路由器把HTTP數據發送到緩存引擎主機中。

雖然這種方式默認是關閉的。假如使能(enable)的話,那麽WCCP本身是沒有認證機制的。路由器將會把每壹個發送合法緩存引擎類型的Hello包的主機認為緩存引擎,於是把HTTP數據緩存到那臺主機。這意味著惡意用戶可以通過這種方式獲取信息。

通過這種方式,攻擊者可以截獲站點認證信息,包括站點密碼;替代實際WEB內容為自己設計的陷阱;通過路由徹底破壞Web提供的服務。這種方式,可以完全規避登錄煩瑣的攻擊方法,對Web提供全面而且致命的打擊。

我們既可關閉WCCP的啟用機制,也可通過ACL阻止WCCP發送HTTP流量給不信任主機來防止這樣的惡劣情況發生。

*HTTP服務的困惑

Cisco在IOS版本加入了遠程管理路由的Web特性,這對於新羽(newbie)的管理員來,無疑是值得高興的事情。但引入方便的同時,隱患也隨之進入。

1.基於拒絕式服務攻擊的HTTP的漏洞

Cisco路由啟用(enable)遠程WEB管理,很容易遭受DoS。這種DoS能導致路由器停止對網絡請求的響應。這是功能是Cisco路由的內嵌功能。但啟用這個特性,通過構造壹個簡單的Http請求就會造成DoS攻擊:

http:///%%

這種請求導致路由停止響應,甚至引起路由器執行硬重置(hard reset)。

2.基於HTTP服務器查詢的漏洞

Cisco 安全建議小組在2000年10月30日公布了這個漏洞。IOS 11.0引入通過Web方式管理路由。“?”是HTML規範中定義的CGI參數的分界符。它也被IOS命令行接口解釋成請求幫助。在IOS 12.0中,當問號鄰接於“/”,URL解釋器就不能正確解釋其含義。當壹個包括“?/”的URL對路由器HTTP服務器進行請求,並且提供壹個有效的啟用口令,則路由器進入死循環。因而引起路由崩潰並重起。

如果http起用,瀏覽

http://route_ip_addr/anytest?/

並且提供特權口令,則可以導致DoS攻擊,導致路由停機或者重啟。

除了讓路由死亡之外,Http額外提供了壹種可怕權限提升的漏洞,如下所論。

3.Cisco IOS 認證漏洞

當HTTP服務器啟用並且使用本地用戶認證方式。在某些條件,可以繞過認證並執行設備上的任何命令。用戶可以對設備完全的控制。所有命令都將以最高特權執行(level 15)。

使用username 和password的路由設備帳戶認證方式,構造如下URL:

http://router_ip_addr/level/xx/exec/….

(註:xx代表16至99之間的84種不同的組合攻擊,因為路由器硬件類型眾多,而IOS版本也存在不同,因此針對不同的路由器類型,攻擊組合數字不同。)

通過這種方式,攻擊者可以完全控制路由並可以改變路由表配置。這種可怕的事實讓網管也感到驚悸。這種完整的控制方式將是網站數據通信樞紐的致命壹擊。

雖然Http漏洞帶來如此之多的漏洞,但這種漏洞最主要原因是因為啟用http服務器管理路由的緣故,由於這種管理是種命令行方式的替代物,因此對於熟練的網管來說,沒有必要啟動這種危害性很大的服務。

#no ip http server 的路由配置也成為時髦的安全配置語句。

【在SNMP中行走】

談到Cisco路由的安全性,我們就必須涉及到SNMP這個看似簡單,實際扮演著重要角色的協議,正因為它的存在,路由器的入侵變的豐富有趣多了。

*SNMP基礎簡介:

每個SNMP啟用的路由設備都包含壹個叫做管理信息模塊(MIB),這是壹種包含簡單等級的數據目錄結構,在這種樹結構中包含設備各種信息。SNMP基本的命令GET,可以檢索MIB的信息,而SET命令則可設置MIB變量。壹種用於監控和管理CISCO路由的的軟件工具是MRTG。

在路由器中配置SNMP的方法如下:

(conf)#snmp-server community readonly RO

(conf)#snmp-server community readwrite RW

SNMP協議通過社區(community)字串的概念賦予對設備MIB對象訪問的權限。上例中,設置了只讀訪問的社區字串readonly和可進行讀寫操作的readwrite社區字串。而大部分管理員喜歡使用public和private設置只讀字串和讀寫字串,疏不知,這樣輕易的結果將給網絡帶來巨大的波動。 通過SNMP我們可以方便管理和監控Cisco的設備,同時也給攻擊者帶來可乘之機。

*Cisco IOS軟件SNMP讀寫ILMI社區字串漏洞

ILMI是壹個獨立的工業標準,用於配置ATM接口。MIB是壹個樹形結構,包括操作(只讀)數據以及配置(讀寫)選項。在有漏洞的設備上,通過在SNMP請求中指定壹個ILMI社團字符串,可以訪問整個樹形管理結構中三個特定部分的對象:MIB-II系統組,LAN-EMULATION-CLIENT MIB以及PNNI(Private Network-to-Network Interface)MIB。每壹部分的子集對象都可以使用相同的“ILMI”社團字符串修改。

MIB-II系統組包括設備本身的基本信息。能被修改對象的數目雖然是有限的。例如包括:

system.sysContact.

system.sysLocation.

system.sysName.

Cisco IOS軟件版本11.x和12.0允許使用壹個非文檔的ILMI社區字串未經授權就查看和修改某些SNMP對象。其中就包括諸如上面所說的"sysContact","sysLocation",和"sysName"對象,雖然修改它們不會影響設備的正常操作,但如果意外修改可能會產生混亂。剩下的對象包含於LAN-EMULATION-CLIENT和PNNI MIBs,修改這些對象可以影響ATM配置。如果沒有防止未授權使用ILMI社團字符串,壹臺有漏洞的路由器可能會遭受DoS攻擊。

如果SNMP請求可以被有漏洞的設備接收,那麽沒有適當授權,就可以訪問某些MIB對象,違背了保密性。沒有授權就可以修改可讀MIB對象的子集,破壞了完整性。而更具有危害性的方法是向SNMP端口發送大量的讀和寫請求。有漏洞的設備,如果沒有防範接收SNMP包的措施,就會遭受DoS攻擊,導致路由重載。

文章如轉載,請註明轉載自:blog.51-pass.com

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。