ARP協議
ARP協議是“Address Resolution Protocol”(地址解析協議)的縮寫
在局域網中,網絡中實際傳輸的是“幀”,幀里面是有目標主機的MAC地址的。在以太網中,一個主機要和另一個主機進行直接通信,必須要知道目標主機的MAC地址。而目標MAC地址就是通過地址解析協議獲得的
所謂“地址解析”就是主機在發送幀前將目標IP地址轉換成目標MAC地址的過程,ARP協議的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。
ARP欺騙原理
局域網中的主機1與主機2通信,主機1會先發送ARP請求包(請求包中有2的IP地址),2發送ARP響應包給1,1獲得主機A的MAC地址,1利用MAC地址給2傳輸數據
主機A通過使用Abel&cain軟件,主動給目標B發送ARP回應包(數據包中攜帶IP為網關的IP,MAC是A主機的MAC),讓目標B更新自己的ARP緩存表。更新后B本地ARP表中網關的MAC地址就是主機A的MAC地址,在主機B看來網關就是A,由此達到欺騙局域網中某個特定目標的目的。
本次實驗用到局域網中的兩台電腦A、B,主機A(安裝Abel&cain軟件)是發起ARP的攻擊者,B是ARP被欺騙方。通過對B進行ARP欺騙,讓B認為A就是網關:
主機A:winxp IP地址:10.1.1.39
主機B:win2003 IP地址:10.1.1.231
在攻擊機A安裝Abel&Cain軟件(略)
在主機A上對主機B進行ARP欺騙
啟動Abel&cain軟件,點擊configure,手動選網卡
點擊確定
選擇sniffer選項卡
先點擊左上角按鈕,啟用sniffer,然后在空白區右鍵選擇“Scan Mac Addresses”,掃描局域網中的主機
下圖選擇默認,點擊“OK”
下圖顯示了局域網中的主機情況
點擊左下角“ARP”選項,然后點擊紅色方框空白區域,此時左上角的“+”圖標會變深色,點擊“+”圖標
在窗口左邊顯示了局域網中的主機和網關,我們點擊ARP被欺騙主機(即主機B,IP:10.1.1.231)
在右側部分,我們點擊10.1.1.90(即網關),點擊“OK”
這一步操作中,左側部分表示對哪一個主機進行欺騙,在這里我們選擇10.1.1.231(即主機B);右側部分表示Abel&cain進行偽造的主機,在這里我們選擇網關即運行Abel&cain的主機(這里是A)要冒充網關。對B(10.1.1.231)進行ARP欺騙,欺騙的結果是主機B會認為網關是運行Abel&cain軟件的主機(即主機A)。在右側部分選擇的主機,就是Abel&cain進行偽造的對象。
添加完成后如下
現在點擊左上角的圖標,開始對主機B(10.1.1.231)進行欺騙
我們在主機B上ping一下主機A,然后在cmd窗口輸入“arp -a”
此時,在主機B看來,網關的MAC地址就是主機A的MAC地址了,主機B會把A作為網關(即,網關的物理地址被修改為了主機A的物理地址)
主機B發往外界的數據包,會經過主機A,至此就完成了對主機B的ARP欺騙
在主機A上對主機B進行DNS欺騙
在ARP欺騙的基礎上,我們進入DNS欺騙
首先在主機B上ping tools.hetianlab.com,此時解析到10.1.1.254
打開tools.hetianlab.com/,可以看到apache的默認主頁
訪問tools.hetianlab.com/tools,可以看到一些工具
進入主機A,來到ARP欺騙界面
在空白區域右擊,選擇“Add to list”。“DNS Name Requested”表示對方(主機B)輸入的url(要被劫持的網站),下面的IP欄表示要將對方輸入的url解析成的IP(劫持的網站重新解析到的地址)
這里我們輸入的是“10.1.1.39”
(我們在10.1.1.39上搭建了一個web服務器,並且有配置tools.hetianlab.com的域名)
此時Abel&cain的狀態如下
在主機B上ping tools.hetianlab.com,可以看到,此時該域名已經指向了10.1.1.39
訪問“tools.hetianlab.com”,查看結果
而如果此時再訪問tools.hetianlab.com/tools,會提示404(因為劫持時並沒有對此網址進行重新解析)
在主機A上查看主機B的http數據包
進入左下角的“Passwords”項,點擊左側“HTTP”,就可以監視主機B在進行HTTP請求時輸入的用戶名密碼情況
在主機B上,訪問 tools.hetianlab.com/login.php
輸入用戶名:username,密碼:pass,點擊“登陸”。在主機A上即可看到輸入情況,但這里不保證用戶輸入的是正確的用戶名和密碼,這里只是拿到了用戶名輸入的數據而已
此時,在主機A,有
對於我們這里偽造的“tools.hetianlab.com”我們拿到的用戶名、密碼是明文,但大部分其他網站數據是加過密的,如126郵箱等
課后題