*IOS自身欺騙
Cisco路由器是用IOS系統(tǒng)來(lái)實(shí)現(xiàn)路由的細(xì)節(jié)功能,因此它是路由系統(tǒng)的靈魂。Show命令的在線系統(tǒng)方式卻為我們打開(kāi)一個(gè)偷窺之門(mén)。
眾所周知,Cisco路由器中,一般用戶(hù)只能查看路由器的很少信息。而能進(jìn)入特權(quán)模式的用戶(hù)才有資格查看全部信息和修改路由。一般模式下,show的在線幫助系統(tǒng)不會(huì)列表所有可用的命令,雖然75個(gè)show的擴(kuò)展參數(shù)只能用于特權(quán)模式下(enable),實(shí)際上只有13個(gè)受到限制。這意味著一般用戶(hù)(非特權(quán)用戶(hù))可以查看訪問(wèn)列表或其他路由安全相關(guān)信息。
重要安全相關(guān)的ACL信息可以被登錄路由的非特權(quán)用戶(hù)查看,諸如:
#show access-lists
#show ip prot
#show ip ospf dat
#sh ip eigrp top
等命令可以在非特權(quán)模式下泄露網(wǎng)絡(luò)敏感信息。通過(guò)這些命令,我們能得出路由器配置的大致情況,這對(duì)采取進(jìn)一步的入侵起到輔助作用。不過(guò)由于這種方式需要用戶(hù)已經(jīng)有一個(gè)登錄帳戶(hù),因此得到這樣的信息有一定難度。
*WCCP暗道
Cisco在IOS 11.2版本中引入WCCP(Web Cache Control Protocol),為Cisco緩存引擎提供協(xié)議通信。Cisco緩存引擎為www提供透明緩存服務(wù)。緩存引擎用WCCP來(lái)和其他cisco路由器通信。路由器把HTTP數(shù)據(jù)發(fā)送到緩存引擎主機(jī)中。
雖然這種方式默認(rèn)是關(guān)閉的。假如使能(enable)的話,那么WCCP本身是沒(méi)有認(rèn)證機(jī)制的。路由器將會(huì)把每一個(gè)發(fā)送合法緩存引擎類(lèi)型的Hello包的主機(jī)認(rèn)為緩存引擎,于是把HTTP數(shù)據(jù)緩存到那臺(tái)主機(jī)。這意味著惡意用戶(hù)可以通過(guò)這種方式獲取信息。
通過(guò)這種方式,攻擊者可以截獲站點(diǎn)認(rèn)證信息,包括站點(diǎn)密碼;替代實(shí)際WEB內(nèi)容為自己設(shè)計(jì)的陷阱;通過(guò)路由徹底破壞Web提供的服務(wù)。這種方式,可以完全規(guī)避登錄煩瑣的攻擊方法,對(duì)Web提供全面而且致命的打擊。
我們既可關(guān)閉WCCP的啟用機(jī)制,也可通過(guò)ACL阻止WCCP發(fā)送HTTP流量給不信任主機(jī)來(lái)防止這樣的惡劣情況發(fā)生。
*HTTP服務(wù)的困惑
Cisco在IOS版本加入了遠(yuǎn)程管理路由的Web特性,這對(duì)于新羽(newbie)的管理員來(lái),無(wú)疑是值得高興的事情。但引入方便的同時(shí),隱患也隨之進(jìn)入。
1.基于拒絕式服務(wù)攻擊的HTTP的漏洞
Cisco路由啟用(enable)遠(yuǎn)程WEB管理,很容易遭受DoS。這種DoS能導(dǎo)致路由器停止對(duì)網(wǎng)絡(luò)請(qǐng)求的響應(yīng)。這是功能是Cisco路由的內(nèi)嵌功能。但啟用這個(gè)特性,通過(guò)構(gòu)造一個(gè)簡(jiǎn)單的Http請(qǐng)求就會(huì)造成DoS攻擊:
http://<;router-ip>/%%
這種請(qǐng)求導(dǎo)致路由停止響應(yīng),甚至引起路由器執(zhí)行硬重置(hard reset)。
2.基于HTTP服務(wù)器查詢(xún)的漏洞
Cisco 安全建議小組在2000年10月30日公布了這個(gè)漏洞。IOS 11.0引入通過(guò)Web方式管理路由。”?”是HTML規(guī)范中定義的CGI參數(shù)的分界符。它也被IOS命令行接口解釋成請(qǐng)求幫助。在IOS 12.0中,當(dāng)問(wèn)號(hào)鄰接于”/”,URL解釋器就不能正確解釋其含義。當(dāng)一個(gè)包括”?/”的URL對(duì)路由器HTTP服務(wù)器進(jìn)行請(qǐng)求,并且提供一個(gè)有效的啟用口令,則路由器進(jìn)入死循環(huán)。因而引起路由崩潰并重起。
如果http起用,瀏覽
http://route_ip_addr/anytest?/ ;
并且提供特權(quán)口令,則可以導(dǎo)致DoS攻擊,導(dǎo)致路由停機(jī)或者重啟。
除了讓路由死亡之外,Http額外提供了一種可怕權(quán)限提升的漏洞,如下所論。
3.Cisco IOS 認(rèn)證漏洞
當(dāng)HTTP服務(wù)器啟用并且使用本地用戶(hù)認(rèn)證方式。在某些條件,可以繞過(guò)認(rèn)證并執(zhí)行設(shè)備上的任何命令。用戶(hù)可以對(duì)設(shè)備完全的控制。所有命令都將以最高特權(quán)執(zhí)行(level 15)。
使用username 和password的路由設(shè)備帳戶(hù)認(rèn)證方式,構(gòu)造如下URL:
http://router_ip_addr/level/xx/exec/….
(注:xx代表16至99之間的84種不同的組合攻擊,因?yàn)槁酚善饔布?lèi)型眾多,而IOS版本也存在不同,因此針對(duì)不同的路由器類(lèi)型,攻擊組合數(shù)字不同。)
通過(guò)這種方式,攻擊者可以完全控制路由并可以改變路由表配置。這種可怕的事實(shí)讓網(wǎng)管也感到驚悸。這種完整的控制方式將是網(wǎng)站數(shù)據(jù)通信樞紐的致命一擊。
雖然Http漏洞帶來(lái)如此之多的漏洞,但這種漏洞最主要原因是因?yàn)閱⒂胔ttp服務(wù)器管理路由的緣故,由于這種管理是種命令行方式的替代物,因此對(duì)于熟練的網(wǎng)管來(lái)說(shuō),沒(méi)有必要啟動(dòng)這種危害性很大的服務(wù)。
#no ip http server 的路由配置也成為時(shí)髦的安全配置語(yǔ)句。
【在SNMP中行走】
談到Cisco路由的安全性,我們就必須涉及到SNMP這個(gè)看似簡(jiǎn)單,實(shí)際扮演著重要角色的協(xié)議,正因?yàn)樗拇嬖冢酚善鞯娜肭肿兊呢S富有趣多了。
*SNMP基礎(chǔ)簡(jiǎn)介:
每個(gè)SNMP啟用的路由設(shè)備都包含一個(gè)叫做管理信息模塊(MIB),這是一種包含簡(jiǎn)單等級(jí)的數(shù)據(jù)目錄結(jié)構(gòu),在這種樹(shù)結(jié)構(gòu)中包含設(shè)備各種信息。SNMP基本的命令GET,可以檢索MIB的信息,而SET命令則可設(shè)置MIB變量。一種用于監(jiān)控和管理CISCO路由的的軟件工具是MRTG,至于如何配置其用于Cisco設(shè)備的監(jiān)控可以參閱LOG的《怎樣在Windows NT/2K下安裝MRTG》一文(http://www.2hackers.org/cgi-bin/2hb...7&topic=212)。
在路由器中配置SNMP的方法如下:
(conf)#snmp-server community readonly RO
(conf)#snmp-server community readwrite RW
SNMP協(xié)議通過(guò)社區(qū)(community)字串的概念賦予對(duì)設(shè)備MIB對(duì)象訪問(wèn)的權(quán)限。上例中,設(shè)置了只讀訪問(wèn)的社區(qū)字串readonly和可進(jìn)行讀寫(xiě)*作的readwrite社區(qū)字串。而大部分管理員喜歡使用public和private設(shè)置只讀字串和讀寫(xiě)字串,疏不知,這樣輕易的結(jié)果將給網(wǎng)絡(luò)帶來(lái)巨大的波動(dòng)。我們可以在【觸及RouterKit】部分清楚認(rèn)識(shí)到這種危害。
通過(guò)SNMP我們可以方便管理和監(jiān)控Cisco的設(shè)備(參閱Log文章介紹),同時(shí)也給攻擊者帶來(lái)可乘之機(jī)。
*Cisco IOS軟件SNMP讀寫(xiě)ILMI社區(qū)字串漏洞
ILMI是一個(gè)獨(dú)立的工業(yè)標(biāo)準(zhǔn),用于配置ATM接口。MIB是一個(gè)樹(shù)形結(jié)構(gòu),包括*作(只讀)數(shù)據(jù)以及配置(讀寫(xiě))選項(xiàng)。在有漏洞的設(shè)備上,通過(guò)在SNMP請(qǐng)求中指定一個(gè)ILMI社團(tuán)字符串,可以訪問(wèn)整個(gè)樹(shù)形管理結(jié)構(gòu)中三個(gè)特定部分的對(duì)象:MIB-II系統(tǒng)組,LAN-EMULATION-CLIENT MIB以及PNNI(Private Network-to-Network Interface)MIB。每一部分的子集對(duì)象都可以使用相同的“ILMI”社團(tuán)字符串修改。
MIB-II系統(tǒng)組包括設(shè)備本身的基本信息。能被修改對(duì)象的數(shù)目雖然是有限的。例如包括:
system.sysContact.
system.sysLocation.
system.sysName.
Cisco IOS軟件版本11.x和12.0允許使用一個(gè)非文檔的ILMI社區(qū)字串未經(jīng)授權(quán)就查看和修改某些SNMP對(duì)象。其中就包括諸如上面所說(shuō)的"sysContact","sysLocation",和"sysName"對(duì)象,雖然修改它們不會(huì)影響設(shè)備的正常*作,但如果意外修改可能會(huì)產(chǎn)生混亂。剩下的對(duì)象包含于LAN-EMULATION-CLIENT和PNNI MIBs,修改這些對(duì)象可以影響ATM配置。如果沒(méi)有防止未授權(quán)使用ILMI社團(tuán)字符串,一臺(tái)有漏洞的路由器可能會(huì)遭受DoS攻擊。
如果SNMP請(qǐng)求可以被有漏洞的設(shè)備接收,那么沒(méi)有適當(dāng)授權(quán),就可以訪問(wèn)某些MIB對(duì)象,違背了保密性。沒(méi)有授權(quán)就可以修改可讀MIB對(duì)象的子集,破壞了完整性。而更具有危害性的方法是向SNMP端口發(fā)送大量的讀和寫(xiě)請(qǐng)求。有漏洞的設(shè)備,如果沒(méi)有防范接收SNMP包的措施,就會(huì)遭受DoS攻擊,導(dǎo)致路由重載。
至于如何查看這些對(duì)象的信息,可以參閱【觸及RouterKit】部分。
*Cisco IOS軟件層疊SNMP共享社區(qū)字串漏洞
Cisco 配置文件中,意外創(chuàng)建和暴露SNMP共享字符串,可以允許未授權(quán)地查閱或者修改感染的設(shè)備。這種漏洞是調(diào)用SNMP函數(shù)中的缺陷引起的。SNMP利用“community”的標(biāo)記來(lái)劃分“object”組,可以在設(shè)備上查看或者修改它們。在組中的數(shù)據(jù)組織MIB。單個(gè)設(shè)備可以有幾個(gè)MIBs,連接在一起形成一個(gè)大的結(jié)構(gòu),不同的社團(tuán)字符串可以提供只讀或者讀寫(xiě)訪問(wèn)不同的,可能重疊的大型數(shù)據(jù)結(jié)構(gòu)的一部分。
啟用SNMP,鍵入“snmp-server”命令時(shí),如果社區(qū)在設(shè)備上不是以有效的社區(qū)字串存在,就會(huì)不可預(yù)料地添加一個(gè)只讀社區(qū)字串。如果刪除它,這個(gè)社區(qū)字串將會(huì)在重載設(shè)備時(shí)重新出現(xiàn)。
缺陷源于SNMPv2的“通知(informs)”功能的實(shí)現(xiàn),這個(gè)功能包括交換只讀社區(qū)字符串來(lái)共享狀態(tài)信息。當(dāng)一個(gè)有漏洞的設(shè)備處理一條定義接收SNMP "traps"(陷阱消息)主機(jī)的命令時(shí)(常規(guī)snmp-server配置),在trap消息中指定的社團(tuán)也還是配置成通用,如果它在保存配置中沒(méi)有定義。即使社區(qū)在前面被刪除并且配置在系統(tǒng)重載前保存到存儲(chǔ)器,也會(huì)發(fā)生這種情況。
當(dāng)通過(guò)"snmpwalk"(一種檢測(cè)SNMP配置正確性的工具),或者使用設(shè)備的只讀社團(tuán)字符串遍歷基于視圖的訪問(wèn)控制MIB來(lái)檢查設(shè)備時(shí),就會(huì)泄漏讀寫(xiě)社團(tuán)字符串。這意味著知道只讀社區(qū)字串允許讀訪問(wèn)存儲(chǔ)在設(shè)備中的MIB,導(dǎo)致信息泄露。而更為嚴(yán)重的是,如果知道讀寫(xiě)社區(qū)字符串就可以允許遠(yuǎn)程配置的路由,可以繞開(kāi)授權(quán)認(rèn)證機(jī)制,從而完全控制路由器的整體功能。
題外話:一個(gè)被發(fā)現(xiàn)漏洞很具有諷刺意味,使用nmap等安全掃描工具對(duì)路由進(jìn)行掃描,居然會(huì)產(chǎn)生DoS的攻擊。有興趣的朋友可以參閱:http://online.securityfocus.com/arc...29/2002-12-05/1 ;
【另類(lèi)攻擊】
前面的漏洞綜述,似乎我們都在圍繞著如何獲得路由配置信息而講述,因?yàn)榈玫揭粋€(gè)完整Router-config,那么我們便掌握了路由的世界。下面的入侵方法則另辟奚徑。
*TFTP的藝術(shù)
Cisco的熟練管理員,一般習(xí)慣于Cisco免費(fèi)提供的TFTP服務(wù)器(http://www.cisco.com/pcgi-bin/table...芑嶠檣蓯褂胏opy running-config tftp的命令來(lái)保存路由配置文件。于是獲得TFTP就有可能獲得路由配置文件。
幸運(yùn)的是,TFTPD守護(hù)程序存在目錄遍歷的漏洞,允許遠(yuǎn)程用戶(hù)從目標(biāo)系統(tǒng)中獲得任意文件。我們可以通過(guò)下面簡(jiǎn)單方法獲取目標(biāo)系統(tǒng)中的任何文件:
Exploit
tftp> connect target_machine
tftp> get cisco-conf.bin
Recieved 472 bytes in 0.4 seconds
tftpd> quit
而這個(gè)免費(fèi)軟件還沒(méi)有任何修補(bǔ)措施,因此借助這種方式,可以不費(fèi)吹灰之力就可能得到一份完整的路由配置存檔。
*SSH安全感
通過(guò)Telnet管理方式,造就了一批密碼竊聽(tīng)者。通過(guò)明文的ASCII的網(wǎng)絡(luò)傳輸形式,竊聽(tīng)者隨便放置嗅探裝置(sniffer),就可安閑的等待著登錄用戶(hù),密碼以及各類(lèi)敏感信息自動(dòng)送到面前。SSH加密方式在路由器的應(yīng)用,大大的消滅了這種囂張的氣焰。
但入侵與反入侵本來(lái)就是個(gè)古老的話題。于是,SSH也開(kāi)始有了危機(jī)感。Cisco SSH存在著三個(gè)精妙且復(fù)雜的漏洞,這種攻擊的手法所涉及的知識(shí)已經(jīng)大大超出本文的范疇,所以以簡(jiǎn)略的形式給予說(shuō)明并指出應(yīng)用漏洞的文章出處。(這些漏洞整理自中國(guó)網(wǎng)絡(luò)安全響應(yīng)中心CNSAN,http://www.cns911.com/holes/router/...焦ぷ鞲柚戮礎(chǔ)?/a>)
1.RC-32完整性檢查漏洞
參考:http://www.core-sdi.com/files/files/11/CRC32.pdf ;
作者運(yùn)用及其復(fù)雜的數(shù)學(xué)方式來(lái)證明這種漏洞的存在性,看懂這片文章需要相當(dāng)?shù)臄?shù)學(xué)功底,本人在看這篇文章的時(shí)候也是頭痛萬(wàn)分。不過(guò)文章中的理論分析十分精彩,初學(xué)者可以省略此漏洞。
CNSAN的文章則指出“要使這種攻擊成功,攻擊者要擁有一或者2個(gè)已知chipertxt/plaintext串,這一般并不難,因?yàn)槊總€(gè)進(jìn)程啟動(dòng)時(shí)的問(wèn)候屏幕是固定并可探測(cè)的,這樣可以通過(guò)SNIFF進(jìn)程來(lái)獲得相應(yīng)的chipertext”。
2.通信分析
參考:http://online.securityfocus.com/archive/1/169840 ;
CNSAN的文章論述:“要利用這個(gè)漏洞,攻擊者必須捕獲信息包,這樣可以分析使用的密碼長(zhǎng)度并用暴力手段猜測(cè)密碼”。
在SSH中封裝明文數(shù)據(jù)時(shí),數(shù)據(jù)從8字節(jié)的邊界上開(kāi)始封裝并對(duì)數(shù)據(jù)進(jìn)行加密。這樣的包在明文數(shù)據(jù)長(zhǎng)度之后進(jìn)行某中數(shù)學(xué)封裝,SSH在加密通道內(nèi)以明文的方式傳輸,結(jié)果,能檢測(cè)SSH傳輸?shù)墓艟湍塬@得SSH內(nèi)的內(nèi)容。文章還友善的給出了Patch程序來(lái)修正這個(gè)漏洞。
3.在SSH 1.5協(xié)議中KEY恢復(fù)
參考:http://www.securityfocus.com/archive/1/161150 ;
CNSAN的文章論述:要利用這個(gè)協(xié)議,攻擊者必須能嗅探SSH進(jìn)程并能對(duì)SSH服務(wù)器建立連接,要恢復(fù)SERVER KEY,攻擊者必須執(zhí)行2^20+2^19=1572864 連接,由于KEY是一小時(shí)的生存時(shí)間,所以攻擊者必須每秒執(zhí)行400此連接。
這種技巧的要求非常高,通常的遠(yuǎn)程入侵中,使用KEY來(lái)獲得SSH會(huì)話過(guò)程的概率相當(dāng)之低。
*本地密碼劫持
在所有入侵中,這種類(lèi)型的入侵活動(dòng)可謂是蓄謀以久的野蠻做法。方法本來(lái)的意圖是用于管理員忘記密碼后的恢復(fù)措施。而技術(shù)做為雙刃劍的一面,便在于我們?nèi)绾问褂盟?
如果你有一臺(tái)筆記本電腦,你有一根與路由器相應(yīng)類(lèi)型的連接線,那么你配備了入侵路由的武器。剩下的時(shí)間,你將思考如何閉開(kāi)網(wǎng)管的眼睛,把連接線與路由器連接。以后的動(dòng)作,需要你行動(dòng)迅速了。(以25xx系列路由為例)
1.切斷路由器的電源。
2.連接計(jì)算機(jī)與路由器。
3.打開(kāi)超級(jí)終端(CTL-Break in Hyperterm)。
4.在啟動(dòng)路由器的30秒時(shí)間內(nèi),迅速按CTL-Break組合鍵,使路由器進(jìn)入rom monitor 狀態(tài),出現(xiàn)提示符如下:
Followed by a '>' prompt...
5.輸入 O/R 0x2142,修改配置注冊(cè)器(config register)路由器從Flash
memory引導(dǎo)。
6.輸入I,路由器初始化設(shè)置后重新啟動(dòng)。
7.輸入系統(tǒng)配置 對(duì)話提示符敲no,一直等提示信息顯示: Press RETURN to get started。
8.輸入enable 命令,出現(xiàn)Router# 提示符。
這是,我們可以完全使用show命令查看路由中的一切配置,并可轉(zhuǎn)儲(chǔ)到計(jì)算機(jī)上。如果使用了enable的加密方式,雖然現(xiàn)在無(wú)法看,但可以使用工具進(jìn)行破解。當(dāng)然,粗魯?shù)淖龇ㄊ侵苯有薷模?
Router#conf term
Router(conf)#enable password 7 123pwd
進(jìn)行完以上*作,別忘了恢復(fù)路由的正常狀態(tài),否則網(wǎng)管很快就能發(fā)現(xiàn)問(wèn)題所在:
Router(conf)#config-register 0x2102
Router(conf)#exit
至此,我們從幾個(gè)方面試圖獲得整個(gè)路由的配置,那么如何進(jìn)一步擴(kuò)大入侵的戰(zhàn)果,一些令人激動(dòng)的工具給我們帶來(lái)的無(wú)比愉悅的方便。
【觸及RouterKit】
就如攻擊視窗系統(tǒng)人喜歡用NTRK,攻擊Linux的人則喜歡用rootkit,Router的世界也有這優(yōu)秀的Kit,讓人愛(ài)不釋手。
*密碼破解機(jī)
得到路由配置文件后,如果看見(jiàn)在特權(quán)模式的配置中可能會(huì)有:“enable password 7 14341B180F0B187875212766”這樣的加密字串。那么恭喜了,enable password命令的密碼加密機(jī)制已經(jīng)很古老,存在極大安全漏洞。通過(guò)一些簡(jiǎn)單的工具就可以得到破解的特權(quán)密碼。
實(shí)用工具資源:
SPHiXe's 的'C'版本破解機(jī):http://www.alcrypto.co.uk/cisco/c/ciscocrack.c ;
Riku Meskanen的Pearl版本:http://www.alcrypto.co.uk/cisco/perl/ios7decrypt.pl ;
BigDog的Psion 3/5 版本:http://www.alcrypto.co.uk/cisco/psion/cisco.opl ;
Major Malfunction的Palm-Pilot破解機(jī):http://www.alcrypto.co.uk/cisco/pilot/ciscopw_1-0.zip ;
Boson Windows版本GetPass:http://www.boson.com/promo/utilitie...ass_utility.htm ;
Mudge描述的漏洞生成原因:http://www.alcrypto.co.uk/cisco/mudge.txt ;
從這些資源,得知,password的安全機(jī)制是如此的薄弱,因此,在現(xiàn)在的配置環(huán)境中一般采用enable secrect較新安全加密機(jī)制。
*RAT的豐厚禮物
RAT是系統(tǒng)管理網(wǎng)絡(luò)安全研究機(jī)構(gòu)(SANS)開(kāi)發(fā)的免費(fèi)路由審核工具(route audit tools)。這套工具能自動(dòng)和立即的檢索路由配置的情況,并針對(duì)配置的問(wèn)題給出極其詳盡的漏洞發(fā)現(xiàn)和推薦修改配置,并能尋址SNMP的漏洞給予安全建議。這種安全的配置文檔對(duì)于管理員和黑帽來(lái)說(shuō),都是非常珍貴的資料。
RAT是用Pearl語(yǔ)言編寫(xiě)而成,因此在Windows需要安裝ActiveState Perl的環(huán)境。安裝過(guò)程十分簡(jiǎn)單,對(duì)于路由的掃描結(jié)果以Html和ASCII文本格式給予用戶(hù)查看。下面是掃描的具體實(shí)例。
Exploit:
C:\>perl c:\rat\bin\rat –a –u username –w passwd –e enablepass
snarfing router_ip_addr...done.
auditing router_ip_addr...done.
ncat_report: Guide file rscg.pdf not found in current directory. Searching...
Linking to guide found at c:\rat/rscg.pdf
ncat_report: writing .ncat_fix.txt.
ncat_report: writing .ncat_report.txt.
ncat_report: writing .html.
ncat_report: writing rules.html (cisco-ios-benchmark.html).
ncat_report: writing all.ncat_fix.txt.
ncat_report: writing all.ncat_report.txt.
ncat_report: writing all.html.
(注:-a參數(shù)掃描所有漏洞選項(xiàng),-u登錄帳戶(hù),-w登陸密碼,-e特權(quán)模式密碼。掃描產(chǎn)生的漏洞檢測(cè)報(bào)告和安全建議則使用ncat_report寫(xiě)入相關(guān)文件中。是實(shí)際的路由IP地址)
可以說(shuō)RAT 是IOS的安全配置檢測(cè)工具,提供了詳細(xì)的配置安全漏洞,并提供Fix script for 的修補(bǔ)腳本,這樣周全的工具不僅是管理員的福音,也給入侵者帶來(lái)巨大好處。如果入侵者得到這樣一份周詳?shù)膱?bào)告,情況會(huì)有多糟糕?
可惜的是,這樣優(yōu)秀的程序在對(duì)路由配置文件進(jìn)行檢索時(shí),所用的snarf程序是以telnet的方式對(duì)配置文件進(jìn)行檢索,這樣的話,任何傳輸過(guò)程都將是明文的方式,而程序的文檔介紹中推薦使用的SSH協(xié)議本身也并不完善(可參閱【另類(lèi)攻擊】部分的介紹),這樣就為攻擊者提供了偷竊的途徑,從而獲得路由全面的明晰配置圖,這樣結(jié)果對(duì)于網(wǎng)管來(lái)說(shuō)將是多么的不幸。因此我們需要謹(jǐn)慎的使用這個(gè)威力巨大的工具。
當(dāng)然,這個(gè)優(yōu)秀的免費(fèi)工具帶給我們的另一個(gè)豐厚的禮物便是程序中自動(dòng)裝入《路由安全配置指南》(RSCG)的PDF文檔,里面詳盡的Cisco安全路由配置文檔介紹了路由的管理和安全配置方式,給出薄弱的路由配置配置說(shuō)明。這種實(shí)惠既便利了安全工作者對(duì)于理解,也成為了攻擊者利用漏洞的極佳參考。
*終極力量Solarwinds
Solarwinds公司出品Solarwinds.net的全面產(chǎn)品中包容了針對(duì)許多管理監(jiān)測(cè)Cisco設(shè)備的精美工具,良好的GUI、容易*作的截面、還有Perfect的Toolbar(比較起龐大而復(fù)雜的Ciscowork管理軟件,我偏向于Solarwinds提供的簡(jiǎn)單配置工具,當(dāng)然Ciscowork如果被攻擊者運(yùn)用,那么破壞的威力簡(jiǎn)直可以搞拷一個(gè)大型網(wǎng)站的通信樞紐。至于Ciscowork的使用說(shuō)明,因?yàn)槠鶈?wèn)題,不在贅述)。
主要工具簡(jiǎn)介:
SNMP Dictionary Attack
SNMP字典攻擊用于測(cè)試SNMP的社區(qū)字串的強(qiáng)度。在SNMP字典攻擊中,攻擊程序首先裝載社區(qū)字串習(xí)慣用語(yǔ)字典和字典編輯器編輯的字典,然后按照字典排序進(jìn)行猜解。
SNMP Brute Force Attack
SNMP暴力破解程序?qū)?huì)以字母和數(shù)字的組合形式遠(yuǎn)程對(duì)SNMP的只讀字串和讀寫(xiě)字串進(jìn)行窮舉破解,同時(shí)我們可以定義包括的字符和字串的估計(jì)長(zhǎng)度,這樣有助于加快破解速度。
Router Security Check
路由安全檢查程序能?chē)L試的進(jìn)入到路由器中并提示IOS是否需要升級(jí),同時(shí)它也自動(dòng)嘗試只讀和讀寫(xiě)的SNMP社區(qū)字串。下面就是一個(gè)實(shí)際檢測(cè)的結(jié)果:
IP Address202.xx.xx.xxSystem Namecisco7507Contact--Test Contact—010xxxxxxLocationCisco Internetwork Operating System Software IOS (tm) RSP Software (RSP-AJSV-M), Version 12.0(7), RELEASE SOFTWARE (fc1)Copyright (c) 1986-1999 by cisco Systems, Inc.Compiled Wed 13-Oct-99 23:20 by phanguyeRead-Only Community StringsILMIxxxxRead-Write Community StringsILMIXxxx
注:從結(jié)果看,我們獲得了讀寫(xiě)字串,這種利用方式在前面已經(jīng)論述過(guò),不在重復(fù)。使用x隱含了真實(shí)的屬性資料。
Remote TCP Session Reset
可以遠(yuǎn)程顯示路由器上的所有TCP活動(dòng)連接,更有意思的是,如果得知SNMP社區(qū)的讀寫(xiě)字串,這個(gè)程序可以隨意切斷TCP的連接,這種惡作劇也常常讓人苦惱不堪。
Cisco Router Password Decryption
不言而喻,這個(gè)程序是用來(lái)破解特權(quán)模式下的密碼。至于如何取得密碼,請(qǐng)參閱【觸及RouterKit】的說(shuō)明。
當(dāng)然,除了以上幾種工具外,Solarwinds來(lái)集合了實(shí)用的Config Editor/View,upload Config,Download Config,Running Vs Startup Configs,Proxy Ping, Advanced CPU Load,Router CPU Load路由配置管理工具,通過(guò)工具名字我們不難得出這些工具的用途。
Solarwinds牛刀小試
這里將使用Solarwinds的工具組合進(jìn)行一次高層次的入侵演習(xí)。不過(guò)這里的先決條件是,你已經(jīng)通過(guò)各種漏洞探測(cè)針?lè)绞将@取了社區(qū)可讀寫(xiě)的字串(粗魯?shù)淖龇ň涂衫猛ㄟ^(guò)Solarwinds SNMP暴力破解方式來(lái)獲取讀寫(xiě)字串)。
首先,創(chuàng)建一個(gè)包含新密碼的文本文件:
enable password New*Password
注:這種設(shè)置甚至可以覆蓋enable secret 5加密設(shè)置,不清楚Cisco既然得知Password 7方式加密是非常容易破解的,為什么還要保留這個(gè)遺物。
接著,在文件中輸入修改登錄密碼的語(yǔ)句:
line vty 0 4password New*Passwordlogin
啟動(dòng)Solarwinds自帶的TFTP服務(wù)器,把創(chuàng)建的文件放置到服務(wù)器的根目錄中。并在Config uploader實(shí)用工具中輸入路由地址,讀寫(xiě)字串和TFTP服務(wù)器的地址,并在TFTP目錄中選擇剛才創(chuàng)建的文件,按“Copy config PC to Router/Switch”。大致過(guò)程如圖示:
通過(guò)這種隱蔽的方式,我們更改了路由器的登錄密碼和特權(quán)模式密碼。這種把戲經(jīng)常讓通過(guò)遠(yuǎn)程管理路由的網(wǎng)管大吃一驚,但重啟路由后我們?cè)O(shè)置的密碼就失效了。原因在于我們是在Running-conf模式下修改路由配置,而沒(méi)有保存到NVRAM中。當(dāng)然,許多過(guò)激的做法干脆使用修改的密碼登錄路由器,把配置文件寫(xiě)(write)到NVRAM。強(qiáng)權(quán)控管路由設(shè)備。
【幾點(diǎn)安全建議】
綜述了這些觸目驚心的漏洞和威力無(wú)比工具的應(yīng)用,我們是否應(yīng)該行動(dòng)起來(lái),采取適當(dāng)?shù)拇胧﹣?lái)保護(hù)自身利益呢?
*關(guān)于IOS的問(wèn)題
1.通過(guò)no ip http server取消http服務(wù),消除Http帶來(lái)的隱患。
2.限制SNMP訪問(wèn)配置
access-list 10 permit 204.50.25.0 0.0.0.255snmp-server community readwrite RW 10 (通過(guò)ACL限制受信主機(jī)訪問(wèn))###########監(jiān)測(cè)非授權(quán)的SNMP訪問(wèn)配置##########snmp-server enable traps (設(shè)置陷阱)snmp-server trap-authentication (如何認(rèn)證失敗,告訴路由發(fā)送陷阱。)snmp-server host 204.50.25.5 (陷阱消息接受工作站)(注:ciscoworks 工作站可以截獲這些信息。)
3.及時(shí)升級(jí)Cisco的IOS程序或者修補(bǔ)程序
4.推薦閱讀RAT中的RSCG文檔建議
5.利用安全工具對(duì)路由進(jìn)行安全檢查。
關(guān)于安全的建議問(wèn)題,不是一勞永逸的事情,漏洞在暗處挖掘著,新的技術(shù)在不斷膨脹著,因此以上的幾點(diǎn)建議只作為參考,實(shí)際的運(yùn)用當(dāng)中我們應(yīng)該根據(jù)實(shí)際情況作出正確的策略。
Cisco路由器是用IOS系統(tǒng)來(lái)實(shí)現(xiàn)路由的細(xì)節(jié)功能,因此它是路由系統(tǒng)的靈魂。Show命令的在線系統(tǒng)方式卻為我們打開(kāi)一個(gè)偷窺之門(mén)。
眾所周知,Cisco路由器中,一般用戶(hù)只能查看路由器的很少信息。而能進(jìn)入特權(quán)模式的用戶(hù)才有資格查看全部信息和修改路由。一般模式下,show的在線幫助系統(tǒng)不會(huì)列表所有可用的命令,雖然75個(gè)show的擴(kuò)展參數(shù)只能用于特權(quán)模式下(enable),實(shí)際上只有13個(gè)受到限制。這意味著一般用戶(hù)(非特權(quán)用戶(hù))可以查看訪問(wèn)列表或其他路由安全相關(guān)信息。
重要安全相關(guān)的ACL信息可以被登錄路由的非特權(quán)用戶(hù)查看,諸如:
#show access-lists
#show ip prot
#show ip ospf dat
#sh ip eigrp top
等命令可以在非特權(quán)模式下泄露網(wǎng)絡(luò)敏感信息。通過(guò)這些命令,我們能得出路由器配置的大致情況,這對(duì)采取進(jìn)一步的入侵起到輔助作用。不過(guò)由于這種方式需要用戶(hù)已經(jīng)有一個(gè)登錄帳戶(hù),因此得到這樣的信息有一定難度。
*WCCP暗道
Cisco在IOS 11.2版本中引入WCCP(Web Cache Control Protocol),為Cisco緩存引擎提供協(xié)議通信。Cisco緩存引擎為www提供透明緩存服務(wù)。緩存引擎用WCCP來(lái)和其他cisco路由器通信。路由器把HTTP數(shù)據(jù)發(fā)送到緩存引擎主機(jī)中。
雖然這種方式默認(rèn)是關(guān)閉的。假如使能(enable)的話,那么WCCP本身是沒(méi)有認(rèn)證機(jī)制的。路由器將會(huì)把每一個(gè)發(fā)送合法緩存引擎類(lèi)型的Hello包的主機(jī)認(rèn)為緩存引擎,于是把HTTP數(shù)據(jù)緩存到那臺(tái)主機(jī)。這意味著惡意用戶(hù)可以通過(guò)這種方式獲取信息。
通過(guò)這種方式,攻擊者可以截獲站點(diǎn)認(rèn)證信息,包括站點(diǎn)密碼;替代實(shí)際WEB內(nèi)容為自己設(shè)計(jì)的陷阱;通過(guò)路由徹底破壞Web提供的服務(wù)。這種方式,可以完全規(guī)避登錄煩瑣的攻擊方法,對(duì)Web提供全面而且致命的打擊。
我們既可關(guān)閉WCCP的啟用機(jī)制,也可通過(guò)ACL阻止WCCP發(fā)送HTTP流量給不信任主機(jī)來(lái)防止這樣的惡劣情況發(fā)生。
*HTTP服務(wù)的困惑
Cisco在IOS版本加入了遠(yuǎn)程管理路由的Web特性,這對(duì)于新羽(newbie)的管理員來(lái),無(wú)疑是值得高興的事情。但引入方便的同時(shí),隱患也隨之進(jìn)入。
1.基于拒絕式服務(wù)攻擊的HTTP的漏洞
Cisco路由啟用(enable)遠(yuǎn)程WEB管理,很容易遭受DoS。這種DoS能導(dǎo)致路由器停止對(duì)網(wǎng)絡(luò)請(qǐng)求的響應(yīng)。這是功能是Cisco路由的內(nèi)嵌功能。但啟用這個(gè)特性,通過(guò)構(gòu)造一個(gè)簡(jiǎn)單的Http請(qǐng)求就會(huì)造成DoS攻擊:
http://<;router-ip>/%%
這種請(qǐng)求導(dǎo)致路由停止響應(yīng),甚至引起路由器執(zhí)行硬重置(hard reset)。
2.基于HTTP服務(wù)器查詢(xún)的漏洞
Cisco 安全建議小組在2000年10月30日公布了這個(gè)漏洞。IOS 11.0引入通過(guò)Web方式管理路由。”?”是HTML規(guī)范中定義的CGI參數(shù)的分界符。它也被IOS命令行接口解釋成請(qǐng)求幫助。在IOS 12.0中,當(dāng)問(wèn)號(hào)鄰接于”/”,URL解釋器就不能正確解釋其含義。當(dāng)一個(gè)包括”?/”的URL對(duì)路由器HTTP服務(wù)器進(jìn)行請(qǐng)求,并且提供一個(gè)有效的啟用口令,則路由器進(jìn)入死循環(huán)。因而引起路由崩潰并重起。
如果http起用,瀏覽
http://route_ip_addr/anytest?/ ;
并且提供特權(quán)口令,則可以導(dǎo)致DoS攻擊,導(dǎo)致路由停機(jī)或者重啟。
除了讓路由死亡之外,Http額外提供了一種可怕權(quán)限提升的漏洞,如下所論。
3.Cisco IOS 認(rèn)證漏洞
當(dāng)HTTP服務(wù)器啟用并且使用本地用戶(hù)認(rèn)證方式。在某些條件,可以繞過(guò)認(rèn)證并執(zhí)行設(shè)備上的任何命令。用戶(hù)可以對(duì)設(shè)備完全的控制。所有命令都將以最高特權(quán)執(zhí)行(level 15)。
使用username 和password的路由設(shè)備帳戶(hù)認(rèn)證方式,構(gòu)造如下URL:
http://router_ip_addr/level/xx/exec/….
(注:xx代表16至99之間的84種不同的組合攻擊,因?yàn)槁酚善饔布?lèi)型眾多,而IOS版本也存在不同,因此針對(duì)不同的路由器類(lèi)型,攻擊組合數(shù)字不同。)
通過(guò)這種方式,攻擊者可以完全控制路由并可以改變路由表配置。這種可怕的事實(shí)讓網(wǎng)管也感到驚悸。這種完整的控制方式將是網(wǎng)站數(shù)據(jù)通信樞紐的致命一擊。
雖然Http漏洞帶來(lái)如此之多的漏洞,但這種漏洞最主要原因是因?yàn)閱⒂胔ttp服務(wù)器管理路由的緣故,由于這種管理是種命令行方式的替代物,因此對(duì)于熟練的網(wǎng)管來(lái)說(shuō),沒(méi)有必要啟動(dòng)這種危害性很大的服務(wù)。
#no ip http server 的路由配置也成為時(shí)髦的安全配置語(yǔ)句。
【在SNMP中行走】
談到Cisco路由的安全性,我們就必須涉及到SNMP這個(gè)看似簡(jiǎn)單,實(shí)際扮演著重要角色的協(xié)議,正因?yàn)樗拇嬖冢酚善鞯娜肭肿兊呢S富有趣多了。
*SNMP基礎(chǔ)簡(jiǎn)介:
每個(gè)SNMP啟用的路由設(shè)備都包含一個(gè)叫做管理信息模塊(MIB),這是一種包含簡(jiǎn)單等級(jí)的數(shù)據(jù)目錄結(jié)構(gòu),在這種樹(shù)結(jié)構(gòu)中包含設(shè)備各種信息。SNMP基本的命令GET,可以檢索MIB的信息,而SET命令則可設(shè)置MIB變量。一種用于監(jiān)控和管理CISCO路由的的軟件工具是MRTG,至于如何配置其用于Cisco設(shè)備的監(jiān)控可以參閱LOG的《怎樣在Windows NT/2K下安裝MRTG》一文(http://www.2hackers.org/cgi-bin/2hb...7&topic=212)。
在路由器中配置SNMP的方法如下:
(conf)#snmp-server community readonly RO
(conf)#snmp-server community readwrite RW
SNMP協(xié)議通過(guò)社區(qū)(community)字串的概念賦予對(duì)設(shè)備MIB對(duì)象訪問(wèn)的權(quán)限。上例中,設(shè)置了只讀訪問(wèn)的社區(qū)字串readonly和可進(jìn)行讀寫(xiě)*作的readwrite社區(qū)字串。而大部分管理員喜歡使用public和private設(shè)置只讀字串和讀寫(xiě)字串,疏不知,這樣輕易的結(jié)果將給網(wǎng)絡(luò)帶來(lái)巨大的波動(dòng)。我們可以在【觸及RouterKit】部分清楚認(rèn)識(shí)到這種危害。
通過(guò)SNMP我們可以方便管理和監(jiān)控Cisco的設(shè)備(參閱Log文章介紹),同時(shí)也給攻擊者帶來(lái)可乘之機(jī)。
*Cisco IOS軟件SNMP讀寫(xiě)ILMI社區(qū)字串漏洞
ILMI是一個(gè)獨(dú)立的工業(yè)標(biāo)準(zhǔn),用于配置ATM接口。MIB是一個(gè)樹(shù)形結(jié)構(gòu),包括*作(只讀)數(shù)據(jù)以及配置(讀寫(xiě))選項(xiàng)。在有漏洞的設(shè)備上,通過(guò)在SNMP請(qǐng)求中指定一個(gè)ILMI社團(tuán)字符串,可以訪問(wèn)整個(gè)樹(shù)形管理結(jié)構(gòu)中三個(gè)特定部分的對(duì)象:MIB-II系統(tǒng)組,LAN-EMULATION-CLIENT MIB以及PNNI(Private Network-to-Network Interface)MIB。每一部分的子集對(duì)象都可以使用相同的“ILMI”社團(tuán)字符串修改。
MIB-II系統(tǒng)組包括設(shè)備本身的基本信息。能被修改對(duì)象的數(shù)目雖然是有限的。例如包括:
system.sysContact.
system.sysLocation.
system.sysName.
Cisco IOS軟件版本11.x和12.0允許使用一個(gè)非文檔的ILMI社區(qū)字串未經(jīng)授權(quán)就查看和修改某些SNMP對(duì)象。其中就包括諸如上面所說(shuō)的"sysContact","sysLocation",和"sysName"對(duì)象,雖然修改它們不會(huì)影響設(shè)備的正常*作,但如果意外修改可能會(huì)產(chǎn)生混亂。剩下的對(duì)象包含于LAN-EMULATION-CLIENT和PNNI MIBs,修改這些對(duì)象可以影響ATM配置。如果沒(méi)有防止未授權(quán)使用ILMI社團(tuán)字符串,一臺(tái)有漏洞的路由器可能會(huì)遭受DoS攻擊。
如果SNMP請(qǐng)求可以被有漏洞的設(shè)備接收,那么沒(méi)有適當(dāng)授權(quán),就可以訪問(wèn)某些MIB對(duì)象,違背了保密性。沒(méi)有授權(quán)就可以修改可讀MIB對(duì)象的子集,破壞了完整性。而更具有危害性的方法是向SNMP端口發(fā)送大量的讀和寫(xiě)請(qǐng)求。有漏洞的設(shè)備,如果沒(méi)有防范接收SNMP包的措施,就會(huì)遭受DoS攻擊,導(dǎo)致路由重載。
至于如何查看這些對(duì)象的信息,可以參閱【觸及RouterKit】部分。
*Cisco IOS軟件層疊SNMP共享社區(qū)字串漏洞
Cisco 配置文件中,意外創(chuàng)建和暴露SNMP共享字符串,可以允許未授權(quán)地查閱或者修改感染的設(shè)備。這種漏洞是調(diào)用SNMP函數(shù)中的缺陷引起的。SNMP利用“community”的標(biāo)記來(lái)劃分“object”組,可以在設(shè)備上查看或者修改它們。在組中的數(shù)據(jù)組織MIB。單個(gè)設(shè)備可以有幾個(gè)MIBs,連接在一起形成一個(gè)大的結(jié)構(gòu),不同的社團(tuán)字符串可以提供只讀或者讀寫(xiě)訪問(wèn)不同的,可能重疊的大型數(shù)據(jù)結(jié)構(gòu)的一部分。
啟用SNMP,鍵入“snmp-server”命令時(shí),如果社區(qū)在設(shè)備上不是以有效的社區(qū)字串存在,就會(huì)不可預(yù)料地添加一個(gè)只讀社區(qū)字串。如果刪除它,這個(gè)社區(qū)字串將會(huì)在重載設(shè)備時(shí)重新出現(xiàn)。
缺陷源于SNMPv2的“通知(informs)”功能的實(shí)現(xiàn),這個(gè)功能包括交換只讀社區(qū)字符串來(lái)共享狀態(tài)信息。當(dāng)一個(gè)有漏洞的設(shè)備處理一條定義接收SNMP "traps"(陷阱消息)主機(jī)的命令時(shí)(常規(guī)snmp-server配置),在trap消息中指定的社團(tuán)也還是配置成通用,如果它在保存配置中沒(méi)有定義。即使社區(qū)在前面被刪除并且配置在系統(tǒng)重載前保存到存儲(chǔ)器,也會(huì)發(fā)生這種情況。
當(dāng)通過(guò)"snmpwalk"(一種檢測(cè)SNMP配置正確性的工具),或者使用設(shè)備的只讀社團(tuán)字符串遍歷基于視圖的訪問(wèn)控制MIB來(lái)檢查設(shè)備時(shí),就會(huì)泄漏讀寫(xiě)社團(tuán)字符串。這意味著知道只讀社區(qū)字串允許讀訪問(wèn)存儲(chǔ)在設(shè)備中的MIB,導(dǎo)致信息泄露。而更為嚴(yán)重的是,如果知道讀寫(xiě)社區(qū)字符串就可以允許遠(yuǎn)程配置的路由,可以繞開(kāi)授權(quán)認(rèn)證機(jī)制,從而完全控制路由器的整體功能。
題外話:一個(gè)被發(fā)現(xiàn)漏洞很具有諷刺意味,使用nmap等安全掃描工具對(duì)路由進(jìn)行掃描,居然會(huì)產(chǎn)生DoS的攻擊。有興趣的朋友可以參閱:http://online.securityfocus.com/arc...29/2002-12-05/1 ;
【另類(lèi)攻擊】
前面的漏洞綜述,似乎我們都在圍繞著如何獲得路由配置信息而講述,因?yàn)榈玫揭粋€(gè)完整Router-config,那么我們便掌握了路由的世界。下面的入侵方法則另辟奚徑。
*TFTP的藝術(shù)
Cisco的熟練管理員,一般習(xí)慣于Cisco免費(fèi)提供的TFTP服務(wù)器(http://www.cisco.com/pcgi-bin/table...芑嶠檣蓯褂胏opy running-config tftp的命令來(lái)保存路由配置文件。于是獲得TFTP就有可能獲得路由配置文件。
幸運(yùn)的是,TFTPD守護(hù)程序存在目錄遍歷的漏洞,允許遠(yuǎn)程用戶(hù)從目標(biāo)系統(tǒng)中獲得任意文件。我們可以通過(guò)下面簡(jiǎn)單方法獲取目標(biāo)系統(tǒng)中的任何文件:
Exploit
tftp> connect target_machine
tftp> get cisco-conf.bin
Recieved 472 bytes in 0.4 seconds
tftpd> quit
而這個(gè)免費(fèi)軟件還沒(méi)有任何修補(bǔ)措施,因此借助這種方式,可以不費(fèi)吹灰之力就可能得到一份完整的路由配置存檔。
*SSH安全感
通過(guò)Telnet管理方式,造就了一批密碼竊聽(tīng)者。通過(guò)明文的ASCII的網(wǎng)絡(luò)傳輸形式,竊聽(tīng)者隨便放置嗅探裝置(sniffer),就可安閑的等待著登錄用戶(hù),密碼以及各類(lèi)敏感信息自動(dòng)送到面前。SSH加密方式在路由器的應(yīng)用,大大的消滅了這種囂張的氣焰。
但入侵與反入侵本來(lái)就是個(gè)古老的話題。于是,SSH也開(kāi)始有了危機(jī)感。Cisco SSH存在著三個(gè)精妙且復(fù)雜的漏洞,這種攻擊的手法所涉及的知識(shí)已經(jīng)大大超出本文的范疇,所以以簡(jiǎn)略的形式給予說(shuō)明并指出應(yīng)用漏洞的文章出處。(這些漏洞整理自中國(guó)網(wǎng)絡(luò)安全響應(yīng)中心CNSAN,http://www.cns911.com/holes/router/...焦ぷ鞲柚戮礎(chǔ)?/a>)
1.RC-32完整性檢查漏洞
參考:http://www.core-sdi.com/files/files/11/CRC32.pdf ;
作者運(yùn)用及其復(fù)雜的數(shù)學(xué)方式來(lái)證明這種漏洞的存在性,看懂這片文章需要相當(dāng)?shù)臄?shù)學(xué)功底,本人在看這篇文章的時(shí)候也是頭痛萬(wàn)分。不過(guò)文章中的理論分析十分精彩,初學(xué)者可以省略此漏洞。
CNSAN的文章則指出“要使這種攻擊成功,攻擊者要擁有一或者2個(gè)已知chipertxt/plaintext串,這一般并不難,因?yàn)槊總€(gè)進(jìn)程啟動(dòng)時(shí)的問(wèn)候屏幕是固定并可探測(cè)的,這樣可以通過(guò)SNIFF進(jìn)程來(lái)獲得相應(yīng)的chipertext”。
2.通信分析
參考:http://online.securityfocus.com/archive/1/169840 ;
CNSAN的文章論述:“要利用這個(gè)漏洞,攻擊者必須捕獲信息包,這樣可以分析使用的密碼長(zhǎng)度并用暴力手段猜測(cè)密碼”。
在SSH中封裝明文數(shù)據(jù)時(shí),數(shù)據(jù)從8字節(jié)的邊界上開(kāi)始封裝并對(duì)數(shù)據(jù)進(jìn)行加密。這樣的包在明文數(shù)據(jù)長(zhǎng)度之后進(jìn)行某中數(shù)學(xué)封裝,SSH在加密通道內(nèi)以明文的方式傳輸,結(jié)果,能檢測(cè)SSH傳輸?shù)墓艟湍塬@得SSH內(nèi)的內(nèi)容。文章還友善的給出了Patch程序來(lái)修正這個(gè)漏洞。
3.在SSH 1.5協(xié)議中KEY恢復(fù)
參考:http://www.securityfocus.com/archive/1/161150 ;
CNSAN的文章論述:要利用這個(gè)協(xié)議,攻擊者必須能嗅探SSH進(jìn)程并能對(duì)SSH服務(wù)器建立連接,要恢復(fù)SERVER KEY,攻擊者必須執(zhí)行2^20+2^19=1572864 連接,由于KEY是一小時(shí)的生存時(shí)間,所以攻擊者必須每秒執(zhí)行400此連接。
這種技巧的要求非常高,通常的遠(yuǎn)程入侵中,使用KEY來(lái)獲得SSH會(huì)話過(guò)程的概率相當(dāng)之低。
*本地密碼劫持
在所有入侵中,這種類(lèi)型的入侵活動(dòng)可謂是蓄謀以久的野蠻做法。方法本來(lái)的意圖是用于管理員忘記密碼后的恢復(fù)措施。而技術(shù)做為雙刃劍的一面,便在于我們?nèi)绾问褂盟?
如果你有一臺(tái)筆記本電腦,你有一根與路由器相應(yīng)類(lèi)型的連接線,那么你配備了入侵路由的武器。剩下的時(shí)間,你將思考如何閉開(kāi)網(wǎng)管的眼睛,把連接線與路由器連接。以后的動(dòng)作,需要你行動(dòng)迅速了。(以25xx系列路由為例)
1.切斷路由器的電源。
2.連接計(jì)算機(jī)與路由器。
3.打開(kāi)超級(jí)終端(CTL-Break in Hyperterm)。
4.在啟動(dòng)路由器的30秒時(shí)間內(nèi),迅速按CTL-Break組合鍵,使路由器進(jìn)入rom monitor 狀態(tài),出現(xiàn)提示符如下:
Followed by a '>' prompt...
5.輸入 O/R 0x2142,修改配置注冊(cè)器(config register)路由器從Flash
memory引導(dǎo)。
6.輸入I,路由器初始化設(shè)置后重新啟動(dòng)。
7.輸入系統(tǒng)配置 對(duì)話提示符敲no,一直等提示信息顯示: Press RETURN to get started。
8.輸入enable 命令,出現(xiàn)Router# 提示符。
這是,我們可以完全使用show命令查看路由中的一切配置,并可轉(zhuǎn)儲(chǔ)到計(jì)算機(jī)上。如果使用了enable的加密方式,雖然現(xiàn)在無(wú)法看,但可以使用工具進(jìn)行破解。當(dāng)然,粗魯?shù)淖龇ㄊ侵苯有薷模?
Router#conf term
Router(conf)#enable password 7 123pwd
進(jìn)行完以上*作,別忘了恢復(fù)路由的正常狀態(tài),否則網(wǎng)管很快就能發(fā)現(xiàn)問(wèn)題所在:
Router(conf)#config-register 0x2102
Router(conf)#exit
至此,我們從幾個(gè)方面試圖獲得整個(gè)路由的配置,那么如何進(jìn)一步擴(kuò)大入侵的戰(zhàn)果,一些令人激動(dòng)的工具給我們帶來(lái)的無(wú)比愉悅的方便。
【觸及RouterKit】
就如攻擊視窗系統(tǒng)人喜歡用NTRK,攻擊Linux的人則喜歡用rootkit,Router的世界也有這優(yōu)秀的Kit,讓人愛(ài)不釋手。
*密碼破解機(jī)
得到路由配置文件后,如果看見(jiàn)在特權(quán)模式的配置中可能會(huì)有:“enable password 7 14341B180F0B187875212766”這樣的加密字串。那么恭喜了,enable password命令的密碼加密機(jī)制已經(jīng)很古老,存在極大安全漏洞。通過(guò)一些簡(jiǎn)單的工具就可以得到破解的特權(quán)密碼。
實(shí)用工具資源:
SPHiXe's 的'C'版本破解機(jī):http://www.alcrypto.co.uk/cisco/c/ciscocrack.c ;
Riku Meskanen的Pearl版本:http://www.alcrypto.co.uk/cisco/perl/ios7decrypt.pl ;
BigDog的Psion 3/5 版本:http://www.alcrypto.co.uk/cisco/psion/cisco.opl ;
Major Malfunction的Palm-Pilot破解機(jī):http://www.alcrypto.co.uk/cisco/pilot/ciscopw_1-0.zip ;
Boson Windows版本GetPass:http://www.boson.com/promo/utilitie...ass_utility.htm ;
Mudge描述的漏洞生成原因:http://www.alcrypto.co.uk/cisco/mudge.txt ;
從這些資源,得知,password的安全機(jī)制是如此的薄弱,因此,在現(xiàn)在的配置環(huán)境中一般采用enable secrect較新安全加密機(jī)制。
*RAT的豐厚禮物
RAT是系統(tǒng)管理網(wǎng)絡(luò)安全研究機(jī)構(gòu)(SANS)開(kāi)發(fā)的免費(fèi)路由審核工具(route audit tools)。這套工具能自動(dòng)和立即的檢索路由配置的情況,并針對(duì)配置的問(wèn)題給出極其詳盡的漏洞發(fā)現(xiàn)和推薦修改配置,并能尋址SNMP的漏洞給予安全建議。這種安全的配置文檔對(duì)于管理員和黑帽來(lái)說(shuō),都是非常珍貴的資料。
RAT是用Pearl語(yǔ)言編寫(xiě)而成,因此在Windows需要安裝ActiveState Perl的環(huán)境。安裝過(guò)程十分簡(jiǎn)單,對(duì)于路由的掃描結(jié)果以Html和ASCII文本格式給予用戶(hù)查看。下面是掃描的具體實(shí)例。
Exploit:
C:\>perl c:\rat\bin\rat –a –u username –w passwd –e enablepass
snarfing router_ip_addr...done.
auditing router_ip_addr...done.
ncat_report: Guide file rscg.pdf not found in current directory. Searching...
Linking to guide found at c:\rat/rscg.pdf
ncat_report: writing .ncat_fix.txt.
ncat_report: writing .ncat_report.txt.
ncat_report: writing .html.
ncat_report: writing rules.html (cisco-ios-benchmark.html).
ncat_report: writing all.ncat_fix.txt.
ncat_report: writing all.ncat_report.txt.
ncat_report: writing all.html.
(注:-a參數(shù)掃描所有漏洞選項(xiàng),-u登錄帳戶(hù),-w登陸密碼,-e特權(quán)模式密碼。掃描產(chǎn)生的漏洞檢測(cè)報(bào)告和安全建議則使用ncat_report寫(xiě)入相關(guān)文件中。是實(shí)際的路由IP地址)
可以說(shuō)RAT 是IOS的安全配置檢測(cè)工具,提供了詳細(xì)的配置安全漏洞,并提供Fix script for 的修補(bǔ)腳本,這樣周全的工具不僅是管理員的福音,也給入侵者帶來(lái)巨大好處。如果入侵者得到這樣一份周詳?shù)膱?bào)告,情況會(huì)有多糟糕?
可惜的是,這樣優(yōu)秀的程序在對(duì)路由配置文件進(jìn)行檢索時(shí),所用的snarf程序是以telnet的方式對(duì)配置文件進(jìn)行檢索,這樣的話,任何傳輸過(guò)程都將是明文的方式,而程序的文檔介紹中推薦使用的SSH協(xié)議本身也并不完善(可參閱【另類(lèi)攻擊】部分的介紹),這樣就為攻擊者提供了偷竊的途徑,從而獲得路由全面的明晰配置圖,這樣結(jié)果對(duì)于網(wǎng)管來(lái)說(shuō)將是多么的不幸。因此我們需要謹(jǐn)慎的使用這個(gè)威力巨大的工具。
當(dāng)然,這個(gè)優(yōu)秀的免費(fèi)工具帶給我們的另一個(gè)豐厚的禮物便是程序中自動(dòng)裝入《路由安全配置指南》(RSCG)的PDF文檔,里面詳盡的Cisco安全路由配置文檔介紹了路由的管理和安全配置方式,給出薄弱的路由配置配置說(shuō)明。這種實(shí)惠既便利了安全工作者對(duì)于理解,也成為了攻擊者利用漏洞的極佳參考。
*終極力量Solarwinds
Solarwinds公司出品Solarwinds.net的全面產(chǎn)品中包容了針對(duì)許多管理監(jiān)測(cè)Cisco設(shè)備的精美工具,良好的GUI、容易*作的截面、還有Perfect的Toolbar(比較起龐大而復(fù)雜的Ciscowork管理軟件,我偏向于Solarwinds提供的簡(jiǎn)單配置工具,當(dāng)然Ciscowork如果被攻擊者運(yùn)用,那么破壞的威力簡(jiǎn)直可以搞拷一個(gè)大型網(wǎng)站的通信樞紐。至于Ciscowork的使用說(shuō)明,因?yàn)槠鶈?wèn)題,不在贅述)。
主要工具簡(jiǎn)介:
SNMP Dictionary Attack
SNMP字典攻擊用于測(cè)試SNMP的社區(qū)字串的強(qiáng)度。在SNMP字典攻擊中,攻擊程序首先裝載社區(qū)字串習(xí)慣用語(yǔ)字典和字典編輯器編輯的字典,然后按照字典排序進(jìn)行猜解。
SNMP Brute Force Attack
SNMP暴力破解程序?qū)?huì)以字母和數(shù)字的組合形式遠(yuǎn)程對(duì)SNMP的只讀字串和讀寫(xiě)字串進(jìn)行窮舉破解,同時(shí)我們可以定義包括的字符和字串的估計(jì)長(zhǎng)度,這樣有助于加快破解速度。
Router Security Check
路由安全檢查程序能?chē)L試的進(jìn)入到路由器中并提示IOS是否需要升級(jí),同時(shí)它也自動(dòng)嘗試只讀和讀寫(xiě)的SNMP社區(qū)字串。下面就是一個(gè)實(shí)際檢測(cè)的結(jié)果:
IP Address202.xx.xx.xxSystem Namecisco7507Contact--Test Contact—010xxxxxxLocationCisco Internetwork Operating System Software IOS (tm) RSP Software (RSP-AJSV-M), Version 12.0(7), RELEASE SOFTWARE (fc1)Copyright (c) 1986-1999 by cisco Systems, Inc.Compiled Wed 13-Oct-99 23:20 by phanguyeRead-Only Community StringsILMIxxxxRead-Write Community StringsILMIXxxx
注:從結(jié)果看,我們獲得了讀寫(xiě)字串,這種利用方式在前面已經(jīng)論述過(guò),不在重復(fù)。使用x隱含了真實(shí)的屬性資料。
Remote TCP Session Reset
可以遠(yuǎn)程顯示路由器上的所有TCP活動(dòng)連接,更有意思的是,如果得知SNMP社區(qū)的讀寫(xiě)字串,這個(gè)程序可以隨意切斷TCP的連接,這種惡作劇也常常讓人苦惱不堪。
Cisco Router Password Decryption
不言而喻,這個(gè)程序是用來(lái)破解特權(quán)模式下的密碼。至于如何取得密碼,請(qǐng)參閱【觸及RouterKit】的說(shuō)明。
當(dāng)然,除了以上幾種工具外,Solarwinds來(lái)集合了實(shí)用的Config Editor/View,upload Config,Download Config,Running Vs Startup Configs,Proxy Ping, Advanced CPU Load,Router CPU Load路由配置管理工具,通過(guò)工具名字我們不難得出這些工具的用途。
Solarwinds牛刀小試
這里將使用Solarwinds的工具組合進(jìn)行一次高層次的入侵演習(xí)。不過(guò)這里的先決條件是,你已經(jīng)通過(guò)各種漏洞探測(cè)針?lè)绞将@取了社區(qū)可讀寫(xiě)的字串(粗魯?shù)淖龇ň涂衫猛ㄟ^(guò)Solarwinds SNMP暴力破解方式來(lái)獲取讀寫(xiě)字串)。
首先,創(chuàng)建一個(gè)包含新密碼的文本文件:
enable password New*Password
注:這種設(shè)置甚至可以覆蓋enable secret 5加密設(shè)置,不清楚Cisco既然得知Password 7方式加密是非常容易破解的,為什么還要保留這個(gè)遺物。
接著,在文件中輸入修改登錄密碼的語(yǔ)句:
line vty 0 4password New*Passwordlogin
啟動(dòng)Solarwinds自帶的TFTP服務(wù)器,把創(chuàng)建的文件放置到服務(wù)器的根目錄中。并在Config uploader實(shí)用工具中輸入路由地址,讀寫(xiě)字串和TFTP服務(wù)器的地址,并在TFTP目錄中選擇剛才創(chuàng)建的文件,按“Copy config PC to Router/Switch”。大致過(guò)程如圖示:
通過(guò)這種隱蔽的方式,我們更改了路由器的登錄密碼和特權(quán)模式密碼。這種把戲經(jīng)常讓通過(guò)遠(yuǎn)程管理路由的網(wǎng)管大吃一驚,但重啟路由后我們?cè)O(shè)置的密碼就失效了。原因在于我們是在Running-conf模式下修改路由配置,而沒(méi)有保存到NVRAM中。當(dāng)然,許多過(guò)激的做法干脆使用修改的密碼登錄路由器,把配置文件寫(xiě)(write)到NVRAM。強(qiáng)權(quán)控管路由設(shè)備。
【幾點(diǎn)安全建議】
綜述了這些觸目驚心的漏洞和威力無(wú)比工具的應(yīng)用,我們是否應(yīng)該行動(dòng)起來(lái),采取適當(dāng)?shù)拇胧﹣?lái)保護(hù)自身利益呢?
*關(guān)于IOS的問(wèn)題
1.通過(guò)no ip http server取消http服務(wù),消除Http帶來(lái)的隱患。
2.限制SNMP訪問(wèn)配置
access-list 10 permit 204.50.25.0 0.0.0.255snmp-server community readwrite RW 10 (通過(guò)ACL限制受信主機(jī)訪問(wèn))###########監(jiān)測(cè)非授權(quán)的SNMP訪問(wèn)配置##########snmp-server enable traps (設(shè)置陷阱)snmp-server trap-authentication (如何認(rèn)證失敗,告訴路由發(fā)送陷阱。)snmp-server host 204.50.25.5 (陷阱消息接受工作站)(注:ciscoworks 工作站可以截獲這些信息。)
3.及時(shí)升級(jí)Cisco的IOS程序或者修補(bǔ)程序
4.推薦閱讀RAT中的RSCG文檔建議
5.利用安全工具對(duì)路由進(jìn)行安全檢查。
關(guān)于安全的建議問(wèn)題,不是一勞永逸的事情,漏洞在暗處挖掘著,新的技術(shù)在不斷膨脹著,因此以上的幾點(diǎn)建議只作為參考,實(shí)際的運(yùn)用當(dāng)中我們應(yīng)該根據(jù)實(shí)際情況作出正確的策略。