python編程偽造arp應答(python arp欺騙)

本文目錄一覽:

怎麼偽裝自己的MAC,避過arp攻擊

協議欺騙攻擊技術常見種類簡析及防範

對付這種攻擊最好的辦法是配置好路由器,使它拋棄那些由外部網進來的卻聲稱是內部主機的報文。

當然也有其他的:

IP欺騙攻擊

IP欺騙技術就是通過偽造某台主機的IP地址騙取特權從而進行攻擊的技術。許多應用程序認為如果數據包能夠使其自身沿着路由到達目的地,而且應答包也可以回到源地,那麼源IP地址一定是有效的,而這正是使源IP地址欺騙攻擊成為可能的前提。

假設同一網段內有兩台主機A、B,另一網段內有主機X。B 授予A某些特權。X 為獲得與A相同的特權,所做欺騙攻擊如下:首先,X冒充A,向主機 B發送一個帶有隨機序列號的SYN包。主機B響應,回送一個應答包給A,該應答號等於原序 列號加1。然而,此時主機A已被主機X利用拒絕服務攻擊 「淹沒」了,導致主機A服務失效。結果,主機A將B發來的包丟棄。為了完成三次握手,X還需要向B回送一個應答包,其應答號等於B向A發送數據 包的序列號加1。此時主機X 並不能檢測到主機B的數據包(因為不在同一網段),只有利用TCP順序號估算法來預測應答包的順序號並將其發送給目標機B。如果猜測正確,B則認為收到的ACK是來自內部主機A。此時,X即獲得了主機A在主機B上所享有的特權,並開始對這些服務實施攻擊。

要防止源IP地址欺騙行為,可以採取以下措施來儘可能地保護系統免受這類攻擊:

·拋棄基於地址的信任策略: 阻止這類攻擊的一種非常容易的辦法就是放棄以地址為基礎的驗證。不允許r類遠程調用命令的使用;刪除.rhosts 文件;清空/etc/hosts.equiv 文件。這將迫使所有用戶使用其它遠程通信手段,如telnet、ssh、skey等等。

·使用加密方法: 在包發送到 網絡上之前,我們可以對它進行加密。雖然加密過程要求適當改變目前的網絡環境,但它將保證數據的完整性和真實性。

·進行包過濾:可以配置路由器使其能夠拒絕網絡外部與本網內具有相同IP地址的連接請求。而且,當包的IP地址不在本網內時,路由器不應該把本網主機的包發送出去。

有一點要注意,路由器雖然可以封鎖試圖到達內部網絡的特定類型的包。但它們也是通過分析測試源地址來實現操作的。因此,它們僅能對聲稱是來自於內部網絡的外來包進行過濾,若你的網絡存在外部可信任主機,那麼路由器將無法防止別人冒充這些主機進行IP欺騙。

ARP欺騙攻擊

在局域網中,通信前必須通過ARP協議來完成IP地址轉換為第二層物理地址(即MAC地址)。ARP協議對網絡安全具有重要的意義,但是當初ARP方式的設計沒有考慮到過多的安全問題,給ARP留下很多的隱患,ARP欺騙就是其中一個例子。而ARP欺騙攻擊就是利用該協議漏洞,通過偽造IP地址和MAC地址實現ARP欺騙的攻擊技術。

我們假設有三台主機A,B,C位於同一個交換式局域網中,監聽者處於主機A,而主機B,C正在通信。現在A希望能嗅探到B-C的數據, 於是A就可以偽裝成C對B做ARP欺騙——向B發送偽造的ARP應答包,應答包中IP地址為C的IP地址而MAC地址為A的MAC地址。 這個應答包會刷新B的ARP緩存,讓B認為A就是C,說詳細點,就是讓B認為C的IP地址映射到的MAC地址為主機A的MAC地址。 這樣,B想要發送給C的數據實際上卻發送給了A,就達到了嗅探的目的。我們在嗅探到數據後,還必須將此數據轉發給C, 這樣就可以保證B,C的通信不被中斷。

以上就是基於ARP欺騙的嗅探基本原理,在這種嗅探方法中,嗅探者A實際上是插入到了B-C中, B的數據先發送給了A,然後再由A轉發給C,其數據傳輸關係如下所示:

B—–A—–C

B—-A——C

於是A就成功於截獲到了它B發給C的數據。上面這就是一個簡單的ARP欺騙的例子。

ARP欺騙攻擊有兩種可能,一種是對路由器ARP表的欺騙;另一種是對內網電腦ARP表的欺騙,當然也可能兩種攻擊同時進行。但不管怎麼樣,欺騙發送後,電腦和路由器之間發送的數據可能就被送到錯誤的MAC地址上。

防範ARP欺騙攻擊可以採取如下措施:

·在客戶端使用arp命令綁定網關的真實MAC地址命令

·在交換機上做端口與MAC地址的靜態綁定。

·在路由器上做IP地址與MAC地址的靜態綁定

·使用「ARP SERVER」按一定的時間間隔廣播網段內所有主機的正確IP-MAC映射表。

DNS欺騙攻擊

DNS欺騙即域名信息欺騙是最常見的DNS安全問題。當一個DNS服務器掉入陷阱,使用了來自一個惡意DNS服務器的錯誤信息,那麼該DNS服務器就被欺騙了。DNS欺騙會使那些易受攻擊的DNS服務器產生許多安全問題,例如:將用戶引導到錯誤的互聯網站點,或者發送一個電子郵件到一個未經授權的郵件服務器。網絡攻擊者通常通過以下幾種方法進行DNS欺騙。

(1)緩存感染

黑客會熟練的使用DNS請求,將數據放入一個沒有設防的DNS服務器的緩存當中。這些緩存信息會在客戶進行DNS訪問時返回給客戶,從而將客戶引導到入侵者所設置的運行木馬的Web服務器或郵件服務器上,然後黑客從這些服務器上獲取用戶信息。

(2)DNS信息劫持

入侵者通過監聽客戶端和DNS服務器的對話,通過猜測服務器響應給客戶端的DNS查詢ID。每個DNS報文包括一個相關聯的16位ID號,DNS服務器根據這個ID號獲取請求源位置。黑客在DNS服務器之前將虛假的響應交給用戶,從而欺騙客戶端去訪問惡意的網站。

(3)DNS重定向

攻擊者能夠將DNS名稱查詢重定向到惡意DNS服務器。這樣攻擊者可以獲得DNS服務器的寫權限。

防範DNS欺騙攻擊可採取如下措施

·直接用IP訪問重要的服務,這樣至少可以避開DNS欺騙攻擊。但這需要你記住要訪問的IP地址。

·加密所有對外的數據流,對服務器來說就是盡量使用SSH之類的有加密支持的協議,對一般用戶應該用PGP之類的軟件加密所有發到網絡上的數據。這也並不是怎麼容易的事情。

源路由欺騙攻擊

通過指定路由,以假冒身份與其他主機進行合法通信或發送假報文,使受攻擊主機出現錯誤動作,這就是源路由攻擊。在通常情況下,信息包從起點到終點走過的路徑是由位於此兩點間的路由器決定的,數據包本身只知道去往何處,但不知道該如何去。源路由可使信息包的發送者將此數據包要經過的路徑寫在數據包里,使數據包循着一個對方不可預料的路徑到達目的主機。下面仍以上述源IP欺騙中的例子給出這種攻擊的形式:

主機A享有主機B的某些特權,主機X想冒充主機A從主機B(假設IP為aaa.bbb.ccc.ddd)獲得某些服務。首先,攻擊者修改距離X最近的路由器,使得到達此路由器且包含目的地址aaa.bbb.ccc.ddd的數據包以主機X所在的網絡為目的地;然後,攻擊者X利用IP欺騙向主機B發送源路由(指定最近的路由器)數據包。當B回送數據包時,就傳送到被更改過的路由器。這就使一個入侵者可以假冒一個主機的名義通過一個特殊的路徑來獲得某些被保護數據。

arp求救~~~~

智能網全。流量大屏幕可以徹底解決這個問題

網址:

現有的一些針對ARP問題的工具軟件,甚至有ARP防火牆等等。並沒有從根本上解決ARP問題,因為它們在建立地址解析表時,還在使用ARP機制。所以在接收到一個ARP欺騙包時,這些小軟件或ARP防火牆本身很可能就被欺騙了,就更談不上解決ARP問題了。

智能網全™流量大屏幕產品採用全新的可靠機制,在全網內建立真實的地址解析表並分發到每一個被管理的網絡節點。在網卡驅動層過濾每一個數據包,它不僅能夠識別和禁止ARP欺騙,更能準確的定位哪個IP節點、進程和登錄賬號是ARP欺騙的源頭。

參考資料:智能網全。ARP病毒的真正剋星

一、ARP Spoofing攻擊原理分析

在局域網中,通過ARP協議來完成IP地址轉換為第二層物理地址(即MAC地址)的。ARP協議對網絡安全具有重要的意義。通過偽造IP地址和MAC地址實現ARP欺騙,能夠在網絡中產生大量的ARP通信量使網絡阻塞或者實現「man in the middle」 進行ARP重定向和嗅探攻擊。

用偽造源MAC地址發送ARP響應包,對ARP高速緩存機制的攻擊。

每個主機都用一個ARP高速緩存存放最近IP地址到MAC硬件地址之間的映射記錄。MS Windows高速緩存中的每一條記錄(條目)的生存時間一般為60秒,起始時間從被創建時開始算起。

默認情況下,ARP從緩存中讀取IP-MAC條目,緩存中的IP-MAC條目是根據ARP響應包動態變化的。因此,只要網絡上有ARP響應包發送到本機,即會更新ARP高速緩存中的IP-MAC條目。

攻擊者只要持續不斷的發出偽造的ARP響應包就能更改目標主機ARP緩存中的IP-MAC條目,造成網絡中斷或中間人攻擊。

ARP協議並不只在發送了ARP請求才接收ARP應答。當計算機接收到ARP應答數據包的時候,就會對本地的ARP緩存進行更新,將應答中的IP和 MAC地址存儲在ARP緩存中。因此,B向A發送一個自己偽造的ARP應答,而這個應答中的數據為發送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本來應該是CC-CC-CC-CC-CC-CC,這裡被偽造了)。當A接收到B偽造的ARP應答,就會更新本地的ARP緩存(A可不知道被偽造了)。

當攻擊源大量向局域網中發送虛假的ARP信息後,就會造成局域網中的機器ARP緩存的崩潰。

Switch上同樣維護着一個動態的MAC緩存,它一般是這樣,首先,交換機內部有一個對應的列表,交換機的端口對應MAC地址表Port n – Mac記錄著每一個端口下面存在那些MAC地址,這個表開始是空的,交換機從來往數據幀中學習。因為MAC-PORT緩存表是動態更新的,那麼讓整個 Switch的端口表都改變,對Switch進行MAC地址欺騙的Flood,不斷發送大量假MAC地址的數據包,Switch就更新MAC-PORT緩存,如果能通過這樣的辦法把以前正常的MAC和Port對應的關係破壞了,那麼Switch就會進行泛洪發送給每一個端口,讓Switch基本變成一個 HUB,向所有的端口發送數據包,要進行嗅探攻擊的目的一樣能夠達到。也將造成Switch MAC-PORT緩存的崩潰,如下下面交換機中日誌所示:

Internet 172.20.156.10000b.cd85.a193 ARPAVlan256Internet 172.20.156.50000b.cd85.a193 ARPAVlan256Internet 172.20.156.254 0000b.cd85.a193 ARPAVlan256Internet 172.20.156.53 0000b.cd85.a193 ARPAVlan256Internet 172.20.156.33 0000b.cd85.a193 ARPAVlan256Internet 172.20.156.130000b.cd85.a193 ARPAVlan256Internet 172.20.156.150000b.cd85.a193 ARPAVlan256Internet 172.20.156.140000b.cd85.a193 ARPAVlan256

二、ARP病毒分析

當局域網內某台主機運行ARP欺騙的木馬程序時,會欺騙局域網內所有主機和路由器,讓所有上網的流量必須經過病毒主機。其他用戶原來直接通過路由器上網現在轉由通過病毒主機上網,切換的時候用戶會斷一次線。切換到病毒主機上網後,如果用戶已經登陸了傳奇服務器,那麼病毒主機就會經常偽造斷線的假像,那麼用戶就得重新登錄傳奇服務器,這樣病毒主機就可以盜號了。

由於ARP欺騙的木馬程序發作的時候會發出大量的數據包導致局域網通訊擁塞以及其自身處理能力的限制,用戶會感覺上網速度越來越慢。當ARP欺騙的木馬程序停止運行時,用戶會恢復從路由器上網,切換過程中用戶會再斷一次線。

在路由器的「系統歷史記錄」中看到大量如下的信息:

MAC Chged 10.128.103.124MAC Old 00:01:6c:36:d1:7fMAC New 00:05:5d:60:c7:18

這個消息代表了用戶的MAC地址發生了變化,在ARP欺騙木馬開始運行的時候,局域網所有主機的MAC地址更新為病毒主機的MAC地址(即所有信息的MAC New地址都一致為病毒主機的MAC地址),同時在路由器的「用戶統計」中看到所有用戶的MAC地址信息都一樣。

如果是在路由器的「系統歷史記錄」中看到大量MAC Old地址都一致,則說明局域網內曾經出現過ARP欺騙(ARP欺騙的木馬程序停止運行時,主機在路由器上恢復其真實的MAC地址)。

BKDR_NPFECT.A病毒引起ARP欺騙之實測分析

Part1. 病毒現象

中毒機器在局域網中發送假的APR應答包進行APR欺騙, 造成其他客戶機無法獲得網關和其他客戶機的網卡真實MAC地址,導致無法上網和正常的局域網通信.

Part2. 病毒原理分析:

病毒的組件

本文研究的病毒樣本有三個組件構成:

%windows%\SYSTEM32\LOADHW.EXE(108,386 bytes) ….. 」病毒組件釋放者」

%windows%\System32\drivers\npf.sys(119,808 bytes) ….. 」發ARP欺騙包的驅動程序」

%windows%\System32\msitinit.dll (39,952 bytes)…」命令驅動程序發ARP欺騙包的控制者」

病毒運作基理:

1.LOADHW.EXE 執行時會釋放兩個組件npf.sys 和msitinit.dll .

LOADHW.EXE釋放組件後即終止運行.

注意: 病毒假冒成winPcap的驅動程序,並提供winPcap的功能. 客戶若原先裝有winPcap,

npf.sys將會被病毒文件覆蓋掉.

2.隨後msitinit.dll將npf.sys註冊(並監視)為內核級驅動設備: “NetGroup Packet Filter Driver”

msitinit.dll 還負責發送指令來操作驅動程序npf.sys (如發送APR欺騙包, 抓包, 過濾包等)

以下從病毒代碼中提取得服務相關值:

BinaryPathName = “system32\drivers\npf.sys”StartType = SERVICE_AUTO_STARTServiceType= SERVICE_KERNEL_DRIVERDesiredAccess= SERVICE_ALL_ACCESSDisplayName = “NetGroup Packet Filter Driver”ServiceName = “Npf”

3. npf.sys 負責監護msitinit.dll. 並將LOADHW.EXE註冊為自啟動程序:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]

dwMyTest =LOADHW.EXE

注: 由於該項位於RunOnce下,該註冊表啟動項在每次執行後,即會被系統自動刪除.

Part3. 反病毒應急響應解決方案

按以下順序刪除病毒組件

1) 刪除 」病毒組件釋放者」

%windows%\SYSTEM32\LOADHW.EXE

2) 刪除 」發ARP欺騙包的驅動程序」 (兼 「病毒守護程序」)

%windows%\System32\drivers\npf.sys

a. 在設備管理器中, 單擊」查看」–」顯示隱藏的設備」

b. 在設備樹結構中,打開」非即插即用….」

c. 找到」 NetGroup Packet Filter Driver」 ,若沒找到,請先刷新設備列表

d. 右鍵點擊」 NetGroup Packet Filter Driver」 菜單,並選擇」卸載」.

e. 重啟windows系統,

f.刪除%windows%\System32\drivers\npf.sys

3) 刪除 」命令驅動程序發ARP欺騙包的控制者」

%windows%\System32\msitinit.dll

2. 刪除以下」病毒的假驅動程序」的註冊表服務項:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Npf

三、定位ARP攻擊源頭和防禦方法

1.定位ARP攻擊源頭

主動定位方式:因為所有的ARP攻擊源都會有其特徵——網卡會處於混雜模式,可以通過ARPKiller這樣的工具掃描網內有哪台機器的網卡是處於混雜模式的,從而判斷這台機器有可能就是「元兇」。定位好機器後,再做病毒信息收集,提交給趨勢科技做分析處理。

標註:網卡可以置於一種模式叫混雜模式(promiscuous),在這種模式下工作的網卡能夠收到一切通過它的數據,而不管實際上數據的目的地址是不是它。這實際就是Sniffer工作的基本原理:讓網卡接收一切它所能接收的數據。

被動定位方式:在局域網發生ARP攻擊時,查看交換機的動態ARP表中的內容,確定攻擊源的MAC地址;也可以在局域居於網中部署Sniffer工具,定位ARP攻擊源的MAC。

也可以直接Ping網關IP,完成Ping後,用ARP –a查看網關IP對應的MAC地址,此MAC地址應該為欺騙的MAC。

使用NBTSCAN可以取到PC的真實IP地址、機器名和MAC地址,如果有」ARP攻擊」在做怪,可以找到裝有ARP攻擊的PC的IP、機器名和MAC地址。

命令:「nbtscan -r 192.168.16.0/24」(搜索整個192.168.16.0/24網段, 即192.168.16.1-192.168.16.254);或「nbtscan 192.168.16.25-137」搜索192.168.16.25-137 網段,即192.168.16.25-192.168.16.137。輸出結果第一列是IP地址,最後一列是MAC地址。

NBTSCAN的使用範例:

假設查找一台MAC地址為「000d870d585f」的病毒主機。

1)將壓縮包中的nbtscan.exe 和cygwin1.dll解壓縮放到c:下。

2)在Windows開始—運行—打開,輸入cmd(windows98輸入「command」),在出現的DOS窗口中輸入:C: btscan -r 192.168.16.1/24(這裡需要根據用戶實際網段輸入),回車。

3)通過查詢IP–MAC對應表,查出「000d870d585f」的病毒主機的IP地址為「192.168.16.223」。

通過上述方法,我們就能夠快速的找到病毒源,確認其MAC——〉機器名和IP地址。

2.防禦方法

a.使用可防禦ARP攻擊的三層交換機,綁定端口-MAC-IP,限制ARP流量,及時發現並自動阻斷ARP攻擊端口,合理劃分VLAN,徹底阻止盜用IP、MAC地址,杜絕ARP的攻擊。

b.對於經常爆發病毒的網絡,進行Internet訪問控制,限制用戶對網絡的訪問。此類ARP攻擊程序一般都是從Internet下載到用戶終端,如果能夠加強用戶上網的訪問控制,就能極大的減少該問題的發生。

c.在發生ARP攻擊時,及時找到病毒攻擊源頭,並收集病毒信息,可以使用趨勢科技的SIC2.0,同時收集可疑的病毒樣本文件,一起提交到趨勢科技的TrendLabs進行分析,TrendLabs將以最快的速度提供病毒碼文件,從而可以進行ARP病毒的防禦。

ARP攻擊產生的原因是什麼?

目前,ARP攻擊和ARP病毒越來越影響網絡的正常使用。在這裡簡單談一談ARP攻擊的原理和防範方法。

ARP 是TCP/IP suite中的一個協議,它的作用是查詢某主機或設備的48bit的MAC地址和查詢某一MAC地址設備的IP地址(RARP)。

ARP包分和,ARP請求為廣播包,ARP應答為單播包。ARP有個特點,就算沒有ARP請求也可以利用ARP應答去更新其它機器的ARP CACHE內的記錄。現在大多數的網絡管理監控和病毒都是利用的這個特點。如網路崗、P2P終結者、MSN監控軟件、QQ監控軟件等。

過程如下。

1。軟件或病毒先根據host的IP子網發ARP請求,記錄子網內所有機器的IP和MAC。

2。發送偽造的ARP應答包到1中所有機器以更新他們的ARP記錄。偽造的ARP應答包中目標方的IP和MAC地址為1中記錄的相應的機器的地址,發送方的IP地址為子網的網關地址,MAC地址為的地址。而且通常安裝了網絡管理監控軟件或病毒的host會以極小的間隔以輪訓方式發送偽造的ARP應答包以確保ARP記錄的更新。這會浪費大量的帶寬,也會增加collision。

3。子網內的其它機器(除了中病毒或安裝了網絡管理監控軟件的機器)上網時會發的包會先發送到病毒主機,然後病毒主機再轉發到真正的網關。在次過程中病毒主機就可以監控、分析傳送的內容了。

原創文章,作者:NUITH,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/329314.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
NUITH的頭像NUITH
上一篇 2025-01-14 18:55
下一篇 2025-01-14 18:55

相關推薦

  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29

發表回復

登錄後才能評論