此文章討論了有關(guān)對網(wǎng)絡(luò)底層協(xié)議的攻擊和防止攻擊的方法,特別是關(guān)于路由和路由協(xié)議的漏洞,如Routing Information Protocol (RIP,路由信息協(xié)議), Border Gateway Protocol (邊緣網(wǎng)關(guān)協(xié)議), Open Shortest Path First (OSPF,開放最短路徑優(yōu)先協(xié)議)等。
路由器在每個網(wǎng)絡(luò)中起到關(guān)鍵的作用,如果一路由器被破壞或者一路由被成功的欺騙,網(wǎng)絡(luò)的完整性將受到嚴(yán)重的破壞,如果使用路由的主機(jī)沒有使用加密通信那就更為嚴(yán)重,因?yàn)檫@樣的主機(jī)被控制的話,將存在著中間人(man-in-the-middle)攻擊,拒絕服務(wù)攻擊,數(shù)據(jù)丟失,網(wǎng)絡(luò)整體性破壞,和信息被嗅探等攻擊。
路由是一個巨大又復(fù)雜的話題,所以本人只是在此提到一部分知識,而且水平的關(guān)系,請大家多多指教。
關(guān)于一些很普遍的路由器安全問題
多種路由器存在各種眾所周知的安全問題,一些網(wǎng)絡(luò)底層設(shè)備提供商如Cisco, Livingston, Bay等的普通安全問題。
上面地址所收集的漏洞大部分無關(guān)于路由協(xié)議級的攻擊,而是一些由于錯誤配置,IP信息包錯誤處理,SNMP存在默認(rèn)的communit name string,薄弱密碼或者加密算法不夠強(qiáng)壯而造成。上面的一些攻擊一般一個標(biāo)準(zhǔn)的NIDS都能夠探測出來。這些類型的攻擊對網(wǎng)絡(luò)底層有一定的削弱性并可以組合一些高極別的協(xié)議進(jìn)行攻擊。
正確的配置管理可以處理不少普通的漏洞,如你必須處理一些標(biāo)準(zhǔn)的規(guī)程:不使用SNMP(或者選擇強(qiáng)壯的密碼),保持補(bǔ)丁程序是最新的,正確處理訪問控制列表,出入過濾,防火墻,加密管理通道和密碼,路由過濾和使用MD5認(rèn)證。當(dāng)然在采用這些規(guī)程之前你必須知道這些安全規(guī)則的相關(guān)的含義和所影響到的服務(wù)。
近來有關(guān)的一些低部構(gòu)造防衛(wèi)檢測系統(tǒng)的開發(fā)
近來的在網(wǎng)絡(luò)防護(hù)開發(fā)項(xiàng)目中比較不錯的是一個IDS叫JiNao. JiNao是由DARPA發(fā)起的,并現(xiàn)在成為一個合作研究項(xiàng)目由MCNC和北卡羅萊納州大學(xué)共同開發(fā)。JiNao在FreeBSD和Linux上運(yùn)行的是在線模式(使用divert sockets),在Solaris運(yùn)行在離線模式,并在3個網(wǎng)絡(luò)上測試-MCNC,NCSU和由PC(操作系統(tǒng)做路由)和商業(yè)路由器組合的AF/Rome 實(shí)驗(yàn)室。測試結(jié)果顯示了可以成功的防止多種類型的網(wǎng)絡(luò)底層攻擊并能很好的高精度的探測這些攻擊。
當(dāng)前,JiNao看起來在研究關(guān)于Open Shortest Path First (OSPF,開放最短路徑優(yōu)先)協(xié)議,并且最終JiNao會延伸到各種協(xié)議。JiNao指出,防衛(wèi)攻擊和入侵探測將會集成在網(wǎng)絡(luò)管理內(nèi)容中,所以JINao現(xiàn)在正趨向于網(wǎng)絡(luò)防火墻,入侵探測系統(tǒng)和網(wǎng)絡(luò)管理系統(tǒng)組合一體。
還有一個工具可以很好的分析高級的協(xié)議,如Agilent Advisor的網(wǎng)絡(luò)分析工具,它能很好的支持多種路由協(xié)議并能定制過濾器來探測各種不正常的行為。
一些工作于路由協(xié)議的工具
Linux divert sockets描述到:/"Divert socket能夠在末端主機(jī)也能在路由器上進(jìn)行IP信息包捕獲和注入,信息包的捕獲和插入發(fā)生在IP層上,捕獲的信息包在用戶空間轉(zhuǎn)向到套接口中,因此這些信息包將不會達(dá)到它們的最終目的地,除非用戶空間套接口重插入它們。這樣在信息包捕獲和重新插入之間可以在系統(tǒng)系統(tǒng)內(nèi)核之外允許各種不同的操作(如路由和防火墻)./".簡單的說divert socket就是由user space(用戶空間)的程序來處理kernel(內(nèi)核)中的IP packet(IP信息包),這個divert socket最早應(yīng)用與FreeBSD系統(tǒng)中,如NAT就是應(yīng)用了divert socket。這樣使開發(fā)程序很容易,因?yàn)樵谟脩魧?,而處理IP packet(IP信息包)的效率也比較高,因?yàn)槭侵苯犹幚韐ernel(內(nèi)核)中的IP packet(IP信息包)。
Divert socket就象上面說最早實(shí)現(xiàn)于FreeBSD中,現(xiàn)在已經(jīng)移植到Linux中并作為JiNao IDS項(xiàng)目的一部分采用。
另一個叫Nemesis Packet Injection suite,是一個比較強(qiáng)大的網(wǎng)絡(luò)和安全工具,由Obecian開發(fā).最新的nemesis-1.1發(fā)行在2000年6月24號。Nemesis是一個/"命令行式的UNIX網(wǎng)絡(luò)信息包插入套件/",并是一個很好的測試防火墻,入侵探測系統(tǒng),路由器和其他網(wǎng)絡(luò)環(huán)境的工具。它可以被攻擊者使用和授權(quán)滲透探測者在主機(jī)和網(wǎng)絡(luò)級的網(wǎng)絡(luò)安全環(huán)境檢測。其中這個站點(diǎn)還有一個演化的Nemesis叫Intravenous,發(fā)行于11/30/00. Intravenous看起來承載了Nemesis所有基本功能,其中不同的是增加了人工智能引擎的內(nèi)容。
IRPAS,Internetwork Routing Protocol Attack Suite,由FX所寫,可以在下面的站點(diǎn)找到http://www.phenoelit.de/irpas/.IRPAS包含了各種可工作于Cisco路由設(shè)備的協(xié)議層的命令行工具,包括如下這些命令: cdp--可發(fā)送Cisco router Discovery Protocol (CDP CISCO路由發(fā)現(xiàn)協(xié)議)消息;
igrp是能插入Interior Gateway Routing Protocol (IGRP 內(nèi)部網(wǎng)關(guān)路由協(xié)議)消息;irdp用來發(fā)送ICMP Router Discovery Protocol (ICMP路由發(fā)現(xiàn)協(xié)議)消息;
irdresponder--可使用精心制作的信息包來響應(yīng)IRDP請求;
ass--Autonomous System Scanner(自主系統(tǒng)掃描器,現(xiàn)在可下載的版本只支持IGRP),這里解釋下Autonomous system,即一般所說的AS,簡單的說是一組內(nèi)部路由器,使用共同協(xié)議交流內(nèi)部網(wǎng)絡(luò)的信息,更直接的說法就是這些路由器自己自主,交流信息。與之相反的是我們經(jīng)常知道的外部路由器如一般的電信節(jié)點(diǎn)處的路由器。典型的AS使用單一的路由協(xié)議在它的邊界產(chǎn)生和傳播路由信息。ass就類似于TCP端口掃描器一樣,只不過其是針對自主系統(tǒng)的。使用ass掃描的話,如果自主系統(tǒng)應(yīng)答,將返回路由進(jìn)程中的所有路由信息。IRPAS 的網(wǎng)站也包含一條關(guān)于Generic Routing Encapsulation(GRE 一般路由封裝) 漏洞的文檔,其中這個Generic Routing Encapsulation (GRE 一般路由封裝)漏洞允許外部攻擊者繞過NAT和破壞一通過VPN的內(nèi)部RFC1918網(wǎng)絡(luò)。其中在其他章節(jié)還包含了更多的信息和通過irpas的可能攻擊策略.
irpas的開發(fā)者FX,發(fā)送了由ass新版本2.14(還沒有發(fā)布)掃描的AS樣本和igrp怎樣利用ass的信息(AS #10和其他數(shù)據(jù))來插入一欺騙的路由給222.222.222.0/24。雖然IGRP協(xié)議目前不是很多使用,但這個例子卻是相當(dāng)?shù)牟诲e。下面是FX測試的結(jié)果:
test# ./ass -mA -i eth0 -D 192.168.1.10 -b15 -v(這里的-i是接口,-D是目的地址,-b15指的是自主系統(tǒng)0-15之間
ASS [Autonomous System Scanner] $Revision: 2.14 $
(c) 2k FX
Phenoelit (http://www.phenoelit.de)
No protocols selected; scanning all
Running scan with:
interface eth0
Autonomous systems 0 to 15
delay is 1
in ACTIVE mode
Building target list ...
192.168.1.10 is alive
Scanning ...
Scanning IGRP on 192.168.1.10
Scanning IRDP on 192.168.1.10
Scanning RIPv1 on 192.168.1.10
shutdown ...
OK,得到以下的結(jié)果
>>>>>>>>>>>> Results >>>>>>>>>>>
192.168.1.10
IGRP
#AS 00010 10.0.0.0 (50000,1111111,1476,255,1,0)
IRDP
192.168.1.10 (1800,0)
192.168.9.99 (1800,0)
RIPv1
10.0.0.0 (1)
test# ./igrp -i eth0 -f routes.txt -a 10 -S 192.168.1.254 -D 192.168.1.10
當(dāng)然這里的routes.txt需要你自己指定:
routes.txt:
# Format
# destination:delay:bandwith:mtu:reliability:load:hopcount
222.222.222.0:500:1:1500:255:1:0
Cisco#sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
U - per-user static route
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.1.2.0/30 is directly connected, Tunnel0
S 10.0.0.0/8 is directly connected, Tunnel0
C 192.168.9.0/24 is directly connected, Ethernet0
C 192.168.1.0/24 is directly connected, Ethernet0
I 222.222.222.0/24 [100/1600] via 192.168.1.254, 00:00:05, Ethernet0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
看到?jīng)]有,到達(dá)222.222.222.0/24經(jīng)由192.168.1.254
Rprobe & srip--這個工具附帶在一篇關(guān)于RIP欺騙非常不錯的指南文檔中(由humble寫),你可以在下面的地址找到這篇文章http://www.technotronic.com/horizon/ripar.txt.Rprobe工具會從一路由daemon(守護(hù)程序)中請求一RIP路由表的拷貝,使用Tcpdump或者其他任何嗅探工具可以用來捕獲這些結(jié)果。接下來,srip可以用來從任意源IP發(fā)送一偽造的RIPv1或者RIPv2消息,Srip可以插入新的路由和使當(dāng)前的路由無效,當(dāng)然攻擊者/滲透測試者需要知道命令行中使用什么參數(shù)。關(guān)于這些工具的介紹可參看Hacking Exposed 第二版Network Device節(jié)找到示例。
當(dāng)然還有其他工作與相關(guān)路由協(xié)議的工具可被攻擊者或者滲透測試者使用,如:Routed,gated, zebra, mrt, 和 gasp ,大家可以參看其他的文檔。
下面是有關(guān)各種協(xié)議的淺釋和相關(guān)漏洞及可以采用的防衛(wèi)措施
Routing Information Protocol (RIP,路由信息協(xié)議)
Routing Information Protocol (RIP,路由信息協(xié)議)是基于距離矢量的路由協(xié)議,其所有路由基于(hop)跳數(shù)來衡量。由Autonomous System (AS,自主系統(tǒng)) 來全面的管理整個由主機(jī),路由器和其他網(wǎng)絡(luò)設(shè)備組成的系統(tǒng)。RIP是作為一種內(nèi)部網(wǎng)關(guān)協(xié)議(interior gateway protocol),即在自治系統(tǒng)內(nèi)部執(zhí)行路由功能。相反的大家都知道外部網(wǎng)關(guān)路由協(xié)議(exterior gateway protocol),如邊緣網(wǎng)關(guān)協(xié)議(BGP),在不同的自治系統(tǒng)間進(jìn)行路由。RIP協(xié)議對大型網(wǎng)絡(luò)來說不是一個好的選擇,因?yàn)樗恢С?5跳,RIPv1而且只能通信自身相關(guān)的路由信息,反之RIPv2能對其他路由器進(jìn)行通信。RIP協(xié)議能和其他路由協(xié)議共同工作,依照Cisco,RIP協(xié)議經(jīng)常用來與OSPF協(xié)議相關(guān)聯(lián),雖然很多文蕩指出OSPF需代替RIP. 應(yīng)該知道經(jīng)由RIP更新提交的路由可以通過其他路由協(xié)議重新分配,這樣如果一攻擊者能通過RIP來欺騙路由到網(wǎng)絡(luò),然后再通過其他協(xié)議如OSPF或者不用驗(yàn)證的BGP協(xié)議來重新分配路由,這樣攻擊的范圍將可能擴(kuò)大。
RIP協(xié)議相關(guān)的漏洞和防范措施
一個測試者或者攻擊者可以通過探測520 UDP端口來判斷是否使用RIP,你可以使用熟悉的工具如nmap來進(jìn)行測試,如下所示,這個端口打開了并沒有使用任何訪問控制聯(lián)合任意類型的過濾:
[root@test]# nmap -sU -p 520 -v router.ip.address.2
interesting ports on (router.ip.address..2):
Port State Service
520/udp open route
掃描UDP520端口在網(wǎng)站http://www.dshield.org/的/"Top 10 Target Ports/"上被排列在第7位,你表明有許多人在掃描RIP,這當(dāng)然和一些路由工具工具的不斷增加有一定的關(guān)聯(lián)。
RIPv1 天生就有不安全因素,因?yàn)樗鼪]有使用認(rèn)證機(jī)制并使用不可靠的UDP協(xié)議進(jìn)行傳輸。RIPv2的分組格式中包含了一個選項(xiàng)可以設(shè)置16個字符的明文密碼字符串(表示可很容的被嗅探到)或者M(jìn)D5簽字。雖然RIP信息包可以很容易的偽造,但在RIPv2中你使用了MD5簽字將會使欺騙的操作難度大大提高。一個類似可以操作的工具就是nemesis項(xiàng)目中的RIP命令--nemesis-rip,但由于這個工具有很多的命令行選項(xiàng)和需要必備的知識,所以nemesis-rip 比較難被script kiddies使用。想使用nemesis-rip成功進(jìn)行一次有效的RIP欺騙或者類似的工具需要很多和一定程度的相關(guān)知識。不過/"Hacking Exposed/"第二版第10章:Network Devices提到的有些工具組合可以比較容易的進(jìn)行RIP欺騙攻擊攻擊,這些工具是使用rprobe來獲得遠(yuǎn)程網(wǎng)絡(luò)RIP路由表,使用標(biāo)準(zhǔn)的tcpdump或者其他嗅探工具來查看路由表,srip來偽造RIP信息包(v1或者v2),再用fragrouter重定向路由來通過我們控制的主機(jī),并使用類似dsniff的工具來最后收集一些通信中的明文密碼。
盡管大家知道欺騙比較容易,但仍然存在一些大的網(wǎng)絡(luò)提供商仍舊依靠RIP來實(shí)現(xiàn)一些路由功能,雖然不知道他們是否采用來安全的措施。RIP顯然目前還是在使用,呵呵但希望很少人使用RIPv1,并且使用了采用MD5安全機(jī)制的RIPv2,或者已經(jīng)移植到了使用MD5認(rèn)證的OSPF來提高安全性。
Border Gateway Protocol (BGP,邊界網(wǎng)關(guān)協(xié)議)
BGP是Exterior Gateway Protocol (EGP,外部網(wǎng)關(guān)協(xié)議),此協(xié)議執(zhí)行的時候自主系統(tǒng)之間的路由,現(xiàn)在BGP4是最近的流行標(biāo)準(zhǔn),BGP使用幾種消息類型,其中這文章相關(guān)的最重要的消息是UPDATE消息類型,這個消息包含了路由表的更新信息,全球INTERNET大部分依靠BGP,因此一些安全問題必須很嚴(yán)肅的對待,L0pht幾年就宣稱過:他們能在很短的時間內(nèi)利用路由協(xié)議的安全如BGP來搞垮整個Internet.
BGP協(xié)議相關(guān)的漏洞和防范措施
BGP使用TCP 179端口來進(jìn)行通信,因此nmap必須探測TCP 179端口來判斷BGP的存在。
[root@test]# nmap -sS -p 179 -v router.ip.address.2
Interesting ports on (router.ip.address..2):
Port State Service
179/tcp open bgp
一個開放的BGP端口,更容易被攻擊
[root@test]# nmap -sS -n -p 179 router.ip.address.6
Interesting ports on (router.ip.address.6):
Port S
新聞熱點(diǎn)
疑難解答
圖片精選