Wireshark協議分析之基礎知識

一:安全三要素

保密性(confidentiality)、完整性(integrity)、可用性(availability)是信息安全的3個基本方面

簡稱 CIA  或CAI

數據的保密性最主要靠加密技術。只要網絡流量是加密的,從有線或無線網絡上直接讀取到的數據就是不可識別的

二:入侵檢測和防護系統

入侵檢測系統(Intrusion Detection System,IDS)在有問題時只報警,而入侵防護系統(Intrusion Prevention System,IPS)在報警之外,還會針對問題做出相應的處理。

IDS/IPS針對問題檢測,一般是採用以下兩種主要的識別方式:

  1. 基於特徵簽名:檢測到的是已經知道的問題。IDS有一個特徵數據庫,裏面放着各種用於匹配的特徵簽名或模式。如果監控到符合模式或特徵簽名的流量,就警告。
  2. 基於異常行爲:把看起來可疑的流量和正常基準流量做對比,有偏離就觸發報警

其實上述兩種方法都不完全可靠,比如上線了一套新的服務或系統,無論是正規的,還是非法的,都會帶來新的基準流量,完全可能觸發IDS的“異常行爲”報警

Wireshark可以用作基於特徵簽名的IDS,Wireshark根據你的需求檢測分組包裏的內容。Wireshark也可以持續監控來自特定IP地址、網段或服務的流量。實際上,只要能用過濾器表達出來,Wireshark就可以匹配出網絡裏符合條件的流量。

三:欺騙和污染

欺騙(Spoofing) 污染(Poisoning)

區別:兩者除了語義上的差異,還有事件順序上的差異。

欺騙是用一個惡意的響應迴應一個正常的請求

污染是提前發出一個有問題的信息。污染是在涉及緩存重定向場景裏,搶先一步污染緩存的內容,不需要去攔截請求了

四:混雜模式與監控模式

正常來說,系統會只注意和關注與自身相關的分組數據包。當網卡或者驅動收到不是發送給它的數據包時,就會丟棄該數據包。

無關的分組數據包在儘可能低的網絡層,也就是第二層就被丟棄掉了。一旦確認了該分組數據的MAC地址和本主機無關,這個分組包就被扔掉了。

如果我們需要獲得所有發往網卡的數據包,網卡驅動本身是支持這種做法的,只需要設置爲混雜模式

啓用這種模式後,網卡會不加區別地接受它收到的所有分組數據包,並繼續發給網絡上層,最後Wireshark才能捕獲到全部流量

如果幾臺機器是直接連在同一個交換機上,那即使網卡設置爲混雜模式也不會獲得太多的額外數據。(交換機是根據MAC地址綁定端口的,不會把發給其他主機的數據包轉給你的機器

只有在你和最近的交換機之間有一個集線器(HUB),幾臺機器都連在這個集線器上,使用混雜模式才能看到其他機器的流量(集線器對2層流量是不做區分處理的

如果使用了混雜模式,該機器的網卡會超負荷工作,因爲不但要處理和自己相關的包,還要處理整個網絡裏的包。(ping最慢

監控模式(monitor mode)等於嗅探,作爲一個特定術語,監控模式只能用於 “無線網絡”裏的嗅探。在有線網絡裏要攔截嗅探所有數據包,叫混雜模式

監控模式下,能看到所有接入點的所有流量。看到當前位置下,所有射頻信號和天線檢測能力覆蓋範圍內全部AP的無線傳輸流量。適用於802.11標準規定的兩種聯網模式的無線嗅探:基礎架構模式(infrastructure mode,多臺設備與AP相連)和點對點直連模式(ad-hoc mode,設備彼此互相直連,不需要通過AP)

4.1 在集線器連接網絡中嗅探

在使用集線器連接的網絡中嗅探,對於任何一個數據包分析師來說,都是一個夢想

4.2 在交換式網絡中進行嗅探

1 端口鏡像

2 集線器輸出

3  使用網絡分流器

網絡分流器是一個硬件設備,可以將它放置在網絡佈線系統的兩個端點之間,來捕獲這兩個端點之間的數據包。

網絡分流器分爲兩種基本類型,聚合的和非聚合的,兩者的根本區別在於聚合的只有三個端口,非聚合的有四個端口

3.1 聚合的網絡分流器

  1. 從交換機上拔下目標計算機的網線
  2. 將連接目標計算機網線的另一端插入到網絡分流器的 in  端口中
  3. 將另一根網線的一段插入到網絡分流器的 out 端口,並將另一端插入到交換機
  4. 將最後一根網線的一端插入網絡分流器的 monitor 端口,並將另一端插入到嗅探器上

3.2 非聚合的網絡分流器

非聚合的網絡分流器比聚合的稍微複雜一些,但它在進行流量捕獲時有着更好的靈活性。非聚合的網絡分流器有着兩個監聽端口,一個監聽端口用來嗅探流出方向的網絡流量(從電腦連接到分流器的方向),另一個端口用來嗅探流入方向的網絡流量(從分流器端口到電腦的方向)

  1. 從交換機上拔下計算機連接網線
  2. 將網線的一端插入計算機,另一端插入到網絡分流器的 in 端口上
  3. 將另一根網線的一端插入到網絡分流器的 out 端口,然後將另一端插入到網絡交換機上
  4. 將第三根網線插入到網絡分流器的 monitor A  端口,另一端插入嗅探器電腦電腦的網卡上
  5. 將最後一根網線插入到分流器的 montor B 端口,另一端插入嗅探器電腦的另一塊網卡上

3.3 ARP欺騙

可以使用cain軟件的ARP緩存污染功能

若使用ARP緩存污染,必須非常清楚實施這個過程中每個系統的角色和作用,在目標設備擁有很高的網絡流量時,不要使用

4.3 在路由環境中進行嗅探

在所有交換式網絡中用來監聽的技術在路由網絡環境中同樣適用

在決定安裝嗅探器位置時,最好使用網絡拓撲圖

五:攻擊分析

Wireshark作爲一種分析工具,更適合確認問題,而不是早期監測預警

Wireshark在監測到可疑現象並需要確認時才大顯身手。一般往往會先根據IDS收到的攻擊提示,再用Wireshark確認流量是否惡意或誤報。還有一些破壞性特別強的攻擊,例如中間人攻擊、拒絕服務攻擊、APT攻擊等,可以直接用Wireshark確認。

5.1 中間人攻擊

中間人攻擊指的是:假冒着通過某些手段,欺騙通信的一方或者雙方,使它相信假冒者就是正確的通信方。

中間人攻擊能夠奏效是因爲缺乏身份驗證。在網絡通信裏,要求每次握手、每次會話和每次查詢/響應交互都做身份驗證,這是不可行也是不實際的,所以流量被攔截的風險一直都在。

ARP請求:你們誰是這個IP地址,你的網絡二層地址是多少?  

  1. 任意人回覆這個ARP請求,說自己就是請求的這個IP地址,把自己的硬件地址發回到交換機,獲得數據包
  2. 攻擊者發送一條僞造的ARP響應給交換機,按照標準RFC826

使用Metasploit進行中間人攻擊(use auxiliary/spoof/arp/arp_poisoning)

要避免ARP污染,其中一個做法是設置靜態ARP表,把相關的MAC地址和IP地址關聯寫死,不好的地方就是擴展性差。

如果機器數量多的話,可以使用ARP檢測的產品

5.2 拒絕服務攻擊

拒絕服務攻擊(denial-of-service,DOS)的目的是:讓服務沒法正常工作。和其他攻擊形式相比,DOS攻擊目標簡單,形式聒噪且粗暴

在安全三要素中,DOS攻擊的是可用性。儘管DOS攻擊不需要太高深的技術,但是攻擊者需要大量的可用資源

今天的DOS攻擊更準確的說法是分佈式的DDOS攻擊(distributed denial-of-service,DDOS),DOS攻擊不是把服務徹底搞垮,只是在安全層面把服務弄的不可用。

DOS攻擊一般是以下面一種或兩種方式實現的:

  1. 給目標機器瘋狂發流量,徹底耗盡它的資源
  2. 給目標機器發出可以構造或者不合規則的流量,導致目標機器無法處理

無論哪種情況,攻擊者最終的目的都是令服務無法使用。如果目標是互連網上能訪問到的服務,很容易驗證自己的攻擊是否成功。

1 用消防水龍帶狂灌

 SYN洪水、ICMP洪水、UDP洪水

SYN洪水攻擊效果不錯。因爲SYN數據包是TCP連接裏三步握手中的第一步。目標機器只要收到SYN數據包,無論來自哪裏,都會按照預定步驟返回一個SYN-ACK響應,但是之後就收不到ACK回覆了。三步握手沒有完成,但又要消耗一小段時間的網絡資源,耐心等待回覆。在幾百萬次這種握手嘗試之後,目標機器的資源就被消耗殆盡了。

近年來,出現了越來越多的DOS相關工具,最常見的是針對HTTP。當然,目標服務器系統以及上面開發的端口,決定了攻擊會針對哪種協議。目前的DOS攻擊場景裏HTTP協議是最常見的組合或單用協議

2 有時候,少即是多

除了給網絡接口狂發流量外,也有更低調的一些拒絕服務攻擊方式。耐心地緩慢地消耗資源,也能達到用大流量狂灌類似的效果,造成服務的中斷。按照OSI模型分層,即使不去攻擊第二層或第三層的流量,而轉爲攻擊更高的服務,也能把相關服務搞垮。如Slowloris攻擊(類似SYN洪水,它發送一個完整的數據包,但只有部分的HTTP請求,若默認超時時間爲60s,則在59秒的時候再打開一個新連接,繼續發送只有部分內容的連接請求)

防範:Apache和IIS服務器設置兩個參數:等待多久才確定一個連接不再活躍的時間長度,同時處理多少個連接數

5.3  APT攻擊

APT(Advanced Persistent Threat)攻擊的方法、行爲和目的,都和我們熟悉的其他攻擊方式大相徑庭。和中間人攻擊比起來,APT攻擊不像中間人攻擊那麼受限,也比中間人攻擊更有持續性。APT攻擊會在系統內尋找最適合隱蔽起來但又能最大限度獲取信息的位置。和DOS攻擊比起來,APT攻擊完全相反,不希望獲得關注度,不希望被發現和移除。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章