ICMP重定向攻擊


ICMP介紹

ICMP(Internet Control Message Protocol)Internet控制報文協議。它是TCP/IP協議簇的一個子協議,用於在IP主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然並不傳輸用戶數據,但是對於用戶數據的傳遞起着重要的作用。

ICMP重定向

ICMP重定向報文是ICMP控制報文中的一種。是用來提示主機改變自己的主機路由從而使路由路徑最優化的一種ICMP報文。其概念理解的要義是原主機路由不是最佳路由,而其默認網關提醒主機優化自身的主機路由而發送的報文。

ICMP重定向原理

ICMP重定向信息是路由器向主機提供實時的路由信息,當一個主機收到ICMP重定向信息時,它就會根據這個信息來 更新自己的路由表。由於缺乏必要的合法性檢查,如果一個黑客想要被攻擊的主機修改它的路由表,黑客就會發送 ICMP重定向信息給被攻擊的主機,讓該主機按照黑客的要求來修改路由表。

 

實驗環境:

攻擊機kali: 192.168.43.103          網關192.168.43.1

被攻擊機 centos 7:192.168.43.190    網關192.168.43.1

 

在此前需要開啟攻擊機的路由轉發功能,此處使用kali作為攻擊機

在etc/sysctl.conf 將轉發參數改為“1”

正常情況下,被攻擊機器ping baidu.com返回如下所示

發起攻擊

netwox 86 -f “host {被攻擊主機ip地址}” -g “{新指定的網關ip地址}” -i “{當前網關ip地址}”

netwox 86 -f "host 192.168.43.190" -g "192.168.43.103" -i "192.168.43.1"  

 

這句話的意思是,嗅探網絡中來自主機192.168.43.190的數據包,一旦出現,就以網關192.168.43.103的名義,向數據包的源地址發送一個ICMP重定向報文,使之使用192.168.43.103作為默認的路由。

 

被攻擊后,被攻擊機器的數據包被重定向到了指定的網關,如下圖所示

紅色框中:

第二行:從localhost發出的數據被重定向到了攻擊機192.168.32.103

第三行:由於攻擊機開啟了IPV4轉發,攻擊機將數據包又重定向到了真正的網關192.168.32.1

 

關閉攻擊機的IP轉發,再進行測試

在etc/sysctl.conf 將轉發參數改為“0”

執行攻擊命令 netwox 86 -f "host 192.168.43.190 " -g "192.168.43.103" -i "192.168.43.1"

 

執行ping baidu.com查看結果,可以看到雖然將目標機器與網關通信的流量重定向到了192.168.43.103(攻擊機IP),但攻擊機沒有對流量進行轉發

 

解決方法:

忽略icmp重定向

Centos發行版本的系統可修改 /etc/sysctl.conf添加如下內容

 

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

 

net.ipv6.conf.all.accept_redirects = 0

net.ipv6.conf.default.accept_redirects = 0


免責聲明!

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



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