【ARP入侵及防御(論文)12000字】_第1頁
【ARP入侵及防御(論文)12000字】_第2頁
【ARP入侵及防御(論文)12000字】_第3頁
【ARP入侵及防御(論文)12000字】_第4頁
【ARP入侵及防御(論文)12000字】_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

ARP入侵及防御目錄14592摘要 I22499第1章引言 127104第2章ARP工作原理 3167472.1以太網(wǎng)中的ARP協(xié)議簡介 3107412.2ARP協(xié)議原理 37114第3章ARP病毒及其工作原理 664333.1ARP病毒的發(fā)展 6268903.2ARP欺騙原理 682393.2.1常見ARP欺騙方式 6189623.2.2ARP欺騙表現(xiàn) 821163第4章利用虛擬機(jī)進(jìn)行ARP攻擊測試 1024414.1測試環(huán)境搭建 1022084.1.1物理機(jī)的基本配置情況 1079884.1.2虛擬機(jī)的搭建 10253774.1.3物理機(jī)與虛擬機(jī)連通 11304114.2進(jìn)行斷網(wǎng)攻擊測試 15312784.3進(jìn)行數(shù)據(jù)竊取測試 1824272第5章NDIS中間層驅(qū)動編程實(shí)現(xiàn)ARP過濾 2399125.1NDIS中間層簡介 23263705.2NDIS例程Passthru簡介 25127535.3ARP過濾的實(shí)現(xiàn) 2629517第6章利用虛擬機(jī)進(jìn)行ARP過濾測試 31149226.1測試環(huán)境搭建 31121486.2功能測試 33277216.3測試報(bào)告和總結(jié) 3512481第7章總結(jié)和展望 3617062參考文獻(xiàn) 3715998致謝 39第1章引言1.1研究背景ARP是基本協(xié)議,其用途非常廣泛。ARP在IP層中被重用,以分析本地網(wǎng)絡(luò)中第三層的協(xié)議地址和第二層的硬件地址之間的映射依賴性。ARP在局域網(wǎng)上運(yùn)行,而早期的協(xié)議開發(fā)人員則認(rèn)為局域網(wǎng)是可信賴的,而同時(shí),它們也未包含在安全機(jī)制中以考慮傳輸效率[1]。如今,網(wǎng)絡(luò)的規(guī)模已不再是以前的規(guī)模,因?yàn)楸镜鼐W(wǎng)絡(luò)不再是原始本地網(wǎng)絡(luò),因此ARP仍然扮演著與ARP協(xié)議相同的重要角色,攻擊者使用該功能來實(shí)現(xiàn)目標(biāo)的攻擊。ARP攻擊是通過欺騙IP和MAC地址來實(shí)現(xiàn)的,這會在目標(biāo)主機(jī)中的信息緩存中產(chǎn)生錯(cuò)誤,從而影響網(wǎng)絡(luò)通信并進(jìn)行網(wǎng)絡(luò)欺騙[2]。1.2研究現(xiàn)狀如今,越來越多的病毒正在使用ARP欺騙技術(shù)來成為局域網(wǎng)安全的新殺手[3]?!恫《绢A(yù)報(bào)》文章預(yù)測國家計(jì)算災(zāi)難管理中心(2007.6.4-2007.6.10)發(fā)現(xiàn)了一種新型的“地址解析協(xié)議欺騙”(簡稱:ARP欺騙的惡意軟件通過網(wǎng)絡(luò)傳播,并且看起來本地網(wǎng)絡(luò)上的數(shù)據(jù)的網(wǎng)絡(luò)響應(yīng)數(shù)據(jù)包,這會向其中添加代碼信息,最終導(dǎo)致以下事實(shí):本地網(wǎng)絡(luò)上的用戶計(jì)算機(jī)系統(tǒng)感染了特洛伊木馬,導(dǎo)致他們扭曲信息或丟失特洛伊木馬[4]。惡意ARPTrojan入侵了本地網(wǎng)絡(luò)中的計(jì)算機(jī)系統(tǒng)后,它將嘗試使用ARP欺騙來攔截來自本地網(wǎng)絡(luò)中其他計(jì)算機(jī)系統(tǒng)的消息,這將突然關(guān)閉本地網(wǎng)絡(luò)并隨著時(shí)間的推移恢復(fù)正常。同時(shí),網(wǎng)絡(luò)上的其他計(jì)算機(jī)系統(tǒng)也處于危險(xiǎn)之中,從而導(dǎo)致IP地址沖突,頻繁的網(wǎng)絡(luò)中斷,正面的瀏覽器錯(cuò)誤以及諸如系統(tǒng)上經(jīng)常使用的程序崩潰等現(xiàn)象[5]。它會分析本地網(wǎng)絡(luò)上的所有數(shù)據(jù)包,過濾請求查看該頁面的響應(yīng)包,并將惡意代碼插入到包中,在該包中,一旦IE中出現(xiàn)漏洞,用戶便會自動下載并啟動特洛伊木馬。計(jì)算機(jī)系統(tǒng)上的瀏覽器。諸如ARP欺騙之類的更多有害程序是一個(gè)更大的問題,尤其是對于本地網(wǎng)絡(luò)(如學(xué)校,網(wǎng)吧等)而言。1.3本文主要研究內(nèi)容現(xiàn)在,許多研究人員提出了一些針對ARP欺詐攻擊的方法,這些方法在一定程度上降低了ARP的發(fā)生率,這主要是通過保護(hù)諸如高速ARP緩存保護(hù)之類的技術(shù)來完成的,而這些技術(shù)并不能從根本上解決欺騙問題[6],由于ARP欺騙問題的出現(xiàn)是因?yàn)锳RP協(xié)議本身包含網(wǎng)絡(luò)中不可靠的漏洞。本文將從ARP協(xié)議本身開始,分析ARP協(xié)議的不可靠性因素,并提出對現(xiàn)有問題的具體解決方案,以實(shí)現(xiàn)從根本上解決ARP病毒問題。第2章ARP工作原理2.1以太網(wǎng)中的ARP協(xié)議簡介IEEE802標(biāo)準(zhǔn)委員會和802開發(fā)組已經(jīng)確定了兩種通過局域網(wǎng)傳輸數(shù)據(jù)的主要方法-以太網(wǎng)和令牌環(huán)[7]。以太網(wǎng)在IEE8023規(guī)范中定義為LAN,而環(huán)令牌在IEE802.5規(guī)范中定義。兩種方法都被廣泛使用,本文的研究針對以太網(wǎng)。使用總線和星形的以太網(wǎng)在拓?fù)浣Y(jié)構(gòu)方面是很好的,采用了CSMA/CD技術(shù)人員,該設(shè)備希望發(fā)送一個(gè)與每個(gè)節(jié)點(diǎn)資源競爭的幀,其優(yōu)先級都不高于每個(gè)節(jié)點(diǎn),該幀具有其自身的特性,物理地址完好無損,以太網(wǎng)通過另一個(gè)通道以太以太網(wǎng)全部發(fā)送丹,數(shù)據(jù)將在同一廣播區(qū)域的路口處接收[8]。雖然每個(gè)都有IP地址,但是TCP/IP機(jī)器的IP地址是通用的,該IP地址不是自報(bào)告的,傳輸必須依靠網(wǎng)絡(luò)適配器,唯一的硬件地址,該地址也是已知的作為MAC地址或通道,該地址通常是網(wǎng)絡(luò)適配器程序集中的唯一地址,具有全局唯一性[9]。以太網(wǎng)中的硬件地址為48位長,這表明ARP在IP地址和相應(yīng)的硬件地址之間提供了動態(tài)映射,因此轉(zhuǎn)換IP地址和硬件地址的ARP非常重要。2.2ARP協(xié)議原理ARP最初是為10兆以太網(wǎng)DEC/Intel/Xerox開發(fā)的,現(xiàn)在已允許在其他類型的網(wǎng)絡(luò)中使用。要從上級發(fā)送數(shù)據(jù),您需要知道對象的硬件地址,為此,您需要找到具有IP地址的相應(yīng)IP地址,網(wǎng)絡(luò)接口的輸出功能調(diào)用ARP協(xié)議進(jìn)行分析。ARP解析功能發(fā)送請求(作為廣播數(shù)據(jù)包發(fā)送),而實(shí)體服務(wù)器從ARP接收請求并發(fā)送響應(yīng)(作為單個(gè)傳輸數(shù)據(jù)包),則在接收到響應(yīng)后可以傳輸數(shù)據(jù)[10]。為了避免頻繁發(fā)送ARP請求和響應(yīng),主機(jī)將具有一個(gè)ARP緩存來存儲成功解析的ARP信息,因此通常在發(fā)送數(shù)據(jù)之前先查看ARP緩存,而在不發(fā)送ARP時(shí)將其發(fā)送。RFC826定義了ARP報(bào)文格式,以太網(wǎng)中使用的ARP報(bào)文格式如圖2-1所示。數(shù)據(jù)包由兩部分組成:以太網(wǎng)頭和以太網(wǎng)ARP字段。圖2-1以太網(wǎng)A丑P分組格式(1)以太網(wǎng)首部:以太網(wǎng)標(biāo)頭包含三個(gè)部分:以太網(wǎng)目標(biāo)地址,以太網(wǎng)源地址和幀類型。以太網(wǎng)目標(biāo)地址是通信目標(biāo)的48位MAC地址,這是廣播地址。這時(shí),電纜上的所有以太網(wǎng)接口都必須接收并處理此數(shù)據(jù)。以太網(wǎng)源地址是鏈接源端的48位MAC地址[11]。幀類型是以太網(wǎng)報(bào)頭中攜帶的數(shù)據(jù)類型,如果是IP幀,則是ox0800,如果是ARP幀,則是0x0806。(2)以太網(wǎng)ARP字段:由兩部分組成:ARP頭和ARP數(shù)據(jù)。ARP標(biāo)頭包含五個(gè)部分:硬件類型,協(xié)議類型,硬件地址長度,協(xié)議地址長度和操作碼。以太網(wǎng)地址的硬件類型字段值為1,IP地址的協(xié)議類型字段值為ox0800,硬件地址長度為6。指示以太網(wǎng)硬件地址[12],協(xié)議地址長度字段的值為4,表示它是IP地址。操作碼指示四種類型的ARP操作。ARP請求值為1,ARP響應(yīng)值為2,RARP請求和響應(yīng)分別為3和4(請參閱RARP協(xié)議)。本文未提供相關(guān)信息);某些ARP數(shù)據(jù)包括源硬件地址,源IP地址,目標(biāo)硬件地址和目標(biāo)IP地址。根據(jù)不同的情況填寫它們。ARP請求數(shù)據(jù)包填充了目標(biāo)硬件地址以外的地址。所有數(shù)據(jù)和ARP響應(yīng)數(shù)據(jù)都填充有所有數(shù)據(jù)。第3章ARP病毒及其工作原理3.1ARP病毒的發(fā)展對第二章的分析表明,ARP協(xié)議具有某些設(shè)計(jì)缺陷,可以欺騙ARP。ARP改變了技術(shù)和病毒技術(shù),從而通過欺騙攻擊性病毒或簡稱ARP病毒來創(chuàng)建ARP[17]。ARP是一種特殊類型的病毒,通常是指不會自動傳播或復(fù)制自身的特洛伊木馬病毒,但是當(dāng)受到攻擊時(shí),它會向網(wǎng)絡(luò)發(fā)送偽造的ARP數(shù)據(jù)包,從而干擾網(wǎng)絡(luò)的運(yùn)行,從而使其危害程度遠(yuǎn)遠(yuǎn)超過一些特制的蠕蟲病毒[18]。ARP病毒在2007年廣泛傳播,實(shí)際上,在更早的時(shí)間里,ARP攻擊引起了企業(yè)網(wǎng)絡(luò)的頭痛。相對較常見的是“特洛伊木馬”傳奇的一部分,當(dāng)本地網(wǎng)絡(luò)上的計(jì)算機(jī)接收到特洛伊木馬時(shí),它會將大量ARP數(shù)據(jù)包發(fā)送到本地網(wǎng)絡(luò),這對網(wǎng)絡(luò)的影響要大于造成的破壞。在2007年,ARP欺騙不再局限于此,而不僅限于此,它通過攔截Internet會話,在普通計(jì)算機(jī)訪問Internet時(shí)向普通計(jì)算機(jī)中插入有害代碼以迫使普通計(jì)算機(jī)瀏覽指定站點(diǎn)來進(jìn)行欺騙或下載Trojan病毒木馬[19]。更嚴(yán)重的是,攻擊已擴(kuò)展到內(nèi)容源的客戶端和服務(wù)器之間的所有鏈接。黑客技術(shù)和ARP欺詐的結(jié)合加劇了網(wǎng)絡(luò)上出現(xiàn)的安全問題。ARP欺騙技術(shù)目前正在進(jìn)一步發(fā)展,而不是引起與本地網(wǎng)絡(luò)的網(wǎng)絡(luò)斷開連接,速度下降等相關(guān)的問題,而存在一個(gè)嗅探本地網(wǎng)絡(luò)中的分類信息和其他Internet頁面的問題。3.2ARP欺騙原理3.2.1常見ARP欺騙方式從理論上講,ARP包中的所有性別都可以被偽造,您可以偽造最后一個(gè)(rad/單播),也可以偽造答案(rad/單播),從rad以太網(wǎng)包中,為廣播公司的第一個(gè)地址,從設(shè)置好后,您就可以拿到書包并進(jìn)行處理,因此可以輕松地發(fā)現(xiàn),雖然以太網(wǎng)第一部分中的目標(biāo)地址是某個(gè)主機(jī)的硬件地址,但是它只能由單個(gè)主機(jī)獲取,因此更加機(jī)密[20]。ARP欺騙在特定的實(shí)現(xiàn)中更為復(fù)雜,并且需要以混合模式的形式創(chuàng)建網(wǎng)卡,以便通過網(wǎng)絡(luò)接收所有數(shù)據(jù)包,而發(fā)送欺騙的ARP數(shù)據(jù)包則需要特殊的軟件(例如嗅探器)來發(fā)送欺騙的數(shù)據(jù)包為了確保成功實(shí)現(xiàn)欺騙,有必要以特定的頻率發(fā)送欺騙數(shù)據(jù)包。下面是ARP欺騙的具體實(shí)現(xiàn),我們將其視為簡單網(wǎng)絡(luò)結(jié)構(gòu)的示例。該網(wǎng)絡(luò)上的三臺主機(jī)在同一廣播域范圍內(nèi),表3-1列出了所有主機(jī)的網(wǎng)絡(luò)參數(shù)。表3-1主機(jī)的網(wǎng)絡(luò)參數(shù)(1)主機(jī)M假裝為主機(jī)S,并發(fā)送偽造的ARP請求(廣播)以告知所有主機(jī)我是S,我的IP地址是0,我的MAC地址是CC-CC-CC-CC-CC。..-CC,我想知道IP地址為1的主機(jī)的MAC地址。此時(shí),如果在節(jié)點(diǎn)T中有一個(gè)有效的ARP節(jié)點(diǎn)用于節(jié)點(diǎn)S的IP-MAC映射,則節(jié)點(diǎn)T將將此映射更新為(0,CC-CC-CC-CC-CC-CC),因此,隨后從主機(jī)T發(fā)送到具有IP地址(IP地址0)的主機(jī)S的數(shù)據(jù)將被發(fā)送到主機(jī)M(MAC地址-CC-CC-CC-CC-CC-CC)[22]。表3-2列出了偽造包中的主要數(shù)據(jù)。表3-2假冒ARP廣播包中的主要數(shù)據(jù)(2)主機(jī)M模擬主機(jī)T并向主機(jī)S發(fā)送偽造的ARP答復(fù)(單播),告訴主機(jī)S我是主機(jī)T,我的IP地址是1,我的MAC地址是CC-CC-CC-CC-CC-CC。此時(shí),主機(jī)S將ARP緩存中主機(jī)T的IP-MAC映射更新為(1,CC-CC-CC-CC-CC-CC),以便主機(jī)S將發(fā)送到主機(jī)T(IP地址1)數(shù)據(jù)將發(fā)送到主機(jī)M(MAC地址CC-CC-CC-CC-CC-CC)。表3-3列出了有關(guān)假冒包裝的基本信息。表3-3假冒ARP應(yīng)答包中的主要數(shù)據(jù)(3)虛假中介主機(jī)M同時(shí)將虛假ARP數(shù)據(jù)包發(fā)送到主機(jī)S和T,以ARP應(yīng)答數(shù)據(jù)包為例。主機(jī)M假裝為主機(jī)T,并向主機(jī)S發(fā)送偽造的ARP答復(fù),告訴主機(jī)S我是主機(jī)T,我的IP地址是1,我的MAC地址是CC-CC-CC-CC-CC-CC。主機(jī)S將把緩存中主機(jī)T的IP-MAC映射更新為(1,CC-CC-CC-CC-CC-CC);同時(shí),主機(jī)M假裝為主機(jī)S,并向主機(jī)T發(fā)送偽造的ARP響應(yīng),告訴主機(jī)T我是主機(jī)S,我的IP地址是1,我的MAC地址是CCCC-CC-CC-CC-CC,然后主機(jī)T將更新此緩存(0,CC-CC-CC-CC-CC-CC)中主機(jī)S的IP-MAC映射。因此,主機(jī)S和主機(jī)T之間的通信將通過轉(zhuǎn)發(fā)主機(jī)M來完成。當(dāng)然,在該主機(jī)M上,必須啟用NIC數(shù)據(jù)包轉(zhuǎn)發(fā)功能[23],表3-4列出了主機(jī)M偽裝成主機(jī)S發(fā)給主機(jī)T的包中的主要數(shù)據(jù)。表3-4假冒主機(jī)S發(fā)送應(yīng)答包的主要數(shù)據(jù)表3-5列出了主機(jī)M偽裝成主機(jī)T發(fā)給主機(jī)S的包中的主要數(shù)據(jù)。表3-5假冒主機(jī)T發(fā)送應(yīng)答包的主要數(shù)據(jù)(4)拒絕服務(wù)攻擊。如果M將消息中的發(fā)件人的硬件地址設(shè)置為不存在的硬件地址,則源主機(jī)在收到該消息后會更新ARP緩存信息,這將導(dǎo)致IP-MAC映射錯(cuò)誤和數(shù)據(jù)發(fā)送到目標(biāo)主機(jī)。將被發(fā)送到不存在的硬件地址[24],并且目標(biāo)主機(jī)將不會接收源主機(jī)發(fā)送的數(shù)據(jù)包。響應(yīng)數(shù)據(jù)包,將認(rèn)為通信節(jié)點(diǎn)未響應(yīng),因此通信被中斷。前述的ARP欺騙大多是在一個(gè)網(wǎng)段即同一廣播域中實(shí)現(xiàn)的。如果要在不同的網(wǎng)段中實(shí)施,則必須將其與ICMP重定向技術(shù)結(jié)合使用。本文將不討論。3.2.2ARP欺騙表現(xiàn)ARP欺騙技術(shù)和黑客技術(shù)的結(jié)合對網(wǎng)絡(luò)安全構(gòu)成了嚴(yán)重威脅。有兩種明顯的表現(xiàn)形式:(1)網(wǎng)絡(luò)連接正常,但是部分或所有計(jì)算機(jī)無法訪問Internet,無法打開網(wǎng)頁或無法打開網(wǎng)頁,速度較慢,LAN連接間歇性,頻繁出現(xiàn)IP地址沖突等,這嚴(yán)重影響了網(wǎng)絡(luò)的正常運(yùn)行。...這種現(xiàn)象主要是由于在網(wǎng)絡(luò)上發(fā)送了大量的ARP欺騙數(shù)據(jù)包,從而影響了主機(jī)和網(wǎng)絡(luò)的性能。(2)出現(xiàn)了ARP病毒的新變種。這種ARP病毒還會在整個(gè)網(wǎng)絡(luò)上發(fā)送偽造的ARP欺騙廣播,但該病毒偽裝成網(wǎng)關(guān),并在受害者的主機(jī)和網(wǎng)關(guān)之間安裝了單向轉(zhuǎn)發(fā)代理。結(jié)果,當(dāng)用戶訪問網(wǎng)站時(shí),防病毒軟件將發(fā)出病毒警告,由于防病毒軟件更新不及時(shí),一些用戶可能已感染病毒[25]。最明顯的是,病毒將出現(xiàn)在所有訪問的網(wǎng)站上,并添加了頁面代碼,例如:<iframesrc=http://****.com/***width=0height=0frameborder=0></iframe>之類的代碼,鏈接地址是特定網(wǎng)站上的特洛伊木馬,它會感染所有打開的網(wǎng)頁。如果用戶的防病毒軟件沒有連接,特洛伊木馬程序?qū)⒆詣酉螺d并啟動,用戶信息將被完全披露,黑客將輕松竊取敏感信息,例如用戶帳戶和密碼。第4章利用虛擬機(jī)進(jìn)行ARP攻擊測試4.1測試環(huán)境搭建當(dāng)前情況下,我們的計(jì)算機(jī)設(shè)備上網(wǎng)時(shí)需要局域網(wǎng)的連接,而網(wǎng)絡(luò)的連接需要通過網(wǎng)關(guān)進(jìn)行。所謂arp欺騙就是使得受害靶機(jī)誤認(rèn)為攻擊發(fā)起的計(jì)算機(jī)設(shè)備是網(wǎng)關(guān),從而實(shí)現(xiàn)對受害靶機(jī)的斷網(wǎng)和信息監(jiān)視、竊取。所以,此次實(shí)驗(yàn)中我們需要兩個(gè)計(jì)算機(jī)系統(tǒng)。虛擬機(jī)充當(dāng)攻擊機(jī),物理機(jī)為受害靶機(jī)。絕大多數(shù)網(wǎng)絡(luò)都帶有ARP自動隔離以及項(xiàng)目合法性問題,所以需要我們利用自己網(wǎng)絡(luò)資源搭設(shè)網(wǎng)絡(luò)環(huán)境,同時(shí)需要將物理機(jī)和虛擬機(jī)設(shè)置在同一局域網(wǎng)下。4.1.1物理機(jī)的基本配置情況表4-1給出了物理機(jī)的主要配置情況項(xiàng)目描述操作系統(tǒng)Windows10內(nèi)存2G網(wǎng)卡RealtekRTL8139/810xFamilyFastEthernetNIC硬盤60G網(wǎng)絡(luò)IP地址4MAC:e0:94:67:9c:24:e94.1.2虛擬機(jī)的搭建目前,較為常用的虛擬機(jī)軟件有VMware和VirtualPC,本文采用VMWare軟件搭建虛擬機(jī)環(huán)境。我們將虛擬機(jī)基本參數(shù)配置完畢后,選擇安裝CentOS系統(tǒng)和顯卡驅(qū)動程序,待系統(tǒng)修復(fù)后,我們從用盤啟動,進(jìn)行內(nèi)存測試。如圖4-2進(jìn)行虛擬機(jī)基本配置,并完成虛擬機(jī)搭建工作,使得虛擬機(jī)正常運(yùn)行。圖4-2虛擬機(jī)的基本配置圖4-3虛擬機(jī)開機(jī)后的運(yùn)行界面4.1.3物理機(jī)與虛擬機(jī)連通將虛擬機(jī)和物理機(jī)放置在同一個(gè)局域網(wǎng)下通過控制面板中的“網(wǎng)絡(luò)和打開虛擬機(jī)設(shè)置”打開網(wǎng)絡(luò)和Internet選項(xiàng)查看網(wǎng)絡(luò)狀態(tài)和任務(wù),點(diǎn)擊屬性查看物理機(jī)中網(wǎng)卡數(shù)據(jù)。在網(wǎng)網(wǎng)絡(luò)連接中選擇橋接模式,在虛擬網(wǎng)絡(luò)編輯器中選擇更改設(shè)置選項(xiàng),將網(wǎng)卡設(shè)置為與物理機(jī)相同的網(wǎng)卡。圖4-4虛擬機(jī)設(shè)置界面此時(shí)我們需要查看物理機(jī)即攻擊機(jī)的網(wǎng)卡名稱、ip地址、MAC地址。本文主要采用到到兩種方式,確定相關(guān)內(nèi)容,同時(shí)起到相互印證的作用確保實(shí)驗(yàn)結(jié)果準(zhǔn)確性。首先在虛擬機(jī)中打開終端,輸入ifconfig命令,此時(shí)出現(xiàn)物理機(jī)的網(wǎng)卡名稱、ip地址、MAC地址得到如圖4-5顯示數(shù)據(jù)。其中,紅色箭頭指向網(wǎng)卡名稱,為:eth0;紫色箭頭為ip地址,具體為:49;藍(lán)色箭頭為MAC地址,即00:0c:29:cd:6c:36。圖4-5終端顯示物理機(jī)數(shù)據(jù)在虛擬機(jī)中,通過fping命令,查看當(dāng)前局域網(wǎng)內(nèi)存在主機(jī)數(shù)目及網(wǎng)絡(luò)連接情況,以確定攻擊的主機(jī)(受害機(jī))的ip地址。輸入fping命令后,出現(xiàn)當(dāng)前局域網(wǎng)的網(wǎng)關(guān)和受攻擊的物理機(jī)地址??芍?dāng)前局域網(wǎng)的網(wǎng)關(guān),要攻擊的物理機(jī)的ip地址為4。圖4-6fping命令查看局域網(wǎng)內(nèi)主機(jī)情況在物理機(jī)中,通過控制面板中的網(wǎng)絡(luò)和共享中心查看物理機(jī)的ip地址,驗(yàn)證上述操作得到相關(guān)數(shù)據(jù)是否正確。如圖4-7所示,最終確定物理機(jī)的ip地址的確為4(藍(lán)色箭頭),其MAC地址為E0-94-67-9C-24-E9(紅色箭頭),而局域網(wǎng)的網(wǎng)關(guān)地址為,與fping指令得到的數(shù)據(jù)保持一致,確保相關(guān)信息準(zhǔn)確性。圖4-7網(wǎng)絡(luò)連接詳情下一步需在虛擬機(jī)中,ping要攻擊的物理機(jī),同時(shí)在物理機(jī)中ping虛擬機(jī),確保兩臺主機(jī)可以通信。但此時(shí),物理機(jī)可以ping通虛擬機(jī),虛擬機(jī)卻ping不通物理機(jī)。這是由于linux系統(tǒng)相比win10系統(tǒng)來說較為開放,linux系統(tǒng)默認(rèn)開啟ping功能,而win10系統(tǒng)默認(rèn)關(guān)閉ping功能。我們查看win10系統(tǒng)Ping相關(guān)服務(wù)的開啟狀態(tài),手動啟用ICMP的回顯請求規(guī)則。啟用規(guī)則后再次重復(fù)ping通操作。此時(shí)發(fā)現(xiàn),沒有包丟失,即兩臺主機(jī)可以通信。如圖4-8所示。圖4-8物理機(jī)與虛擬機(jī)ping通至此,測試環(huán)境搭載基本完成,被攻擊主機(jī)為物理機(jī),ip地址設(shè)置為4,MAC地址為e0:94:67:9c:24:e9;攻擊主機(jī)為虛擬機(jī),其IP地址為49,MAC地址為00:0c:29:cd:6c:36;網(wǎng)絡(luò)連接所需要網(wǎng)關(guān)的IP地址為,MAC地址為d4-61-2e-d6-bc-10;4.2進(jìn)行斷網(wǎng)攻擊測試在進(jìn)行ARP攻擊測試實(shí)驗(yàn)之前,為了方便與被攻擊后的ARP緩存表進(jìn)行對照。,我們需要先行查看并記錄被攻擊主機(jī)的ARP緩存表。此處的操作方法為,在物理機(jī)中,打開cmd,輸入arp–a指令,得到如圖4-9。其中可以明顯看到,網(wǎng)關(guān)物理地址為d4-61-2e-d6-bc-10;被攻擊主機(jī)物理地址為e0-94-67-9c-24-e9,兩者物理地址并不相同圖4-9被攻擊主機(jī)ARP緩存表此時(shí),檢測一下被攻擊主機(jī)的聯(lián)網(wǎng)狀態(tài),我們用被攻擊主機(jī)的cmd來ping百度網(wǎng)址。此時(shí)包未丟失,百度網(wǎng)址連接正常,被攻擊主機(jī)可以正常上網(wǎng),如圖4-10所示:圖4-10包未丟失,網(wǎng)絡(luò)連接正常在虛擬機(jī)中打開終端,對物理機(jī)發(fā)起ARP斷網(wǎng)攻擊,我們需要用到利用arpspoof工具輔助。在Terminal終端中輸入arpspoof-ieth0-t4。如圖4-11所示,該串代碼中-i后的參數(shù)為網(wǎng)卡名稱,-t后面的參數(shù)是目的主機(jī)和網(wǎng)關(guān),目的是要截獲目的主機(jī)發(fā)往網(wǎng)關(guān)的數(shù)據(jù)包。此時(shí)虛擬機(jī)通過不斷地向物理機(jī)發(fā)送ARP應(yīng)答包,這些發(fā)送的應(yīng)答包將虛擬機(jī)的物理地址0:c:29:cd:6c:36同網(wǎng)關(guān)的ip地址綁定,從而實(shí)現(xiàn)將物理機(jī)的ARP緩存表中的網(wǎng)關(guān)的MAC地址修改為虛擬機(jī)的MAC地址。此時(shí),物理機(jī)受到ARP欺詐,無法聯(lián)網(wǎng)。為了驗(yàn)證物理機(jī)網(wǎng)絡(luò)連接情況,我們在物理機(jī)中使用cmd指令,再次發(fā)送ping包到百度網(wǎng)址,同時(shí)候手動打開百度頁面,查看物理機(jī)網(wǎng)絡(luò)連接情況。圖4-11ARP欺詐圖4-12數(shù)據(jù)請求超時(shí),包全部丟失圖4-12無法手動連接到百度網(wǎng)頁最后,我們再次檢查被攻擊靶機(jī)的ARP緩存表,如圖4-13。查看網(wǎng)關(guān)和攻擊主機(jī)的MAC地址,驗(yàn)證其是否被ARP攻擊。此時(shí)發(fā)現(xiàn),兩者均為攻擊主機(jī)的MAC地址,由此斷定,斷網(wǎng)是由于被攻擊靶機(jī)遭受ARP攻擊所致。圖4-13被攻擊靶機(jī)的ARP緩存表4.3進(jìn)行數(shù)據(jù)竊取測試數(shù)據(jù)竊取測試所需要環(huán)境與斷網(wǎng)攻擊環(huán)境完全相同。數(shù)據(jù)竊取方式和相關(guān)軟件種類較多,本文利用arpspoof工具和driftnet工具進(jìn)行ARP欺騙。并最終截獲受害靶機(jī)的圖片內(nèi)容。由于linux系統(tǒng)出于安全考慮,不支持IP轉(zhuǎn)發(fā)。在進(jìn)行ARP欺騙實(shí)驗(yàn)前,首先要打開攻擊主機(jī)的IP轉(zhuǎn)發(fā)功能。此處由于實(shí)現(xiàn)攻擊主機(jī)的IP轉(zhuǎn)發(fā)功能其配置文件寫在/proc/sys/net/ipv4的ip_forward中,默認(rèn)為0,即不可轉(zhuǎn)發(fā)狀態(tài),我們也通過文件夾手動修改形式,將0修改為1。如圖4-14所示。圖4-14虛擬機(jī)ipv4-文件管理器當(dāng)然也可以直接通過命令行echo1>/proc/sys/net/ipv4/ip_forward實(shí)現(xiàn)Linux的IP轉(zhuǎn)發(fā)功能。在正式進(jìn)行ARP欺詐測試時(shí),首先檢測物理機(jī)網(wǎng)絡(luò)連接狀況,ping通百度,確定物理機(jī)網(wǎng)絡(luò)連接情況正常,沒有包丟失,百度網(wǎng)頁正常登錄,物理機(jī)網(wǎng)絡(luò)連接正常。在kalilinux中利用arpspoof工具,對物理機(jī)發(fā)起ARP欺詐攻擊。如圖4-15,輸入代碼arpspoof-ieth0-t4。此時(shí),-i后相關(guān)參數(shù)eth0為網(wǎng)卡名稱,-t后4為目的主機(jī)和網(wǎng)關(guān),這是為了截獲目的主機(jī)發(fā)往網(wǎng)關(guān)的數(shù)據(jù)包。如圖4-15所示,虛擬機(jī)不斷地向物理機(jī)發(fā)送ARP應(yīng)答包,此應(yīng)答包將網(wǎng)關(guān)的ip地址和虛擬機(jī)的MAC地址0:c:29:cd:6c:36相互綁定,從而將物理機(jī)ARP緩存表中的網(wǎng)關(guān)的MAC地址強(qiáng)行修改為虛擬機(jī)的MAC地址。通過此手段,虛擬機(jī)即攻擊機(jī)截獲了物理機(jī)和網(wǎng)關(guān)之間的數(shù)據(jù)包,實(shí)現(xiàn)了數(shù)據(jù)竊取。圖4-15kalilinux中的arpspoof工具進(jìn)行攻擊此時(shí)為了更進(jìn)一步驗(yàn)證所得結(jié)論,我們需要ping百度網(wǎng)頁,以驗(yàn)證物理機(jī)的網(wǎng)絡(luò)連接狀態(tài)。如圖4-16所示,通過物理機(jī)cmd指令,我們發(fā)現(xiàn),ping通,沒有包丟失可以正常連接網(wǎng)頁,物理機(jī)網(wǎng)絡(luò)連接情況正常。進(jìn)一步檢查ARP緩存表,查看是否遭受ARP欺騙。如圖4-17,此時(shí)受害靶機(jī)的ARP緩存表中網(wǎng)關(guān)與攻擊主機(jī)的MAC地址一致,兩者綁定且均為攻擊主機(jī)MAC地址。由此認(rèn)定,物理機(jī)遭受了ARP欺騙。圖4-16物理機(jī)網(wǎng)絡(luò)狀態(tài)圖4-17物理機(jī)ARP緩存表當(dāng)前情況下,由于靶機(jī)遭受了ARP欺詐,物理機(jī)和網(wǎng)關(guān)通信產(chǎn)生的所有數(shù)據(jù)包都將通過虛擬機(jī)。此時(shí)在虛擬機(jī)中利用driftnet工具,可以實(shí)時(shí)捕獲物理機(jī)正在瀏覽的圖片。如圖4-18,在虛擬機(jī)終端中打開driftnet,可以看到物理機(jī)與網(wǎng)關(guān)間流入數(shù)據(jù)包被虛擬機(jī)不斷捕獲。圖4-18虛擬機(jī)driftnet工具此時(shí)在物理機(jī)中查看棗莊學(xué)院?;請D片,如圖4-19。此時(shí)虛擬機(jī)中driftnet窗口右下角顯示物理機(jī)查看圖片,即棗莊學(xué)院校徽,如圖4-20。由此,圖片捕獲成功,物理機(jī)即受害靶機(jī)網(wǎng)絡(luò)連接正常,但被攻擊主機(jī)監(jiān)視,ARP欺詐實(shí)現(xiàn),受害靶機(jī)數(shù)據(jù)泄露。圖4-19物理機(jī)瀏覽圖片圖4-20虛擬機(jī)driftnet窗口圖片顯示第5章NDIS中間層驅(qū)動編程實(shí)現(xiàn)ARP過濾網(wǎng)絡(luò)包過濾有兩種主要類型,一種在用戶模式下,另一種在內(nèi)核模式下[26]。用戶模式的數(shù)據(jù)包篩選主要包括三種方法:Winsock分層服務(wù)提供程序(LayeredServiceProvider,LSP),Windows2000/XP數(shù)據(jù)包篩選接口,以及替換系統(tǒng)隨附的Winsock動態(tài)鏈接庫。攔截操作只能在Winsock中執(zhí)行,這是在層次結(jié)構(gòu)上完成的,并且無法處理網(wǎng)絡(luò)協(xié)議堆棧中基礎(chǔ)協(xié)議的數(shù)據(jù)包。內(nèi)核模式數(shù)據(jù)篩選主要包括傳輸數(shù)據(jù)接口(TDI)篩選器驅(qū)動程序,NDIS(中間1M)驅(qū)動程序,Windows2000篩選器掛鉤驅(qū)動程序(Filter_Hook驅(qū)動程序)和NDIS掛鉤驅(qū)動程序(NDIS掛鉤)。司機(jī))。有四種方法。TDI定義了一個(gè)內(nèi)核模式網(wǎng)絡(luò)接口,所有傳輸協(xié)議堆棧都將其導(dǎo)出到上層。它位于TcpIp.sys上,無法篩選所有數(shù)據(jù)包;請參閱第4章。Windows2000篩選器陷阱驅(qū)動程序使用ipfiltdry.sys提供的功能來捕獲數(shù)據(jù)包,Microsoft不建議這樣做。NDIS攔截篩選器驅(qū)動程序是通過攔截器指定的NDIS導(dǎo)出功能實(shí)現(xiàn)的,但它高度依賴于平臺,并且程序需要評估不同的操作系統(tǒng)版本才能使用不同的結(jié)構(gòu)定義。NDIS中級驅(qū)動程序的過濾功能強(qiáng)大,可以捕獲所有網(wǎng)絡(luò)數(shù)據(jù)包,并具有廣泛的應(yīng)用程序。因此,本文選擇NDIS中間層驅(qū)動程序進(jìn)行ARP數(shù)據(jù)包篩選操作。5.1NDIS中間層簡介NDIS代表網(wǎng)絡(luò)驅(qū)動程序接口規(guī)范。這是由Microsoft和3Com開發(fā)的網(wǎng)絡(luò)驅(qū)動程序接口規(guī)范。它極大地簡化了Windows網(wǎng)絡(luò)驅(qū)動程序的開發(fā),并允許您編寫符合NDIS規(guī)范的驅(qū)動程序;在編程時(shí),僅調(diào)用NDIS函數(shù)即可,而不必考慮操作系統(tǒng)內(nèi)核和與其他驅(qū)動程序的接口,從而使操作系統(tǒng)更加方便支持不同的網(wǎng)絡(luò)。Microsoft網(wǎng)絡(luò)協(xié)議使用網(wǎng)絡(luò)設(shè)備接口規(guī)范(NDIS)和網(wǎng)卡驅(qū)動程序進(jìn)行通信。開放系統(tǒng)互連(OSI)模型中的大多數(shù)數(shù)據(jù)鏈路層功能都在協(xié)議棧中實(shí)現(xiàn),從而簡化了網(wǎng)卡驅(qū)動程序的開發(fā)[27]。NDIS的主要目標(biāo)是開發(fā)用于NIC(網(wǎng)絡(luò)接口卡)的標(biāo)準(zhǔn)API。MAC(媒體訪問控制器,媒體訪問控制器)設(shè)備驅(qū)動程序封裝了網(wǎng)絡(luò)適配器的所有硬件實(shí)現(xiàn),因此可以通過通用的編程接口訪問使用同一媒體的所有網(wǎng)絡(luò)適配器。NDIS還提供了一個(gè)函數(shù)庫。該庫中的功能可以由MAC驅(qū)動程序或更高層協(xié)議驅(qū)動程序(例如TCP/IP)調(diào)用。這些功能簡化了MAC驅(qū)動程序和協(xié)議驅(qū)動程序的開發(fā)。也減少了駕駛員對工作平臺的依賴。NDIS支持三種類型的網(wǎng)絡(luò)驅(qū)動程序:網(wǎng)絡(luò)適配器驅(qū)動程序,中間協(xié)議驅(qū)動程序和高層協(xié)議驅(qū)動程序。中間驅(qū)動程序位于網(wǎng)卡驅(qū)動程序和協(xié)議驅(qū)動程序之間。它提供了微型端口功能設(shè)置和協(xié)議功能設(shè)置。因此,對于上層協(xié)議驅(qū)動程序,這是微型端口驅(qū)動程序,對于基本網(wǎng)卡,該驅(qū)動程序是協(xié)議驅(qū)動程序。圖5-1是中端驅(qū)動程序安裝前后的比較。圖5-1NDIS中間層驅(qū)動安裝前后對比從圖中看出,中間驅(qū)動程序在協(xié)議驅(qū)動程序和微型端口驅(qū)動程序之間插入了一層,因此從上層發(fā)送的數(shù)據(jù)包和從網(wǎng)絡(luò)接收的數(shù)據(jù)包必須經(jīng)過它并進(jìn)行傳輸,這可以是從較低層接收網(wǎng)絡(luò)數(shù)據(jù)包,并根據(jù)它們執(zhí)行諸如過濾和修改數(shù)據(jù)之類的操作。由于中間驅(qū)動程序?qū)嶋H上不是直接從較低層截取的比特流,而是通過NDIS傳輸?shù)模虼藢?shí)際的數(shù)據(jù)包不包含由NDIS過濾掉的CRC(循環(huán)冗余校驗(yàn)碼)。5.2NDIS例程Passthru簡介Passthru是MicrosoftDDK(驅(qū)動程序開發(fā)套件)提供的示例中檔驅(qū)動程序源代碼。它為中間層驅(qū)動程序提供了一個(gè)通用框架,可以幫助開發(fā)人員快速了解中間層驅(qū)動程序的實(shí)現(xiàn)方式。Passthru在網(wǎng)絡(luò)層和媒體訪問控制層之間工作。所有通過網(wǎng)絡(luò)的數(shù)據(jù)包都必須由Passthru轉(zhuǎn)發(fā)。因此,只能通過基于Passthru進(jìn)行適當(dāng)?shù)母膩韺?shí)現(xiàn)不同類型的應(yīng)用程序。本文基于Passthru進(jìn)行擴(kuò)展,以實(shí)現(xiàn)ARP數(shù)據(jù)包的偵聽和過濾。表5-1列出了Passthru例程中包括的文件。表5-1Passthru例程包含的文件5.3ARP過濾的實(shí)現(xiàn)Windows程序分為兩部分:用戶模式程序和內(nèi)核模式程序。用戶模式程序通常被稱為WIN32應(yīng)用程序,它們主要基于WINAPI編程,并在RING3系統(tǒng)級別上運(yùn)行,它們以進(jìn)程為單位來保護(hù)內(nèi)存和其他資源。它們可以直接編譯,鏈接和調(diào)試。使用VisualStudio之類的工具;內(nèi)核模式程序在操作系統(tǒng)的底部運(yùn)行,并具有RINGO級別的特權(quán)。大多數(shù)設(shè)備驅(qū)動程序,包括網(wǎng)絡(luò)驅(qū)動程序,都?xì)w內(nèi)核模式程序所有。在RINGO級別上編寫此類程序時(shí),沒有WINAPI接口,沒有窗口,也沒有消息要處理,也沒有Windows保護(hù)措施來防止損壞其他進(jìn)程和操作系統(tǒng)。Microsoft的DDK(驅(qū)動程序開發(fā)套件)是一種通用的內(nèi)核模式設(shè)備驅(qū)動程序開發(fā)套件。DDK提供編寫內(nèi)核模式程序所需的內(nèi)核模式例程和內(nèi)核宏功能[28]。MicrosoftDDK中的Passthru示例提供了通用中型驅(qū)動程序的基本結(jié)構(gòu)。使用Passthru可以簡單地轉(zhuǎn)發(fā)所有數(shù)據(jù)包。本文擴(kuò)展了Passthru,使其可以根據(jù)預(yù)定義的條件執(zhí)行ARP數(shù)據(jù)包。驅(qū)動程序擴(kuò)展的具體工作:1.添加相關(guān)的管理界面用戶程序必須與驅(qū)動程序進(jìn)行交互以打開驅(qū)動程序控制NIC的句柄,向驅(qū)動程序添加過濾器規(guī)則等。它們之間的通信基于IRP接口,并且驅(qū)動程序根據(jù)IRP接口注冊調(diào)度過程。IRP最終實(shí)現(xiàn)內(nèi)核模式。在Passthru的終端接口下,已指定了基本的公設(shè)備控制接口。在Passthru.c文件中,PtRegisterDeviee過程調(diào)用NdisRegisterDevice函數(shù)來創(chuàng)建設(shè)備對象和Win32可見的符號連接名稱,并注冊該函數(shù)以處理I/O請求。2.基本控制功能的類型(1)驗(yàn)證碼:限制IOCTLPT_JSERIOENUMER控制代碼實(shí)現(xiàn)的功能是查詢控制它的當(dāng)前綁定列表。應(yīng)用程序?qū)⒖刂拼a發(fā)送給驅(qū)動程序,并提供用戶模式輸出緩沖區(qū),而驅(qū)動程序分派例程將使用綁定名稱字符串來填充用戶模式輸出緩沖區(qū)。返回對DevfoControl子例程的調(diào)用,并且用戶程序可以具有驅(qū)動程序綁定的名稱,以根據(jù)當(dāng)前綁定的驅(qū)動程序網(wǎng)絡(luò)接口卡的列表的請求來實(shí)現(xiàn)用戶功能。(2)檢查代碼:IOCTLPTUSERIOOPENADAPTER用戶模式適配器打開功能通過調(diào)用驅(qū)動程序的DevfoConirol例程并發(fā)送IOCTL_PTUSERIO_OPEN_ADAPTER控制代碼來結(jié)束適配器打開功能。此操作為適配器綁定OPEN_CONTEXT結(jié)構(gòu)。(3)檢查代碼:IOCTL_PTUSERIO_ADD_FILTER控制代碼的功能是向適配器添加過濾規(guī)則。用戶程序?yàn)轵?qū)動程序提供了過濾規(guī)則的輸入緩沖區(qū)。驅(qū)動程序首先請求一個(gè)內(nèi)存區(qū)域來存儲過濾規(guī)則,然后使用用戶程序提供的過濾規(guī)則參數(shù)來填充該內(nèi)存。如果不為空,則可以過濾驅(qū)動程序中的數(shù)據(jù)。(4)檢查代碼:IOCTL_PTUSERIO_CLEAR_FILTER此控制代碼的功能是清除適配器上的過濾規(guī)則。您只需要釋放驅(qū)動程序中過濾規(guī)則所請求的內(nèi)存。此時(shí),過濾規(guī)則為空,并且不會對數(shù)據(jù)執(zhí)行任何過濾操作。(5)檢查代碼:IOCTL_USERDRVIO_REQUEST_STATISTCS控制代碼的功能是查詢網(wǎng)絡(luò)活動的狀態(tài)。用戶程序必須提供大小為Networkstatisties結(jié)構(gòu)的輸出緩沖區(qū)。驅(qū)動程序?qū)⒃谙鄳?yīng)的ADAPT適配器結(jié)構(gòu)中保留的篩選器存儲區(qū)中的網(wǎng)絡(luò)活動狀態(tài)值傳遞到此緩沖區(qū)。當(dāng)DevloControl過程返回時(shí),用戶可以獲取網(wǎng)絡(luò)活動的狀態(tài)。3.對數(shù)據(jù)包的操作,在Passthru中有對數(shù)據(jù)的四種操作,它們的調(diào)用由NDIS根據(jù)網(wǎng)絡(luò)硬件和軟件的特定條件確定。4.發(fā)送數(shù)據(jù)的操作由miniPort.c文件中的兩個(gè)功能MPsend和MPsendPacket執(zhí)行。注冊中間級驅(qū)動程序時(shí),使用哪個(gè)函數(shù)取決于傳遞給NDIS的函數(shù)地址;即,將哪個(gè)函數(shù)地址傳遞給NDIS。要檢索的數(shù)據(jù)這是由NDIS通過調(diào)用protoeol.c文件中的兩個(gè)函數(shù)PtReeeive和PtReeeivePaeket來實(shí)現(xiàn)的。我們只需要在這些函數(shù)中攔截?cái)?shù)據(jù)包,然后調(diào)用過濾操作函數(shù)FltcheekFilterRules即可過濾數(shù)據(jù)包。5.實(shí)施過濾功能。(1)定義相關(guān)的數(shù)據(jù)結(jié)構(gòu)根據(jù)第二章的分析,我們知道ARP過濾僅涉及幾個(gè)參數(shù),并且它們的定義在iocommroon.h文件中實(shí)現(xiàn)。(2)ARP報(bào)文過濾操作根據(jù)第2章的分析,我們知道ARP過濾主要是為了過濾欺騙性數(shù)據(jù)包而設(shè)計(jì)的。當(dāng)偽造的數(shù)據(jù)包被拒絕時(shí),將無法進(jìn)行ARP欺騙,因此ARP欺騙病毒和黑客技術(shù)將不會成功。ARP數(shù)據(jù)包過濾規(guī)則基本上提供了本地計(jì)算機(jī)和網(wǎng)關(guān)之間的IP-MAC映射,以便中間層驅(qū)動程序可以過濾欺騙的ARP數(shù)據(jù)包,這種過濾等效于增加在入口和出口接口上的ARP發(fā)現(xiàn)。防止ARP欺騙攻擊網(wǎng)絡(luò)欺騙可以保護(hù)網(wǎng)絡(luò)通信的安全性。測試的具體內(nèi)容和說明如表5-2所示。表5-2ARP過濾檢查內(nèi)容(3)ARP包過濾程序流程。ARP數(shù)據(jù)包過濾操作分為三部分:第一部分是拒絕欺騙的數(shù)據(jù)包,第二部分是拒絕來自本機(jī)非目標(biāo)主機(jī)的數(shù)據(jù)包,第三部分是拒絕更改網(wǎng)關(guān)。ARP數(shù)據(jù)包過濾順序如圖5-2所示。圖5-2ARP包過濾流程圖第6章利用虛擬機(jī)進(jìn)行ARP過濾測試6.1測試環(huán)境搭建該驅(qū)動程序在內(nèi)核模式下運(yùn)行,并且具有最高的操作系統(tǒng)權(quán)限,而各種用戶模式保護(hù)在內(nèi)核模式下不可用。驅(qū)動程序設(shè)計(jì)中的缺陷可能導(dǎo)致系統(tǒng)崩潰。此外,ARP欺騙還會干擾網(wǎng)絡(luò)的正常運(yùn)行。因此,主機(jī)和虛擬機(jī)用于ARP過濾測試。1.主機(jī)表6-1給出了宿主計(jì)算機(jī)的主要配置情況2.虛擬機(jī)計(jì)算機(jī)虛擬機(jī)是一種虛擬機(jī),可以模擬某種類型的另一臺計(jì)算機(jī)的硬件環(huán)境,并且可以在虛擬機(jī)上運(yùn)行另一種操作系統(tǒng)和應(yīng)用程序軟件。典型的虛擬機(jī)軟件包括VMware和VirtualPC。本文使用VMWare軟件來創(chuàng)建虛擬機(jī)。安裝完VMware之后,主機(jī)將安裝兩個(gè)虛擬網(wǎng)卡,分別是“VMWare虛擬機(jī)虛擬以太網(wǎng)適配器”和“VMnets虛擬虛擬適配器”,這兩個(gè)虛擬網(wǎng)卡用于在主機(jī)和虛擬機(jī)之間建立網(wǎng)絡(luò)連接。安裝的虛擬網(wǎng)卡還將創(chuàng)建兩個(gè)網(wǎng)絡(luò)連接,網(wǎng)絡(luò)連接的詳細(xì)信息如圖6-1所示。圖6-1VMware安裝后的網(wǎng)絡(luò)連接信息虛擬機(jī)軟件共享一部分內(nèi)存和硬盤空間,以運(yùn)行虛擬操作系統(tǒng)及其應(yīng)用程序。表6-2顯示了新創(chuàng)建的虛擬機(jī)的基本配置。表6-2新建虛擬機(jī)的主要配置情況為虛擬機(jī)的虛擬網(wǎng)絡(luò)適配器選擇“使用橋接網(wǎng)絡(luò)”選項(xiàng),以便創(chuàng)建的虛擬機(jī)和主機(jī)建立LAN連接,并可以自動從DHCP服務(wù)器獲取IP地址。在虛擬機(jī)上安裝Windows操作系統(tǒng)后,需要安裝VMWareTools組件,虛擬機(jī)才能正常工作。VMWare軟件的操作如圖6-2所示。圖6-2虛擬機(jī)運(yùn)行圖3.通訊連接設(shè)置。(1)由于主機(jī)上沒有COM端口,并且兩臺WinDbg計(jì)算機(jī)的調(diào)試操作使用COM端口連接,因此必須虛擬化主機(jī)上的COM端口,因此使用VSPM軟件。VSPM軟件是免費(fèi)軟件,可以顯示機(jī)器的TCP/IP連接,UDP廣播和虛擬COM端口。通過訪問虛擬串行端口,應(yīng)用程序可以執(zhí)行諸如遠(yuǎn)程控制和數(shù)據(jù)傳輸之類的功能。在測試過程中,VSPM虛擬COM端口軟件被配置為以服務(wù)膜模式運(yùn)行,本地偵聽地址為13:6019。VSPM操作如圖6-3所示。圖6-3VSPM軟件虛擬的COM口(2)WinDbg的運(yùn)行參數(shù)設(shè)置為:-kcom:端口=\\。\管道\com_1,波特=11520,管道。另外,在調(diào)試時(shí),您需要指定工作路徑,符號文件等。(3)在虛擬機(jī)上添加一個(gè)COM端口(參見圖6-2),將其設(shè)置為“輸出到命名管道”,并將COM端口速度設(shè)置為115200。添加調(diào)試模式:修改boot.ini文件,添加一個(gè)新的啟動菜單選項(xiàng):多(0)磁盤(0)rdisk(0)分區(qū)(1)\WINNT=MicrosoftWindows2000Professional-debug“/fastdetect/debug/debugport=coml/baudrate=115200。因此,選擇debug模式在虛擬機(jī)上并等待WinDbg連接,則可以在兩臺計(jì)算機(jī)上成功調(diào)試。6.2功能測試1.包過濾測試主要測試數(shù)據(jù)如表6-3所示,為便于說明,表中使用了相應(yīng)的符號。除表中列出的字段外,完整的ARP幀還包括其他一些字段,例如幀類型(0x0806),硬件類型(1),協(xié)議地址類型(0x0800)和長度(4)等。此值為測試環(huán)境中的固定值,此處未給出。其中,發(fā)送ARP請求時(shí)硬件地址的長度為0,此時(shí)目標(biāo)的硬件地址也為0,ARP響應(yīng)報(bào)文中的硬件地址長度為6。測試中每個(gè)主機(jī)的對應(yīng)字符:(1)主機(jī)PC1是攻擊者,IP1(13),MAC1(00-03-OD-49-AS-53);(2)虛擬機(jī)PC2是受攻擊的對象,IP2(41),MAC2(00-50-56-CO-00-01);(3)網(wǎng)關(guān)計(jì)算機(jī)PC3,IP3(),MAC3(00-03-OF-OE-42-32);(4)廣播地址表示為MAC4(FF-FF-FF-FF-FF-FF);(5)不存在的MAC地址表示為MACS(00-11-22-33-44-56-66)。(6)最初要請求的MAC地址由0組成,表示為00。表6-3中列出的基本測試數(shù)據(jù)涵蓋了本文所述的所有情況。PC1是發(fā)送者,PC2是接收者。運(yùn)行表1-7中的測試,PC1是收件人,PC2是發(fā)件人。表格中的8-12。測試中的ARP數(shù)據(jù)包通過更安全的軟件發(fā)送,本文使用SnifferProtable版本4.70.530。表6-3主要測試數(shù)據(jù)2.過濾數(shù)據(jù)在測試之前,將篩選器驅(qū)動程序和自定義程序安裝到虛擬機(jī)并運(yùn)行自定義程序。通過使用嗅探器分別發(fā)送測試數(shù)據(jù)包,您可以看到所有偽造數(shù)據(jù)已被成功過濾掉,并且PC2的ARP緩存沒有更改。執(zhí)行用戶程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論