1. 程式人生 > 其它 >20212907 2021-2022-2 《網路攻防實踐》實踐四報告

20212907 2021-2022-2 《網路攻防實踐》實踐四報告

一.實踐內容

1.TCP/IP協議棧
TCP/IP協議,或稱為TCP/IP協議棧,或網際網路協議系列。TCP/IP協議棧(按TCP/IP參考模型劃分),TCP/IP分為4層,不同於OSI,他將OSI中的會話層、表示層規劃到應用層。
·鏈路層主要用來處理資料在物理介質(如乙太網、令牌環等)的傳輸,實現網絡卡介面的網路驅動程式;
·網路層採用IP協議是整個協議棧的核心,其主要功能是進行資料包的選路和轉發,實現網際互聯與擁塞控制等;
·傳輸層為主機間的應用程式提供端到端的通訊,該層定義了兩種協議即TCP與UDP;
·應用層的主要功能是處理應用程式的邏輯,比如檔案傳輸、名稱查詢和網路管理等,位於該層的協議有基於TCP協議的FTP檔案傳輸協議、HTTP超文字傳輸協議和基於UDP協議的域名服務DNS等。

由於 TCP/IP 協議有四層且每一層功能、協議各不相同,因此針對不同協議層攻擊方法也各不相同:針對鏈路層的攻擊,主要是對網路硬體和基礎設施進行物理破壞或強行改變路由器路由;IP協議與ARP協議是網路層最重要的兩個協議,針對網路層的攻擊,主要有IP碎片攻擊、ARP 欺騙等;由於TCP協議與UDP協議是傳輸層最主要的兩個協議,因此針對傳輸層的攻擊非常多,包括DOS攻擊等;而應用層的協議是整個協議棧最多的,因此針對該層的攻擊數量極為龐大,常見的如 DNS 欺騙等。

2.ARP快取欺騙攻擊
ARP(地址解析協議)是在僅知道主機的IP地址時確定其實體地址的一種協議。因IPv4和乙太網的廣泛應用,其主要用作將IP地址翻譯為乙太網的MAC地址,但其也能在ATM和FDDI IP網路中使用。ARP欺騙,它主要分為雙向欺騙和單向欺騙。
(1)單向欺騙
A的地址為:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
B的地址為:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
C的地址為:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC
A和C之間進行通訊.但是此時B向A傳送一個自己偽造的ARP應答,而這個應答中的資料為傳送方IP地址是192.168.10.3(C的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(C的MAC地址本來應該是CC-CC-CC-CC-CC-CC,這裡被偽造了)。當A接收到B偽造的ARP應答,就會更新本地的ARP快取(A被欺騙了),這時B就偽裝成C了。同時,B同樣向C傳送一個ARP應答,應答包中傳送方IP地址四192.168.10.1(A的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(A的MAC地址本來應該是AA-AA-AA-AA-AA-AA),當C收到B偽造的ARP應答,也會更新本地ARP快取(C也被欺騙了),這時B就偽裝成了A。這樣主機A和C都被主機B欺騙,A和C之間通訊的資料都經過了B。主機B完全可以知道他們之間說的什麼:)。這就是典型的ARP欺騙過程。
(2)雙向欺騙
A要跟C正常通訊,B向A說我是才C。B向C說我才是A,那麼這樣的情況下把A跟C的ARP快取表全部修改了。以後通訊過程就是 A把資料傳送給B,B在傳送給C,C把資料傳送B,B在把資料給A。
攻擊主機發送ARP應答包給被攻擊主機和閘道器,它們分別修改其ARP快取表為, 修改的全是攻擊主機的MAC地址,這樣它們之間資料都被攻擊主機截獲。

3.ICMP重定向攻擊
ICMP重定向資訊是路由器向主機提供實時的路由資訊,當一個主機收到ICMP重定向資訊時,它就會根據這個資訊來更新自己的路由表。由於缺乏必要的合法性檢查,如果一個黑客想要被攻擊的主機修改它的路由表,黑客就會發送ICMP重定向資訊給被攻擊的主機,讓該主機按照黑客的要求來修改路由表。
在VMware虛擬環境中(Virtual Box不同),.2是充當閘道器的預設地址(通過route命令可以檢視當前的閘道器和路由資訊);所以攻擊者可以冒充.2發出重定向包,通知受害者修改自己的閘道器為攻擊者指定的gw地址;如果偽造的gw是自身,可以實現中間人攻擊或者DOS攻擊(沒有啟動IP轉發功能);如果是隨意IP(不能到達或不負責轉發),則可以導致DOS攻擊。

4.SYN Flood攻擊
SYN Flood (SYN洪水) 是種典型的DoS (Denial of Service,拒絕服務) 攻擊。效果就是伺服器TCP連線資源耗盡,停止響應正常的TCP連線請求。
SYN Flood攻擊是一種利用TCP協議缺陷,傳送大量偽造的TCP連線請求,常用假冒的IP或IP號段發來海量的請求連線的第一個握手包(SYN包),被攻擊伺服器迴應第二個握手包(SYN+ ACK包),因為對方是假冒IP對方永遠收不到包且不會迴應第三個握手包。導致被攻擊伺服器保持大量SYN RECV狀態的“半連線”,並且會重試預設5次迴應第二個握手包,塞滿TCP等待連線佇列,資源耗盡(CPU滿負荷或記憶體不足) ,讓正常的業務請求連線不進來。

5.TCP RST攻擊
RST表示復位。用來異常的關閉連線。在傳送RST包關閉連線時,不必等緩衝區的包都發出去,而是直接丟棄快取區的包傳送RST包。而接收端收到RST包後,也不必傳送ACK包來確認。 RST攻擊:客戶端和服務端之間建立了TCP連線。此時攻擊者偽造了一個TCP包發給客戶端,使客戶端異常的斷開了與服務端之間的TCP連線,這就是RST攻擊。攻擊中,攻擊主機可以通過嗅探方式監視通訊雙方之間的TCP連線,在獲得源、目標IP地址及埠,以及序列號之後,就可以結合IP源地址欺騙技術偽裝成通訊一方,傳送TCP重置報文給通訊另一方,在確保埠號一致及序列號落入TCP視窗之內的情況下,即可直接關閉這個TCP連線,造成通訊雙方正常網路通訊的中斷,達到拒絕服務的效果,而且向TCP會話中的任意一端節點均可以重置TCP連線。

·當A與B正在進行資料傳輸通訊(已建立TCP連線);
·這時hacker偽裝了一個由伺服器B給A傳送的復位報文併發送給A;
·A收到該復位報文,則會立即釋放連線並清空快取;
·hacker會一直監聽被攻擊者A是否發出TCP連線請求,一旦監聽到該TCP請求報文,hacker則會立即向被攻擊者A傳送TCP RST復位報文,這就導致了A將無法再次連線上B。

6.TCP會話劫持攻擊
目標是劫持通訊雙方已建立的TCP會話連線,假冒其中一方(通常是客戶端)的身份,與另一方進行進一步通訊。TCP會話劫持的攻擊方式可以對基於TCP的任何應用發起攻擊,如HTTP、FTP、Telnet等。對於攻擊者來說,所必須要做的就是窺探到正在進行TCP通訊的兩臺主機之間傳送的報文,這樣攻擊者就可以得知該報文的源IP、源TCP埠號、目的IP、目的TCP端號,從而可以得知其中一臺主機對將要收到的下一個TCP報文段中seq和ackseq值的要求。這樣,在該合法主機收到另一臺合法主機發送的TCP報文前,攻擊者根據所截獲的資訊向該主機發出一個帶有淨荷的TCP報文,如果該主機先收到攻擊報文,就可以把合法的TCP會話建立在攻擊主機與被攻擊主機之間。帶有淨荷的攻擊報文能夠使被攻擊主機對下一個要收到的TCP報文中的確認序號(ackseq)的值的要求發生變化,從而使另一臺合法的主機向被攻擊主機發出的報文被被攻擊主機拒絕。TCP會話劫持攻擊方式的好處在於使攻擊者避開了被攻擊主機對訪問者的身份驗證和安全認證,從而使攻擊者直接進入對被攻擊主機的的訪問狀態,因此對系統安全構成的威脅比較嚴重。

二.實踐過程

任務:
在網路攻防實驗環境中完成TCP/IP協議棧重點協議的攻擊實驗,包括ARP快取欺騙攻擊、ICMP重定向攻擊、SYN Flood攻擊、TCP RST攻擊、TCP會話劫持攻擊。

首先檢視kali攻擊機和winxp以及ubuntu兩臺通訊機的IP及MAC地址:

綜上,如表格所示:

Kali
WinXP
Ubuntu

三.遇見的問題及解決

問題1:

問題1解決方案:

四.實踐總結