圖I-1 數(shù)據(jù)的封裝和解封裝

2)ARP的工作原理。計(jì)算機(jī)發(fā)送封裝數(shù)據(jù)之前,對(duì)比目標(biāo)IP地址,判斷源和目標(biāo)在不在同一個(gè)網(wǎng)段,如在同一網(wǎng)段,則封裝目標(biāo)的MAC;如不在同一網(wǎng)段,則封裝網(wǎng)關(guān)的MAC。封裝之前,查看本機(jī)的ARP緩存,看有沒有下一跳對(duì)應(yīng)的IP和MAC映射條目,如有則直接封裝;如沒有則發(fā)送ARP查詢包。ARP查詢和應(yīng)答包的格式如圖I-2所示,查詢包中 "以太網(wǎng)目的地址"為0xffffffffffff廣播地址,"以太網(wǎng)源地址"為本機(jī)網(wǎng)卡的MAC地址,"幀類型"為0x0806表示ARP應(yīng)答或請(qǐng)求,"硬件類型"為0x0001表示以太網(wǎng)地址,"協(xié)議類型"為0x0800表示IP地址,"OP"為ARP的請(qǐng)求或應(yīng)答,ARP請(qǐng)求包的OP值為1,ARP應(yīng)答包的OP值為2,"發(fā)送端以太網(wǎng)地址"為發(fā)送者的MAC地址,"發(fā)送端IP"為發(fā)送者的IP地址,"目的以太網(wǎng)地址"這里為0x000000000000,"目的IP"為查詢MAC地址的IP。此包以廣播形式發(fā)送到網(wǎng)絡(luò)上,局域網(wǎng)中所有的計(jì)算機(jī)均收到此包,只有本機(jī)IP地址為"目的IP"的計(jì)算機(jī)對(duì)此數(shù)據(jù)包進(jìn)行響應(yīng),并回復(fù)此數(shù)據(jù)包。當(dāng)始發(fā)送端方收到此ARP應(yīng)答包后,即獲取到目標(biāo)IP對(duì)應(yīng)的MAC地址,然后就可進(jìn)行數(shù)據(jù)包的封裝了。


圖I-2 ARP的查詢和應(yīng)答包格式

(3)ARP的欺騙。于TCP通過序列號(hào)和確認(rèn)號(hào)字段不同,實(shí)施三次握手來保證數(shù)據(jù)傳輸?shù)目煽啃?,ARP是一個(gè)無狀態(tài)的協(xié)議,也就是說不管有沒有發(fā)送ARP請(qǐng)求,只要有發(fā)往本機(jī)的ARP應(yīng)答包,計(jì)算機(jī)都不加驗(yàn)證的接收,并更新自己的ARP緩存。了解ARP的工作原理后,只要有意圖的填充圖I-2中的某些字段,即可達(dá)到ARP攻擊的效果:IP地址沖突、ARP欺騙、ARP攻擊等。

P地址沖突。計(jì)算機(jī)檢測(cè)本機(jī)IP地址是否在網(wǎng)上被使用的方法是用本機(jī)IP地址作為目的IP地址,發(fā)送ARP查詢包,如果收到應(yīng)答,則說明本IP地址已經(jīng)在網(wǎng)上被使用,彈出IP地址被使用對(duì)話框,釋放出本機(jī)的IP地址。ARP攻擊者利用這一原理,用任意的MAC地址(非被攻擊者真實(shí)的MAC地址)填充"發(fā)送端以太網(wǎng)地址"字段,用被攻擊者的IP地址填充"發(fā)送端IP"字段,用被攻擊者的真實(shí)MAC地址填充"目的以太網(wǎng)地址"字段,用被攻擊者的IP地址填充"目的IP"字段,OP的值為"2",如圖I-3所示。當(dāng)被攻擊者收到這樣的ARP應(yīng)答后,就認(rèn)為本機(jī)的IP地址在網(wǎng)絡(luò)上已經(jīng)被使用,彈出IP地址沖突對(duì)話框。


圖I-3 IP地址沖突的ARP應(yīng)答包

ARP欺騙:如圖I-4所示,PC1是攻擊者,攻擊的目的是"中斷PC2與網(wǎng)關(guān)的通信"。PC1生成一個(gè)ARP應(yīng)答信息包,"發(fā)送端的IP"填寫成網(wǎng)關(guān)的IP地址,"發(fā)送端以太網(wǎng)地址"填寫一個(gè)非網(wǎng)關(guān)的MAC地址(這個(gè)地址可以隨機(jī)生成),"目的IP"填寫PC2的IP地址,"目的以太網(wǎng)地址"填入PC2的MAC地址。主機(jī)PC2收到這個(gè)最新的ARP應(yīng)答信息包后,就會(huì)用這個(gè)不正確的網(wǎng)關(guān)的MAC地址更新自己的ARP緩存表,以后PC2后就這個(gè)錯(cuò)誤的MAC地址進(jìn)行封裝,造成封裝后的數(shù)據(jù)包無法正確到達(dá)網(wǎng)關(guān);PC1類似的再發(fā)送一個(gè)不正確ARP應(yīng)答包給網(wǎng)關(guān),"發(fā)送端的IP"填寫成PC2的IP地址,"發(fā)送端以太網(wǎng)地址"填寫一個(gè)非PC2的MAC地址(這個(gè)地址可以隨機(jī)生成),"目的IP"填寫網(wǎng)關(guān)的IP地址。網(wǎng)關(guān)收到這樣的ARP應(yīng)答信息后,也在緩存中保存了錯(cuò)誤的PC2映射條目。PC1周期性向網(wǎng)關(guān)和PC2發(fā)送這樣的包,以免它們的ARP表老化,這樣就達(dá)到了阻止它們通信的目的。


圖I-4 ARP欺騙示意圖

ARP攻擊。以稱為中間人攻擊(Man-in-the-middle attack),與ARP欺騙類似,只是PC1發(fā)送ARP請(qǐng)求時(shí),所填入的"發(fā)送端以太網(wǎng)地址"不是隨機(jī)生成,而是替換成PC1本機(jī)的MAC地址,開啟PC1的路由功能–修改(添加)注冊(cè)表選項(xiàng)HKEY_LOCAL_ MACH INE SYSTEMCurrentControlSetServicesTcpipParametersIPEnableRouter = 0x1,同時(shí)在PC1上安裝竊聽軟件,截獲PC2與網(wǎng)關(guān)之間所有的通信包。

實(shí)驗(yàn)I ARP攻擊的攻、判、防

2.如何實(shí)施ARP攻擊

這里介紹兩款A(yù)RP攻擊軟件的使用方法,拓?fù)淙鐖DI-5所示。


圖I-5 ARP攻擊

第一款軟件主要用于攻擊,破壞正常的網(wǎng)絡(luò)通信,如圖I-5所示,在虛擬機(jī)2上安裝"網(wǎng)絡(luò)執(zhí)法官"軟件,破壞虛擬機(jī)1和真實(shí)機(jī)之間的正常通信,實(shí)驗(yàn)步驟如下。

正確配置各計(jì)算機(jī)的IP地址。虛擬機(jī)1的網(wǎng)卡類型Bridged,IP地址是192.168.1.220,掩碼255.255.255.0,網(wǎng)關(guān)192.168.1.1,DNS是218.2.135.1。虛擬機(jī)2的網(wǎng)卡類型Bridged,IP地址是192.168.1.210,掩碼255.255.255.0,網(wǎng)關(guān)192.168.1.1,DNS是218.2.135.1。真實(shí)機(jī)的IP地址是192.168.1.200,掩碼255.255.255.0,網(wǎng)關(guān)192.168.1.1,DNS是218.2.135.1。

在虛擬機(jī)2上安裝WinPcap。解壓縮"網(wǎng)絡(luò)執(zhí)法官.rar"文件,雙擊"WinPcap30.exe"文件,開始安裝WinPcap。

在虛擬機(jī)2上安裝網(wǎng)絡(luò)執(zhí)法官軟件。雙擊"網(wǎng)絡(luò)執(zhí)法官2.8破解版.exe"文件開始安裝網(wǎng)絡(luò)執(zhí)法官。

運(yùn)行網(wǎng)絡(luò)執(zhí)法官。第一次運(yùn)行執(zhí)法官,打開如圖I-6所示對(duì)話框,提示進(jìn)行監(jiān)控參數(shù)選擇。


圖I-6 監(jiān)控參數(shù)選擇

因?yàn)橹挥幸粔K網(wǎng)塊,選中最上面的網(wǎng)卡復(fù)選框,單擊"確定"按鈕。打開如圖I-7所示的監(jiān)控范圍選擇對(duì)話框,在指定監(jiān)控范圍中列出網(wǎng)卡所在子網(wǎng)的所有可用IP地址,單擊圖中的"添加/修改",把范圍加入后,單擊"確定"按鈕。


圖I-7 監(jiān)控范圍選擇

攻擊前測(cè)試。在虛擬機(jī)1上,打開DOS窗口,輸入ping 192.168.1.200 -t,持續(xù)的ping真實(shí)機(jī)的IP地址,可以發(fā)現(xiàn)是通的。不要關(guān)閉該窗口。

開始攻擊。網(wǎng)絡(luò)執(zhí)法官軟件可以監(jiān)測(cè)到同一個(gè)子網(wǎng)中所有在線的主機(jī),在網(wǎng)絡(luò)執(zhí)法官的管理界面中,右鍵單擊真實(shí)機(jī),從快捷菜單中選擇"手工管理",如圖I-8所示。


圖I-8 執(zhí)法官管理界面

在如圖I-9所示的對(duì)話框中,選中第三個(gè)選項(xiàng)"禁止與所有其他主機(jī)…",單擊"開始",此時(shí)可以發(fā)現(xiàn)虛擬機(jī)1和真實(shí)機(jī)之間的ping測(cè)試開始提示"Request timed out",通信中斷了。實(shí)際環(huán)境中,還可以只選中"禁止與關(guān)鍵主機(jī)連接…",然后單擊"關(guān)鍵主機(jī)",加入網(wǎng)關(guān)的地址,這樣被攻擊計(jì)算機(jī)只會(huì)中斷與網(wǎng)關(guān)的連接,和局域網(wǎng)內(nèi)計(jì)算機(jī)之間的通信不會(huì)中斷。

圖I-9 手工管理計(jì)算機(jī)


第二款軟件主要用于竊取有用信息,如圖I-5所示,在虛擬機(jī)1上安裝"Cain & Abel"軟件,破壞虛擬機(jī)1和真實(shí)機(jī)之間的正常通信,實(shí)驗(yàn)步驟如下。

分享到

多易

相關(guān)推薦