黑客入侵技術(shù)詳解:cisco路由入侵藝術(shù) (2)
*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ě)訪(fǎng)問(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)字符串遍歷基于視圖的訪(fǎng)問(wèn)控制MIB來(lái)檢查設(shè)備時(shí),就會(huì)泄漏讀寫(xiě)社團(tuán)字符串。這意味著知道只讀社區(qū)字串允許讀訪(fǎng)問(wèn)存儲(chǔ)在設(shè)備中的MIB,導(dǎo)致信息泄露。而更為嚴(yán)重的是,如果知道讀寫(xiě)社區(qū)字符串就可以允許遠(yuǎn)程配置的路由,可以繞開(kāi)授權(quán)認(rèn)證機(jī)制,從而完全控制路由器的整體功能。
【另類(lèi)攻擊】
前面的漏洞綜述,似乎我們都在圍繞著如何獲得路由配置信息而講述,因?yàn)榈玫揭粋€(gè)完整Router-config,那么我們便掌握了路由的世界。下面的入侵方法則另辟奚徑。
*TFTP的藝術(shù)
Cisco的熟練管理員,一般習(xí)慣于Cisco免費(fèi)提供的TFTP服務(wù)器(http://www.cisco.com/pcgi-bin/tablebuild.pl/tftp),而Cisco培訓(xùn)的書(shū)籍總會(huì)介紹使用copy 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è)古老的話(huà)題。于是,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/router01062902.php,在此對(duì)漏洞整理工作者的無(wú)私工作給予致敬。)
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ì)話(huà)過(guò)程的概率相當(dāng)之低。
*本地密碼劫持
在所有入侵中,這種類(lèi)型的入侵活動(dòng)可謂是蓄謀以久的野蠻做法。方法本來(lái)的意圖是用于管理員忘記密碼后的恢復(fù)措施。而技術(shù)做為雙刃劍的一面,便在于我們?nèi)绾问褂盟?/P>
如果你有一臺(tái)筆記本電腦,你有一根與路由器相應(yīng)類(lèi)型的連接線(xiàn),那么你配備了入侵路由的武器。剩下的時(shí)間,你將思考如何閉開(kāi)網(wǎng)管的眼睛,把連接線(xiàn)與路由器連接。以后的動(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ì)話(huà)提示符敲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ù)淖龇ㄊ侵苯有薷模?/P>
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ú)比愉悅的方便。
【編輯推薦】