實現ARP欺騙


一、內容

  1.網絡嗅探:Wireshark 監聽網絡流量,抓包。

  2.ARP欺騙:科來數據包發生器,構造欺騙報文。

  3.防范: 防范arp欺騙、非法DHCP防范。

二、使用的工具和平台

  Wireshark:用來抓包,

  科來數據包生成器、科來數據包播放器:構造欺騙的ARP欺騙報文

  平台:使用Win10作為攻擊機,靶機時虛擬機中的Win7

三、ARP欺騙原理

  同一局域網里面的兩台主機之間相互通信是通過Mac地址尋址的,而如果兩台主機若不是處於同一子網里面,則在通信的時候會相互將數據發送給各自的路由器網關,通過網關的IP尋址以達到通信目的。但是網關和自己局域網里面的主機通信的時候還是依靠Mac地址尋址的,所以如果我們要把自己攻擊機偽造成網關達到欺騙作用,就應該把目標主機上的網關Mac地址緩存改為攻擊機的Mac地址(這就可以通過偽造ARP報文來實現)。

  正常情況下數據包的發送:

  

 

 

 

 

  如圖:在正常的情況下,處於兩個不同子網之間通信,會有A——>網關——>網卡——>外網。通過網關和網卡連通兩個子網。而現在所要做的就是將這一步改為A——>B——>網卡——>外網,將B偽造成網關,這樣一來所有從A到外網的數據就都會通過B了,從而可以分析出A的上網情況,甚至是一些明文密碼。

  偽造的情況下:

  

 

 

 同時,偽造網關后,還需要將數據轉發出去,否則會導致A上不了網而被發現網關是偽造的。

四、具體實現步驟

  1.首先通過命令行和Wireshark知道攻擊機和靶機的MAC地址和IP地址。

  使用ipconfig/all查看

  

 

 

   

 

  由此可知,攻擊機 IP:192.168.0.103     MAC:18-DB-F2-2C-FC-EC

       靶機 IP:192.168.0.113         MAC:00-0C-29-EB-E5-8E

       網關  IP:192.168.0.1   MAC:04-95-e6-57-a6-c8

使用arp -a查看網關信息,注意這是的網關為192.168.0.1

 

 

 

這里信息也可以使用WireShark抓包來獲取

 

 

 

 

 

 現在,基本的地址信息有了,下面開始構造ARP欺騙報文

在科來數據包生成器中構造ARP報文,以太網中的目標地址為廣播,源地址是攻擊機的MAC地址,

ARP地址解析協議中,源MAC地址為攻擊機,源IP為網關,目標MAC和IP為靶機地址

 

 

 

 

 

 數據包構造完成后,使用科來數據包播放器發送,網卡選擇有效的,使用循環發送(現在的操作系統為了防止ARP欺騙,一般會再次確定網關,所以需要循環發送)

 

這里使用靶機上網,在WireShark中可以抓取到相應的包

 

在網關欺騙成功之后,還需要將靶機的信息進行轉發,否則會導致靶機無法上網

 

具體設置如下:

1.在命令行中輸入“Regedit”

 

 

 

 2.查找一下路徑:

“HKEY_LOCAL_MACHINE” > SYSTEM > CurrentControlSet >Services> Tcpip >Parameters > IP Enable Router

右鍵點擊修改,將0改為1;

3.在運行中輸入

 

打開后啟用Routing and Remote Access Service服務即可

 

 

 

 

在偽造數據包的時候更深刻了解到了ARP報文的結構,在者就是認識到TCP/IP協議是相當不安全的,ARP報文可以修改達到中間人劫持獲取用戶和密碼的目地,同樣通過DNS欺騙可以制造釣魚網站竊取密碼,還可以通過修改UDP報文偽造對話,這一切的不安全因素都是因為在傳輸過程中任何人都可以截取、而且沒有認證機制,以至於任何人可以隨心所欲的修改它。所以需要防范ARP欺騙。

ARP欺騙防范:

 

  1)設計靜態ARP表

    在主機上設置靜態的MAC->IP對應表,不要讓主機刷新設定好的轉換表。

    在PC上綁定路由器的IP和MAC地址,路由器上綁定用戶主機的IP和MAC地址

  批處理文件實現:    

    @echo off

    :::::::::讀取本機Mac地址
    if exist ipconfig.txt del ipconfig.txt
    ipconfig /all >ipconfig.txt
    if exist phyaddr.txt del phyaddr.txt
    find "Physical Address" ipconfig.txt >phyaddr.txt
    for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M
    :::::::::讀取本機ip地址
    if exist IPAddr.txt del IPaddr.txt
    find "IP Address" ipconfig.txt >IPAddr.txt
    for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I
    :::::::::綁定本機IP地址和MAC地址
    arp -s %IP% %Mac%
    :::::::::讀取網關地址
    if exist GateIP.txt del GateIP.txt
    find "Default Gateway" ipconfig.txt >GateIP.txt
    for /f "skip=2 tokens=13" %%G in (GateIP.txt) do setGateIP=%%G
    :::::::::讀取網關Mac地址
    if exist GateMac.txt del GateMac.txt
    arp -a %GateIP% >GateMac.txt
    for /f "skip=3 tokens=2" %%H in (GateMac.txt) do setGateMac=%%H
    :::::::::綁定網關Mac和IP
    arp -s %GateIP% %GateMac%
    del GateIP.TXT /Q
    DEL GateMac.txt /q
    del IPAddr.txt /q
    del ipconfig.txt /q
    del phyaddr.txt /q
    exit

    保存為IP-MAC.bat 開機運行就OK 

     2)安裝ARP防護軟件

 這是一次關於ARP欺騙的實現過程。

PS:勿忘初心,持之以恆。

 

 

 

 

 

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM