1.ARP欺騙 在基于IP通信的内部網中,我們可以使用ARP欺騙的手段,ARP欺騙攻擊的根本原理是因為計算機中維護着一個ARP高速緩存,并且這個ARP高速緩存是随着計算機不斷的發出ARP請求和收到ARP響應而不斷的更新的,ARP高速緩存的目的是把機器的IP位址和MAC位址互相映射。你可以使用 arp指令來檢視你自己的ARP高速緩存。假設機器A:IP位址為10.0.0.1,MAC位址為20-53-52-43-00-01,機器B:IP位址為10.0.0.2,MAC位址為20-53-52-43-00-02,機器C:IP位址為10.0.0.3,MAC位址為20-53-52-43-00 -03。現在機器B向機器A發出一個ARP Reply(協定沒有規定一定要等ARP Request出現才能發送ARPReply,也沒有規定一定要發送過ARP Request才能接收ARPReply),其中的目的IP位址為10.0.0.1,目的MAC位址為20-53-52-43-00-01,而源IP位址為10.0.0.3,源MAC位址為20-53-52-43-00-02,好了,現在機器A更新了他的 ARP高速緩存,并相信了IP位址為10.0.0.3的機器的MAC位址是20-53-52-43-00-02。當機器A發出一條FTP指令時—— ftp10.0.0.3,資料包被送到了Switch,Switch檢視資料包中的目的位址,發現MAC為20-53-52-43-00-02,于是,他把資料包發到了機器B上。你可以同時欺騙他們雙方,完成中間人欺騙攻擊。當然,在實際的操作中你還需要考慮到一些其他的事,比如某些作業系統在會主動的發送ARP請求包來更新相應的ARP入口等。 2.交換機MAC位址表溢出 Switch之是以能夠由資料包中目的MAC位址判斷出他應該把資料包發送到那一個端口上是根據他本身維護的一張位址表。對于動态的位址表,并且位址表的大小是有上限的,可以通過發送大量錯誤的位址資訊而使SWITCH維護的位址表“溢出”,進而使他變成廣播模式來達到我們要sniff 機器A與機器C之間的通信的目的。 3.MAC位址僞造 僞造MAC位址也是一個常用的辦法,不過這要基于你網絡内的Switch是動态更新其位址表,這和ARP欺騙有些類似,隻不過現在你是想要Switch相信你,而不是要機器A相信你。因為Switch是動态更新其位址表的,你要做的事情就是告訴Switch你是機器C。換成技術上的問題你隻不過需要向Switch發送僞造過的資料包,其中源MAC位址對應的是機器C的MAC位址,現在 Switch就把機器C和你的端口對應起來了。不過同時你需要DOS掉主機C。 4.ICMP路由器發現協定欺騙 這主要是由ICMP路由器發現協定(IRDP)的缺陷引起的,在 Windows95、Windows98、Windows2000及SunOS、Solaris2.6等系統中,都使用了IRDP協定,SunOS系統隻在某些特定的情況下使用該協定,而Windows95、Windows95b、Windows98、Windows98se和Windows2000都是預設的使用IRDP協定。IRDP協定的主要内容就是告訴人們誰是路由器。設想一下,一個攻擊者利用IRDP宣稱自己是路由器的情況會有多麼的糟糕!所有相信攻擊者的請求的機器把他們所有的資料都發送給攻擊者所控制的機器。 5.ICMP重定向攻擊 所謂ICMP重定向,就是指告訴機器向另一個不同的路由發送他的資料包,ICMP重定向通常使用在這樣的場合下,假設A與B兩台機器分别位于同一個實體網段内的兩個邏輯子網内,而A和B都不知道這一點,隻有路由器知道,當A發送給B的資料到達路由器的時候,路由器會向A送一個ICMP重定向包,告訴A直接送到B那裡就可以了。設想一下,一個攻擊者完全可以利用這一點,使得A發送給B的資料經過他。 本文出自 51CTO.COM技術部落格 |
所謂ICMP重定向,就是指告訴機器向另一個不同的路由發送他的資料包,ICMP重定向通常使用在這樣的場合下,假設A與B兩台機器分别位于同一個實體網段内的兩個邏輯子網内,而A和B都不知道這一點,隻有路由器知道,當A發送給B的資料到達路由器的時候,路由器會向A送一個ICMP重定向包,告訴A直接送到B那裡就可以了。設想一下,一個攻擊者完全可以利用這一點,使得A發送給B的資料經過他。