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

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


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

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

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


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

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


圖I-4 ARP欺騙示意圖

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

實驗I ARP攻擊的攻、判、防

2.如何實施ARP攻擊

這里介紹兩款A(yù)RP攻擊軟件的使用方法,拓撲如圖I-5所示。


圖I-5 ARP攻擊

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

正確配置各計算機的IP地址。虛擬機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。虛擬機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。真實機的IP地址是192.168.1.200,掩碼255.255.255.0,網(wǎng)關(guān)192.168.1.1,DNS是218.2.135.1。

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

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

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


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

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


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

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

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


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

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

圖I-9 手工管理計算機


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

分享到

多易

相關(guān)推薦