# 網路安全 hw2 ###### tags: `class note` `網路安全` ## TCP - [TCP (Transmission Control Protocol)](https://searchnetworking.techtarget.com/definition/TCP) - [使用wireshark分析tcpdump出来的pcap文件](https://blog.csdn.net/zeze_Z/article/details/57919479) - TCP 三次交握 - ![](https://i.imgur.com/U897YxC.png) - [實驗八 TCP協定分析](http://opencourse.ndhu.edu.tw/pluginfile.php/817/mod_resource/content/0/course_files/Exp8_TCP.pdf) ## DDos - [使用Wireshark分析並發現DDoS攻擊](https://security.tencent.com/index.php/blog/msg/3) ## ICMP - [搞懂ICMP協定及工具 抵擋「死亡之Ping」攻擊](https://www.netadmin.com.tw/netadmin/zh-tw/technology/111381F2995A4AB48672E965F63133AE?page=1) - [ICMP DoS攻擊之原理與防禦方法](https://blog.xuite.net/wlhfor/aboutme/10560187-ICMP+DoS%E6%94%BB%E6%93%8A%E4%B9%8B%E5%8E%9F%E7%90%86%E8%88%87%E9%98%B2%E7%A6%A6%E6%96%B9%E6%B3%95) - [0.6 ICMP](https://sls.weco.net/node/28883) - [實驗六 ICMP協定分析](http://opencourse.ndhu.edu.tw/pluginfile.php/815/mod_resource/content/0/course_files/Exp6_ICMP.pdf) ## ARP - [實驗五 ARP協定分析](http://opencourse.ndhu.edu.tw/pluginfile.php/813/mod_resource/content/0/course_files/Exp5_ARP.pdf) ## Hw2 ### 1.pcapng 這個檔案看起來在做普通的 `SSH` 連線,且進行正常封包處理交換。但在做 `SSH` 連線之前要先做 TCP 三向交握,部分時段有大量的 TCP 三向交握。其中一個怪怪的地方是一個 client 透過多個 port 去對 server 做連線,以我目前的能力無法想像神樣的行為需要這樣做,網路上也找不太到資料。除此之外,某些 port 可以成功建立連線並傳送資料(如圖一),但有些 port 成功三向交握成功後,SSH 的 key 都還沒有比對就被 server 送了一個帶有 RST flag 的 TCP 封包導致連線斷開(如圖二),這部份不確定是為什麼也查不太到資料。 - 圖(一) ![](https://i.imgur.com/ZRcnUJ7.png) - 圖(二) ![](https://i.imgur.com/CNVAvNU.png) ### 2.pcapng 打開此封包會發現超過 99% 的指令都是經由 `ICMP` 協定的 `ping` ,而且是在短時間內大量的對主機發出 `ping` 指令,而傳輸的封包當中都沒有附上 `option data` ,因此判斷非 `Ping of Death` 攻擊,且發算的目的位址也不是 `router` 因此判斷不是 `smurf` 攻擊。又因為發送間隔時間極短且量非常大判斷這應該為 Dos 攻擊,且為 Dos 中的 ICMP flood 攻擊。有趣的是,沒有任何一個 `reply` 封包,也許 server 為了阻擋 ICMP flood 攻擊,把 ICMP Echo Reply 關掉了。 以下簡介 ICMP 相關攻擊 1. ICMP flood - 在短時間對 server 發出大量 `ping` ,導致 server 無法正常做回應 ![](https://i.imgur.com/xJDg3Ha.png) 2. Ping of Death - 利用主機處理的封包大小上限限制,在 `ping` 的時候給予一個過大的封包,導致主機無法處理此封包,上限為 65535 3. Smurf - 利用路由器廣播功能,將大量的 ICMP 廣播到網路上,並將來源位址造假成受害電腦,導致受害電腦在短時間內收到大量的 reply 封包 ![](https://i.imgur.com/UFUYfUi.png) #### What kind of behavior it is 從這筆檔案看來,就是大量的對主機做 `ping` 而已,除此之外從檔案內看不出其他動作。 > 參考資料: 6個Network Layer常見的網路攻擊威脅與示範(https://www.qa-knowhow.com/?p=4038) ICMP DoS攻擊之原理與防禦方法(https://blog.xuite.net/wlhfor/aboutme/10560187-ICMP+DoS%E6%94%BB%E6%93%8A%E4%B9%8B%E5%8E%9F%E7%90%86%E8%88%87%E9%98%B2%E7%A6%A6%E6%96%B9%E6%B3%95) ### 3.pcapng 封包打開後會發現 client 對 server 在短時間發出大量 TCP 的封包,且 SYN flag 都設成 1 ,猜測是 client 嘗試對 sever 進行三向交握,但 sever 回傳的 TCP 封包 RST、SYN flag 都被拉起來,看起來是拒絕 client 的三向交握要求。由 client 的行為判斷, client 可能在對 server 進行 Dos 中的 SYN flood 攻擊,但被 server 阻擋住了。 #### TCP header 介紹 ![](https://i.imgur.com/Ie5x9dl.png) #### TCP 協定的交握 ![](https://i.imgur.com/U897YxC.png) #### SYN flood 攻擊 藉由在短時間內大量對 server 發出大量的 TCP 封包要求三向交握,但故意不回復最後一個 ACK 封包或者一開始就給予假的 source IP 導致 server 等不到 ACK 封包。 >參考 - TCP (Transmission Control Protocol)(https://searchnetworking.techtarget.com/definition/TCP) - 實驗八 TCP協定分析(http://opencourse.ndhu.edu.tw/pluginfile.php/817/mod_resource/content/0/course_files/Exp8_TCP.pdf) > ### 4.pcapng ![](https://i.imgur.com/UEvST7N.png) 從檔案中看起來全部的封包都是以 TCP 協定傳送的 no-flag 封包,且 source IP 位址完全不同,初看以為是 DDos 攻擊,攻擊者使用大量殭屍電腦對 server 發送 no-flag TCP 封包,再仔細看之後發現 source port 是連續的,因此猜測 client 端是透過假製造假 IP 並且用不同的 port 對 server 在短時間內發送的 TCP no-flag 封包。至於發送大量的 no-flag 封包的意義,在網路上有看到人家說這是在為了對 server 進行大規模的攻擊前,先對該 server 的 port 進行測試使用。 >參考 TCP Null Attack(https://ddos-guard.net/en/terminology/attack_type/tcp-null-attack) > ### 5.pcapng 這個檔案看起來是透過 TCP 協定跟 server 連線,並對 server 發出 http 封包,在仔細看會看到大量 http 協定的操作,看起來是在對 SQL 資料庫進行操作(如下圖),再仔細看一下這些封包,發現這些 http 的封包看起來怪怪的,在 `id` 的後面看到很多 `where`、 `AND`、 `--` ,因此判斷 client 可能想透過 SQL ingection 對 server 進行不當操作。 ![](https://i.imgur.com/aEamFoF.png) >參考 SQL注入(https://zh.wikipedia.org/wiki/SQL%E6%B3%A8%E5%85%A5) > ### 6.pcapng 檔案內絕大部分都是 TCP 協定的封包,且 all-flags set (如下圖),all-flags set 的 TCP 封包對 server 來說是個 unexpected 的封包,不同的系統可能會對這樣的封包進行不同的處理,而有些較舊的 server 可能會因此非預期行為。 >參考 ALL TCP Flags Flood(https://kb.mazebolt.com/knowledgebase/all-tcp-flags-flood-xmas-flood/) > :::info - [網路技術](https://sls.weco.net/CollectiveNote20/Network) :::