返回列表 回復 發帖

cisco路由器入侵

cisco路由器入侵
奔流不息的網路裏,Web綻放著絢麗的色彩、電子郵件呼哧的穿梭網際、語音電話、網路會議、檔傳輸,各種數據交織錯落,形成輝煌的數字世界。在喧鬧的數字世界底層,存在一種精緻的次序,這種次序決定著數據的選路、異構介質銜接、協議的交互等功能。而這一次序的締造者正是佈滿整個網路的路由器。於是,路由器成了數據通信的交通亭,也成為了眾多黑帽(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,至於如何配置其用於Cisco設備的監控可以參閱LOG的《怎樣在Windows NT/2K下安裝MRTG》一文(http://www.2hackers.org/cgi-bin/2hb/topic.cgi?forum=7&topic=212)。

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

(conf)#snmp-server community readonly RO

(conf)#snmp-server community readwrite RW

SNMP協議通過社區(community)字串的概念賦予對設備MIB對象訪問的許可權。上例中,設置了只讀訪問的社區字串readonly和可進行讀寫操作的readwrite社區字串。而大部分管理員喜歡使用public和private設置只讀字串和讀寫字串,疏不知,這樣輕易的結果將給網路帶來巨大的波動。我們可以在【觸及RouterKit】部分清楚認識到這種危害。

通過SNMP我們可以方便管理和監控Cisco的設備(參閱Log文章介紹),同時也給攻擊者帶來可乘之機。

*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攻擊,導致路由重載。
返回列表