http://www.cnblogs.com/lidong20179210/p/8909569.htmlhtml
- ARP緩存欺騙攻擊
- ICMP重定向攻擊
- SYN FLOOD攻擊
- TCP RST攻擊
- TCP會話劫持攻擊
- Netwox原始報文僞造工具
ARP 緩存是 ARP 協議的重要組成部分。當使用 ARP 協議解析了某個 MAC 地址和 IP地址的映射關係,該映射便會被緩存下來。所以就不用再使用 ARP 協議來解析已存在緩存中的映射關係。可是由於 ARP 協議是無身份認證的,因此 ARP 緩存很容易被惡意的虛假ARP 數據報實施欺騙。這樣的攻擊被稱爲 ARP 緩存欺騙(或 ARP 緩存中毒)。在這樣的攻擊中,攻擊者經過僞造 ARP 數據報來欺騙被攻擊主機的電腦使之緩存錯誤的 MAC 地址和 IP 地址映射。因攻擊者的動機不一樣,攻擊的結果也有不少。例如,攻擊者可使被攻擊主機的默認網關IP 映射到一個不存在的 MAC 地址達到 DoS 攻擊,攻擊者也可使被攻擊主機的通訊重定向至其餘機器等等。你的任務是演示 ARP 緩存欺騙攻擊是怎麼工做的。任務中一些有用的命令: linux 下可使用 arp 來檢查當前的 ARP 緩存。
linux
ARP欺騙技術的應用場景
利用ARP欺騙進行交換網絡中的嗅探
ARP欺騙構造中間人攻擊,從而實施TCP會話劫持
ARP病毒
ARP欺騙掛馬ubuntu
ARP欺騙攻擊防範措施
靜態綁定關鍵主機的IP地址與MAC地址映射關係
網關/關鍵服務器
"arp -s IP地址 MAC地址 類型"
使用相應的ARP防範工具
ARP防火牆
使用VLAN虛擬子網細分網絡拓撲
加密傳輸數據以下降ARP欺騙攻擊的危害後果瀏覽器
攻擊機的ip後三位爲130,靶機A爲133,靶機B爲134,攻擊機經過netwox工具僞造arp報文,使靶機B相信靶機A的ip對應的MAC地址爲僞造的MAC地址,這個MAC地址能夠是攻擊機的物理地址,我在僞造的物理地址中嵌入了個人學號。
使用netwox的80號工具攻擊,命令如圖,
緩存
攻擊結果如圖,安全
ICMP 重定向報文是路由器爲網絡中的機器提供最新的路由信息以達到最短路由而使用的。當主機收到一個 ICMP 重定向報文就會根據報文來更新本身的路由表。因爲缺少確認機制,若是攻擊者想要使被攻擊主機使用特定路由,他們只要向被攻擊主機發送欺騙性的ICMP 重定向報文,使它改變路由表便可。你的任務是演示 ICMP 重定向攻擊是如何工做的,並描述一下觀察到的結果。在 linux可使用 route 命令檢查路由表。
服務器
ICMP路由重定向攻擊防範
根據類型過濾一些ICMP數據包
設置防火牆過濾
對於ICMP重定向報文判斷是否是來自本地路由器cookie
(tcp or arp or icmp) and ip.addr == 222.28.136.122網絡
回車以後,咱們開啓wireshark,用靶機ping baidu.com,能夠看到wireshark馬上截獲了靶機發往目標服務器的的相關報文,以下圖所示:
tcp
SYN flood攻擊是 DoS 攻擊的一種形式,攻擊者向被攻擊主機的 TCP 端口大量發送 SYN請求包,但不去完成 TCP 的」三次握手」的過程,例如攻擊使用一個假的 IP 地址,或只是簡單地再也不繼續創建 TCP 鏈接的過程,這都使被攻擊主機處於」半鏈接」狀態(即在」三次握手」過程當中,有了前兩次握手,SYN 包和 SYN-ACK 包的傳輸,但沒有最後一次 ACK 包的確認)。被攻擊主機的主機會使用一個隊列來保存這種半鏈接的狀態,當這個隊列存儲空間滿了的時候,目標主機便沒法再接受任何其它鏈接。這一隊列的空間大小事實上是一個系統變量,在Linux 中,能夠這樣查看它的大小:
# sysctl –q net.ipv4.tcp_max_syn_backlog
咱們還可使用」netstat -na」命令去檢查隊列的使用狀況。處於半鏈接的鏈接狀態被標示爲」SYN-RECV」,完成了」三次握手」的鏈接被標示爲」ESTABLISHED」.在這一任務中,你須要演示 SYN flood 攻擊。你可使用 Netwox 去實施攻擊,並使用嗅探器來獲取數據包。攻擊實施的過程當中,在被攻擊主機上運行」netstat -na」命令去觀察受攻擊的狀況。請描述你的攻擊是否成功。
SYN Cookie 保護機制:若是你的攻擊看起來並不成功,你能夠檢查一下目標主機的 SYN Cookie 機制是否被開啓。SYN cookie 是針對 SYN flood 攻擊的一種保護機制。這一機制會在探測到 SYN flood 攻擊時開始生效。
你可使用 sysctl 命令去打開或關閉這一機制:
# sysctl -a | grep cookie (查看 SYN cookie 的當前狀態) # sysctl -w net.ipv4.tcp_syncookies=0 (關閉 SYN cookie) # sysctl –w net.ipv4.tcp_syncookies=1 (打開 SYN cookie)
請分別在 SYN cookie 機制打開和關閉兩種狀況下實施你的 SYN flood 攻擊,並比較結果。請在你的報告中嘗試描述爲何 SYN cookie 能有效地抵禦你的攻擊。 (若是課堂上沒有講解 SYN cookie 的原理,你能夠從網絡上找到相關的信息)
使用主機C對A實施攻擊,形成FLOOD攻擊,使用以下命令
可利用Wireshark工具抓取數據包查看:
首先,A爲kali攻擊機,B爲靶機(win2000),C爲服務器(ubuntu)。其中服務器的IP地址以下
TCP 會話劫持的目標是劫持一個已經存在於兩臺被攻擊主機之間的 TCP 鏈接,在會話
中注入惡意的內容。若是這是一個 telnet 會話鏈接,攻擊者能夠注入一些惡意的命令,使得被攻擊主機運行這些惡意的命令。在這個任務中,咱們使用 telnet 做爲例子,而且仍然假定攻擊機與目標主機在同一個局域網內。
TCP會話劫持
結合嗅探、欺騙技術
中間人攻擊:注射額外信息,暗中改變通訊
計算出正確的seq ackseq便可
TCP會話攻擊工具 Juggernaut、 Hunt、 TTY watcher、IP watcher
TCP會話加密(IPsec協議)
避免了攻擊者在獲得傳輸層的端口及序列號等關鍵信息防火牆配置
限制儘量少許的外部許可鏈接的IP地址檢測
ACK風暴: ACK包的數量明顯增長
關於 wireshark 的一些提示:若是你使用 wireshark 進行監聽,請注意在默認狀況下wireshark 顯示的 TCP 鏈接的序列號(sequence number)是相對序列號(relative sequence),也就是當前序列號減去 TCP 鏈接創建之初的起始序列號,要查看真實的」絕對」序列號,右鍵點擊協議內容,在」protocol preference」菜單中去掉」Relative Sequence Number and Window Scaling」這一項前面的勾。
UDP Flood攻擊