基於netwox/netwag 工具的網絡協議攻防實驗


實驗目的:

理解基於網絡協議的攻擊原理, 掌握一些基於網絡協議攻擊的方法, 掌握 netwox/netwag 的使用方法。 實驗環境: netwox/netwag 工具, wireshark 工具, Telnet 服務器, Telnet 客戶端

實驗准備:

1. 安裝 netwox/netwag 工具:先安裝 ActiveTcl,再解壓安裝

2. 安裝配置 Telnet 服務器, Telnet 客戶端

實驗內容:

  1.  使用 netwox/netwag 工具偽造 TCP 包並進行抓包分析

2. 使用 netwox/netwag 工具對 Telnet 服務器進行 SYN flood 攻擊,並進行抓包分析

3. 使用 netwox/netwag 工具對 Telnet 服務器進行 TCP RST 攻擊,並進行抓包分析。

實驗步驟記錄:

實驗准備:安裝 Activetcl 和Netwox/Netwag工具

實驗正式進行:

  1. 使用 netwox/netwag 工具的方法38偽造 TCP 包並進行抓包分析

2.使用 netwox/netwag 工具對 Telnet 服務器進行 SYN flood 攻擊,並進行抓包分析

(1)在本地機器上配置激活 Telnet 服務器與 Telnet 客戶端,以自己的學號創建新的用戶;

1.1) 打開 Telnet 功能:控制面板-程序-程序和功能-打開或關閉 Windows 功能,勾選 Telnet 服務器, Telnet 客戶端。

1.2)啟動本地 Telnet 服務器,搜索-服務,點擊服務,選擇 Telnet,更改啟動類型為 手動

1.3)增加 Win7 用戶1515300024並將其加入 到Telnet 群組

1.4)手動啟動 Telnet 服務器:net start Telnet

(2)啟動本地 Wireshark;

(3)在第二台機器上登錄有自己學號帳戶的 Telnet 服務器,截屏及捕獲登錄蹤跡;

從客戶端命令行上輸入 telnet IP 地址,之后輸入帳號/口令字,登入 Telnet 服務器。同時在客戶端開啟Wireshark抓包工具,抓取客戶端 192.168.1.130 登錄到Telnet 服務器192.168.1.131 的數據包

下圖為客戶端登陸並執行一次dir命令的截圖:

下圖為客戶端Wireshark抓取的Telnet流量包截圖截圖:

使用Wireshark的流追蹤功能還原出本次明文傳輸的Telnet通信過程,可以看出這些信息和客戶端上的過程基本一致

(4)退出登錄,從第三台機器上利用 netwox/netwag 工具對Telnet服務器進行 SYN flood 攻擊。捕獲 DDOS 攻擊蹤跡。嘗試再次登錄 Telnet 服務器,解釋現象。

 構造SYN flood攻擊包如下:

啟動攻擊:

抓取的DDOS 攻擊蹤跡如下,可以發現這些攻擊包高度相似,目的地址都是Telnet服務器的IP:192.168.1.131,類型都是SYN請求包,但是源地址沒有任何規律

此時在第二台機器上再次連接Telnet服務器,會出現以下無法連接的情況,因為在服務器的 23 端口積累了大量的SYN請求包需要服務器來處理,服務器向SYN包的源地址發送SYN/ACK 包並等待源地址的ACK包回復,但是由於源地址是偽造的,無法回復 ACK 包,服務器因此陷入等待狀態,從而導致無法接收正常主機發起的 TCP 連接,造成拒絕服務現象。

3.使用 netwox/netwag 工具對 Telnet 服務器進行 TCP RST 攻擊,並進行抓包分析。

(1) 以你的學號創建一個 Telnet 賬戶,以這個賬戶為基礎進行后繼的實驗。

 這一步只需使用之前配置好的賬戶即可

(2) 驗證 TCP RESET 理論上的可行性

A 先在二主機之間建立一個 TCP 連接,通過抓包程序獲得當前二主機的 ip 地址,端口號,序列號。 B 通過獲得的信息偽造 TCP RESET 報文並發送。

C 觀察原有 TCP 連接是否斷開。

建立TCP 連接:Telnet 192.168.1.131

抓包獲得當前二主機的 ip 地址,端口號,序列號如下:

源ip地址: 192.168.1.137, 目的ip地址: 192.168.1.131

源端口: 1056,  目的端口: 23,

序列號(Seq): 563773297, 確認號(Ack): 2245100282

偽造的數據包發送完成后,Telnet客戶端立即斷開了連接,同時wireshark上也抓到了對應的偽造的RST數據包,結果截圖如下:

 

實驗至此可以證明 TCP RESET 是可行的

(3) 驗證窗口對 TCP RESET 攻擊的影響

A 先在二主機之間建立一個 TCP 連接,通過抓包程序獲得當前二主機的 ip 地址,端口號,序列號,另外就是記錄下窗口的大小。

B 通過獲得的信息偽造 TCP RESET,填寫偽造的序列號時,使偽造序號大於准確的序列號但是與准確序列號的差小於窗口大小,發送 TCP RESET 報文。

C 觀察原有 TCP 連接是否斷開。 改動偽造的序列號,使其剛與准確的序列號之差剛好為窗口大小,重復以上實驗。

3.1)偽造序號大於准確的序列號但是與准確序列號的差小於窗口大小

建立TCP 連接:Telnet 192.168.1.131

構造欺騙客戶端的RST包:

抓取客戶端發往服務器的TCP包獲得當前二主機的 ip 地址,端口號,序列號,窗口大小如下:

源ip地址: 192.168.1.137, 目的ip地址: 192.168.1.131

源端口: 1146,  目的端口: 23,

序列號(Seq): 2649478470, 確認號(Ack): 3142715117,窗口的大小(win):62847

偽造欺騙客戶端的TCP RESET 報文並發送:

使用確認號(Ack): 3142715117+10=3142715127作為偽造數據包的序列號(Seq),構造如下RST數據包:

連接沒有斷開,而且可以看到,在RST包發出去以后,客戶端立刻發了一個重傳包給服務器,該重傳包的數據和105號包是一致的,現在客戶端仍然可以正常發送數據.

實驗沒有達到預期效果順利斷開,接着我嘗試減少確認號(Ack)增加的值,結果發現+10,+5,+2,+1都不能斷開連接,由此推測這樣簡單地構造RST包是不可行的,或許需要輔以其他手段。

3.2)改動偽造的序列號,使其剛與准確的序列號之差剛好為窗口大小

RST包發送后,客戶端重傳958號數據包,連接沒有斷開

結果和3.1一樣,無法中斷telnet連接。

 


免責聲明!

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



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