基本概述
IGMP(Internet Group Manage Protocol):Internet組管理協定,提供internet網際多點
傳送的功能,即將一個ip包拷貝給多個host,windows系列採用了這個協定,因為此項技術
尚不成熟,因此被一些人用來攻擊windows系統,尤其是對win98,因為對win95有oob攻擊.
受到IGMP攻擊的症狀是首先出現藍屏,然後網速變得極慢,有的甚至滑鼠,鍵盤均不管用.
非得重啟不可.
引申
IGMP的工作過程如下:
一. 當主機加入一個新的工作組時,它傳送一個igmp host membership report的報文給全部主機組,宣布此成員關係.本地多點廣播路由器接受到這個報文後,向Internet上的其他多路廣播路由器傳播這個關係信息,建立必要的路由.與此同時,在主機的網路接口上將ip主機組地址映射為mac地址,並重新設定地址過濾器.
二. 為了處理動態的成員關係,本地多路廣播路由器周期性的輪詢本地網路上的主機,以便確定在各個主機組有哪些主機,這個輪詢過程是通過傳送igmp host membership query報文來實現的,這個報文傳送給全部主機組,且報文的ttl域設為1,以確保報文不會傳送到lan以外.受到報文的主機組成員會傳送回響報文.如果所有的主機組成員同時回響的話,就可能造成網路阻塞.IGMP協定採用了隨機延時的方法來避免這個情況.這樣就保證了在同一時刻每個主機組中只有一個成員在傳送回響報文。
原理
IGMP其工作原理引用goodwell的原句如下:Windows 95, 98 and Windows 2000's TCP/IP stacks were not built to tolerate malformed IGMP (Internet Group Management Protocol) headers. When one is received, the stack will fail with unpredictable results ranging from a Blue Screen to instantaneous reboot
套用
WIN95,WIN98的NMPI協定有個BUG,可以炸當機(炸後毫無反映,滑鼠鍵盤都不管用)。
因為此協定是IPX/SPX協定裡面的,所以只能炸內部網的,如果有IPX路由可能可以炸得遠點。如果沒有安裝IPX/SPX協定或者沒有IPX/SPX協定綁定MICROSOFT客戶可能不能炸。此BUG與原來的一些BUG很不一樣,不是包中哪個欄位非法,造成非法訪問或者溢出破壞系統,是因為此協定的回覆包與此協定包沒多少區別造成(沒有欄位指明是這種包還是回復包,其他的協定一般都有欄位指明),此當機包關鍵就是偽造機器名和網卡地址MAC2,造成受攻擊機器收到包後的回覆包又是受攻擊機器本身,而回復包因為包沒有欄位表明是回復包,所以查到機器名是自己(此協定就是以機器名識別是不是該接收)又回復包,所以就造成發包的死循環,而這處理是在VXD中就是系統核心中,所以不能切換任務處理鍵盤滑鼠等,也就是當機毫無反應了。
★IGMP(Internet Group Message Protocol)是一個尚處於實驗階段的協定,提供Internet網際多點傳送的功能,即將一個IP包的拷貝傳給多個host.
Windows98和windows2000都採用了這個不太成熟的協定,在這兩個平台內,這個多點傳送的協定的套用容易引起Tcp/IP堆疊的阻塞
這種攻擊能使對方的機器藍屏甚至是重啟,但我個人認為實際意義不大。
因為此協定是ipx/spx里的,因此只能炸區域網路,如有ipx路由可炸得遠點.
IGMP的本義是為了使路由器覺察到本地主機組的存在而使用的一個協定,因此一般只有路由發的igmp包是可以接受的.