張梁斌,俞華豐,高 昆
(浙江萬里學院 計算機與信息學院,浙江 寧波 315100)
網絡攻防實驗需要好的設備和工具。但是,由于資金、場地、設備數量的限制,以及網絡技術和設備升級換代等原因,部分高校的網絡實驗室搭建復雜網絡架構的實訓環境存在困難。但是有些實驗環境可通過虛擬仿真軟件來有效解決,同樣能夠得到良好逼真的實驗效果[1]。
網絡虛擬仿真軟件可分為嗅探抓包類(Wire shark和Sniffer)、組網類(Packet Tracer和GNS3)、虛擬機類(VMware Workstation)和協議研發類(NS2)4種。組網類仿真軟件Packet Tracer[2-3]雖然建網靈活、配置驗證方便,但不能加載真實網絡設備的IOS,通信也僅局限在自身平臺上,無法與真實操作系統進行通信。GNS3的網絡設備通過橋接與虛擬機VMware的網卡相連[4-6],為在單機環境中搭建虛實結合的網絡實訓平臺提供了可能,是開啟學習和研究網絡攻防實戰大門的一把“金鑰匙”。本文在單機環境中搭建了一個典型網絡架構的攻防實驗平臺,攻擊機利用Ubuntu的Yersinia攻擊工具,對Windows2003Server中的DHCP服務器和熱備份路由(HSRP)匯聚交換機實施流氓攻擊行為,達到了捕獲測試機敏感數據的目的,最后還給出了有效的防御手段。
GNS3是一款可運行于多平臺(Windows、Linux和MacOS)、具有圖形化界面的Cisco網絡設備模擬器,它有效整合了Dynamips、Dynagen、PIX防火墻和WinPcap等軟件,能根據需求搭建各種網絡拓撲,可加載思科IOS來逼真模擬路由器、交換機和防火墻[7]。其最大特點是能連接真實網卡和虛擬網卡,可與真實網絡操作系統進行通信。GNS3占用CPU資源較高,但加載IOS后可通過計算設備的IDLE數值來減少CPU的占用,以優化GNS3的運行環境。
VMware Workstation是一款優秀的虛擬機軟件,它能夠在一臺物理PC上虛擬多臺獨立的系統[8],每個系統可運行自己的操作系統和應用程序,能添加虛擬硬件,還能為網卡、光盤、硬盤、USB等設備提供接口。VMware占用宿主機的內存資源過高,單機環境中有時需同時開啟多個虛擬機,勢必對宿主機的物理內存容量有更高要求。
GNS3的運行主耗CPU資源,而VMware的運行主耗內存資源,這兩種仿真軟件的結合堪稱完美,為創建單機虛實結合的復雜網絡實訓平臺創造了條件。
Ubuntu是一個深受歡迎的Linux桌面版開源操作系統,為用戶提供了簡單、方便的操作平臺,適合在微機甚至移動設備上運行[9]。Yersinia是一款網絡愛好者開發的運行于Ubuntu的強大攻擊工具,適合STP、CDP、VTP、ISL、VTP、DHCP、HSRP、802.1Q、802.1X等多協議的底層攻擊,圖形化操作簡單實用,可充當攻防演練中的“攻擊者”角色。
在GNS3中構建了經典的單核心三層網絡架構實例(見圖1)。整個網絡由接入、匯聚和核心3部分組成。接入層負責用戶接入;匯聚層提供策略訪問,匯聚交換機通過熱路由備份(HSRP)技術提供了冗余網關,以保障用戶數據的可靠傳輸;核心層提供高速轉發,由DHCP、DNS、WWW服務器組成DMZ區域。
偽裝成正常用戶的攻擊機接入后,利用Ubuntu下的Yersina攻擊工具對DHCP和HSRP進行攻擊,發送大量偽discovery包耗盡真實DHCP服務器的地址池、發送偽release包、搭建偽DHCP服務器、更改HSRP組內的激活路由器為攻擊機,最終使攻擊機成為測試機訪問外網的網關,通過抓包獲取測試機通信中感興趣的數據流量。

圖1 單機環境中典型網絡架構的攻防實例拓撲
2.2.1單機環境中的攻防實例搭建
實驗的單機硬件配置為:聯想筆記本電腦G480,CPU型號Intel I5-3230,主頻為2.6GHz,內存4GB。下載安裝GNS3,同時加載思科設備的IOS,計算并設置IDLE數值以減少CPU利用率,搭建實例的網絡拓撲;安裝VMware Workstation,安裝有DHCP Server的Windows2003Server、Windows XP和Ubuntu等3個虛擬機,在Ubuntu中鍵入“sudo apt-get install yersinia”,在線安裝Yersinia攻擊工具。最后在GNS3中分別把Cloud C1(DHCP server)、C2(測試機)和C3(攻擊機)橋接到3塊虛擬機網卡上,使GNS3和VMware兩種仿真軟件聯網融合在一個平臺上。
2.2.2IP規劃、網絡設備和服務器的配置
單核心三層網絡架構主要完成接入層(VLAN劃分、接入安全認證、多生成樹)、匯聚層(VLAN間策略、HSRP熱路由備份、交換路由)和核心層(交換路由)的配置。匯聚交換機1的主要配置如下:
Inter FastEthernet0/0
Ip address192.168.2.2255.255.255.0
Inter Vlan1
Ip address192.168.1.1255.255.255.0
Ip helper-address192.168.4.2
Standby100ip192.168.1.254
Standby100priority101
Standby100preempt
Standby100track FastEthernet0/0
Router rip
Network192.168.1.0
Network192.168.2.0
該配置涉及VLAN1管理地址、配置DHCP中繼、設置匯聚交換機1的HSRP優先級略高而成為激活路由器、虛擬網關地址為192.168.1.254(DHCP服務器分配給客戶端的網關)、設置搶占模式、對上鏈f0/0進行端口跟蹤等。配置完成后測試機可獲取相應的IP信息,利用tracert路由跟蹤命令依次經過匯聚1、單核心、出口路由器,最后到達ISP上的公網主機(見圖2)。

圖2 測試機訪問公網主機的路由跟蹤
2.2.3DHCP和HSRP的攻擊行為和效果
攻擊者偽裝成正常用戶接入網絡,分析已獲IP地址信息后,開啟Ubuntu下的Yersina攻擊工具,分別實施對真實DHCP服務器的攻擊和對HSRP匯聚交換機的攻擊(見圖3)。

圖3 Yersinia工具的HSRP攻擊
首先,攻擊機利用Yersinia工具發動DHCP攻擊:(1)發送discover packet,偽造大量虛假MAC地址發起DOS攻擊,以每秒幾千個discover包從網卡中發送,使DMZ區域的DHCP服務器地址池瞬間耗盡;(2)發送release packet,向DMZ區域的DHCP服務器發送IP地址租約的釋放包進行DOS攻擊,迫使原測試機被動釋放IP;(3)新建一個流氓DHCP Server,偽造地址池和Offer包來欺騙測試機,使自己成為測試機的網關,從而捕獲敏感信息。圖4顯示測試機獲取了流氓DHCP服務器的IP地址。

圖4 測試機獲取流氓DHCP服務器的IP地址
然后,攻擊機利用Yersinia工具發動HSRP攻擊,使攻擊機成為HSRP組內一員,把HSRP優先級調整到255,成為組內的激活路由器,目的是改變測試機訪問外網的數據流走向。圖5顯示“攻擊機”已成為HSRP組內激活路由器,而匯聚交換機1成為備份冗余網關。

圖5 匯聚交換機1受攻擊后成為HSRP的備份
至此,在測試機完全不知情的情況下且正常運行時,攻擊機已成為中間人,可捕獲測試機訪問外網的所有敏感信息流量包而達到攻擊的主要目的。
DHCP監聽和HSRP認證可有效防御來自流氓DHCP和HSRP的攻擊[10-12],該方法同樣也適合本文的實驗實例。
首先,在GNS3中開啟接入層交換機的DHCP監聽功能。圖6給出了接入層交換機DHCP監聽的主要配置,設置連接真實DHCP服務器的端口為信任,其他端口默認均為不信任,可有效過濾網絡中來自流氓DHCP服務器發送的Offer包。然后,在GNS3中對兩個匯聚交換機的HSRP組成員設備配置認證字符串來啟用HSRP認證,防止網絡中的惡意路由器加入HSRP組搞破壞。最后,在本實例中進行測試驗證,攻擊機利用Yersinia工具實施的DHCP和HSRP攻擊徹底失效,實現了有效的防御。

圖6 啟用DHCP監聽的接入交換機主要配置
基于GNS3和VMware仿真軟件在單機環境中構建了一個典型的單核心三層網絡架構進行網絡攻防實驗。該實驗方案滿足了學生對復雜網絡的搭建、配置、測試、甚至攻防演練的實驗需求,既節省了購置實驗設備的資金投入,又能讓學生不受時間和空間限制,自主完成網絡攻防類的綜合性驗證實驗,開闊了網絡設計和研究的新視野,有利于提高學生的網絡工程研究能力和實踐能力。
[1] 曹雪峰.基于虛擬實驗的TCP原理實驗設計[J].實驗技術與管理,2013,30(7):90-93.
[2] 唐燈平.整合GNS3和VMware搭建虛實結合的網絡技術綜合實訓平臺[J].浙江交通職業技術學院學報,2012,13(2):41-44.
[3] 張梁斌,高昆,梁世斌.基于Packet Tracer的小型企業網絡應用架構的仿真實驗[J].實驗室研究與探索,2012,31(10):372-376.
[4] 龍艷軍,歐陽建權,俞佳曦.基于GNS3和VMware的虛擬網絡系統集成實驗室研究[J].實驗技術與管理,2013,30(2):90-93.
[5] 顧春峰,李偉斌,蘭秀風.基于VMware、GNS3實現虛擬網絡實驗室[J].實驗室研究與探索,2012,31(1):73-76.
[6] 潘麗敏,羅森林,柯萌.網絡動態攻防實踐平臺研制[J].實驗技術與管理,2012,29(9):89-92.
[7] 汪慶淼,GNS3在計算機網絡實驗教學中的應用[J].高校實驗室工作研究,2012,29(2):65-67.
[8] 黃淑玲.VMware在計算機實驗教學中的應用[J].實驗科學與技術,2012,10(3):44-46.
[9] 張大雷,孫妍姑.構建基于開源系統Linux的計算機教育教學平臺:以Ubuntu為例[J].淮南師范學院學報,2012,14(2):135-137.
[10] 唐燈平.整合HSRP和NAT實現網絡出口多組負載均衡[J].實驗室研究與探索,2012,31(5):66-69.
[11] 高顧君.DHCP耗盡攻擊及防范[J].科技信息,2011,17(9):59-61.
[12] 張德洪.網絡安全中攻防策略與主動防御研究[J].哈爾濱師范大學自然科學學報,2012,28(2):49-53.