實(shí)例講解如何對目標(biāo)進(jìn)行ARP欺騙 |
發(fā)布時間: 2012/6/17 21:42:10 |
以太網(wǎng)內(nèi)的嗅探sniff對于網(wǎng)絡(luò)安全來說并不是什么好事,雖然對于網(wǎng)絡(luò)管理員能夠跟蹤數(shù)據(jù)包并且發(fā)現(xiàn)網(wǎng)絡(luò)問題,但是如果被破壞者利用的話,就對整個網(wǎng)絡(luò)構(gòu)成嚴(yán)重的安全威脅。
其中: A的地址為:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA B的地址為:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB C的地址為:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC 假設(shè)B是屬于一個嗅探愛好者的,比如A機(jī)器的ARP緩存: C:\>arp -a Interface: 192.168.10.1 on Interface 0x1000003 Internet Address Physical Address Type 192.168.10.3 CC-CC-CC-CC-CC-CC dynamic 這是192.168.10.1機(jī)器上的ARP緩存表,假設(shè),A進(jìn)行一次ping 192.168.10.3操作,PING主機(jī)C,會查詢本地的ARP緩存表,找到C的IP地址的MAC地址,那么就會進(jìn)行數(shù)據(jù)傳輸,目的地就是C 的MAC地址。如果A中沒有C的ARP記錄,那么A首先要廣播一次ARP請求,當(dāng)C接收到A 的請求后就發(fā)送一個應(yīng)答,應(yīng)答中包含有C的MAC地址,然后A接收到C的應(yīng)答,就會更新本地的ARP緩存。接著使用這個MAC地址發(fā)送數(shù)據(jù)(由網(wǎng)卡附加MAC地址)。因此,本地高速緩存的這個ARP表是本地網(wǎng)絡(luò)流通的基礎(chǔ),而且這個緩存是動態(tài)的。 集線器網(wǎng)絡(luò)(Hub-Based) 很多網(wǎng)絡(luò)都是用Hub進(jìn)行連接的。數(shù)據(jù)包經(jīng)過Hub傳輸?shù)狡渌嬎銠C(jī)的時候,Hub只是簡單地把這個數(shù)據(jù)包廣播到Hub的所有端口上。這就是上面舉例中的一種網(wǎng)絡(luò)結(jié)構(gòu)。 現(xiàn)在A需要發(fā)送TCP數(shù)據(jù)包給C。首先,A需要檢查本地的ARP 緩存表,查看是否有IP為192.168.10.3即C的ARP記錄,如果沒有那么A將要廣播一個ARP請求,當(dāng)C接收到這個請求后,就作出應(yīng)答,然后A更新自己的ARP緩存表。并獲得與C的IP相對應(yīng)的MAC地址。這時就傳輸這個TCP數(shù)據(jù)包,Ethernet幀中就包含了C的MAC地址。當(dāng)數(shù)據(jù)包傳輸?shù)紿UB的時候,HUB直接把整個數(shù)據(jù)包廣播到所有的端口,然后C就能夠接收到A發(fā)送的數(shù)據(jù)包。 正因?yàn)镠UB把數(shù)據(jù)廣播到所有的端口,所以計算機(jī)B也能夠收到A發(fā)送給C的數(shù)據(jù)包。這正是達(dá)到了B嗅探的目的。因此,Hub-Based的網(wǎng)絡(luò)基本沒有安全可言,嗅探在這樣的網(wǎng)絡(luò)中非常容易。 交換網(wǎng)絡(luò)(Switched Lan) 交換機(jī)用來代替HUB,正是為了能夠解決HUB的幾個安全問題,其中就是能夠來解決嗅探問題。Switch不是把數(shù)據(jù)包進(jìn)行端口廣播,它將通過自己的ARP緩存來決定數(shù)據(jù)包傳輸?shù)侥莻端口上。因此,在交換網(wǎng)絡(luò)上,如果把上面例子中的HUB換為Switch,B就不會接收到A發(fā)送給C的數(shù)據(jù)包,即便設(shè)置網(wǎng)卡為混雜模式,也不能進(jìn)行嗅探。 ARP欺騙(ARP spoofing) ARP協(xié)議并不只在發(fā)送了ARP請求才接收ARP應(yīng)答。當(dāng)計算機(jī)接收到ARP應(yīng)答數(shù)據(jù)包的時候,就會對本地的ARP緩存進(jìn)行更新,將應(yīng)答中的IP和MAC地址存儲在ARP緩存中。因此,在上面的假設(shè)網(wǎng)絡(luò)中,B向A發(fā)送一個自己偽造的ARP應(yīng)答,而這個應(yīng)答中的數(shù)據(jù)為發(fā)送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本來應(yīng)該是CC-CC-CC-CC-CC-CC,這里被偽造了)。當(dāng)A接收到B偽造的ARP應(yīng)答,就會更新本地的ARP緩存(A可不知道被偽造了),F(xiàn)在A機(jī)器的ARP緩存更新了: C:\>arp -a Interface: 192.168.10.1 on Interface 0x1000003 Internet Address Physical Address Type 192.168.10.3 DD-DD-DD-DD-DD-DD dynamic 這可不是小事。局域網(wǎng)的網(wǎng)絡(luò)流通可不是根據(jù)IP地址進(jìn)行,而是按照MAC地址進(jìn)行傳輸。現(xiàn)在192.168.10.3的MAC地址在A上被改變成一個本不存在的MAC地址,F(xiàn)在A開始Ping 192.168.10.3,網(wǎng)卡遞交的MAC地址是DD-DD-DD-DD-DD-DD,結(jié)果是什么呢?網(wǎng)絡(luò)不通,A根本不能Ping通C。∵@就是一個簡單的ARP欺騙。 我們來實(shí)現(xiàn)這樣的ARP欺騙。這里需要使用一個WinPcap提供的API和驅(qū)動。(http://winpcap.polito.it/),winpcap是一個偉大而且開放的項(xiàng)目。Windows環(huán)境下的nmap、snort、windump都是使用的winpcap。
本文出自:億恩科技【www.allwellnessguide.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |