--- title: Wireshark常用搜尋命令與滲透分析指南 description: 詳細介紹Wireshark中的常用搜尋命令與過濾技巧,尤其是在分析網絡入侵和惡意流量時的應用 image: https://www.wireshark.org/assets/theme-2015/images/wireshark_logo.png tags: wireshark, 網絡安全, 滲透測試, 封包分析, 資安 robots: index, follow lang: zh-tw --- # Wireshark常用搜尋命令與滲透分析指南 :mag_right: :shield: Wireshark是一款功能強大的網絡封包分析工具,在網絡安全領域被廣泛應用於滲透測試、攻擊分析和事件響應。本文將詳細介紹Wireshark中的常用搜尋命令,特別是在分析可能的網絡入侵和惡意流量時的應用場景。 [TOC] ## 目錄 1. [基本操作與界面介紹](#基本操作與界面介紹) 2. [常用顯示過濾器命令](#常用顯示過濾器命令) 3. [網絡滲透分析場景](#網絡滲透分析場景) 4. [惡意流量識別技巧](#惡意流量識別技巧) 5. [隱蔽通道與C2通信檢測](#隱蔽通道與C2通信檢測) 6. [常見攻擊模式分析](#常見攻擊模式分析) 7. [實戰案例](#實戰案例) 8. [進階技巧與自動化分析](#進階技巧與自動化分析) ## 基本操作與界面介紹 :desktop_computer: Wireshark的界面主要分為以下幾個部分: 1. **顯示過濾器(Display Filter)** - 用於設置過濾條件進行數據包列表過濾,位於工具欄下方。 2. **數據包列表(Packet List Pane)** - 顯示捕獲的所有數據包,每行代表一個數據包。 3. **數據包詳細信息(Packet Details Pane)** - 顯示當前選定數據包的詳細協議信息。 4. **數據包字節視圖(Packet Bytes Pane)** - 以十六進制和ASCII格式顯示數據包的原始內容。 :::info :bulb: **小提示:** Wireshark 介面可以透過 View 選單自定義,根據分析需求調整各面板大小或顯示/隱藏特定面板。 :::  ### 搜尋功能 :key: Wireshark具備強大的搜尋功能,可以通過以下方式快速定位重要信息: - **快捷鍵 Ctrl+F** - 彈出搜尋對話框,支持多種搜尋模式: - **Display Filter** - 使用顯示過濾器語法搜尋 - **Hex Value** - 搜尋十六進制字節值 - **String** - 字符串搜尋 - **Packet list** - 搜尋數據包列表中的內容 - **Packet details** - 搜尋數據包詳細信息 - **Packet bytes** - 搜尋數據包原始字節 :::warning :zap: **注意:** 搜尋大型捕獲文件時可能需要較長時間,建議先使用顯示過濾器縮小搜尋範圍,再進行具體搜尋。 ::: ## 常用顯示過濾器命令 :wrench: 在分析疑似網絡滲透的流量時,以下過濾器命令將非常有用: ### IP地址過濾 ```wireshark # 過濾特定IP ip.addr == x.x.x.x # 源或目標IP為指定地址 ip.src == x.x.x.x # 源IP為指定地址 ip.dst == x.x.x.x # 目標IP為指定地址 # 排除特定IP !(ip.addr == x.x.x.x) # 排除指定IP # 過濾IP範圍 ip.addr >= 192.168.1.1 and ip.addr <= 192.168.1.10 ``` ### 協議過濾 ```wireshark # 基本協議過濾 http # HTTP協議 https # HTTPS協議 dns # DNS協議 tcp # TCP協議 udp # UDP協議 icmp # ICMP協議 arp # ARP協議 ssl # SSL/TLS協議 # 協議組合 http or dns # HTTP或DNS流量 ``` ### 端口過濾 ```wireshark # 端口過濾 tcp.port == 80 # TCP端口80(HTTP) tcp.port == 443 # TCP端口443(HTTPS) tcp.port == 22 # TCP端口22(SSH) tcp.port == 21 # TCP端口21(FTP) udp.port == 53 # UDP端口53(DNS) tcp.port == 4444 # 常見的反向shell端口 # 非標準端口(可能是後門) !(tcp.port in {80 443 20 21 22 25 110 143 993 995 3389}) and tcp.flags.syn == 1 ``` ### 組合過濾 ```wireshark # IP與端口組合 ip.addr == x.x.x.x && tcp.port == 80 tcp.port == 80 || udp.port == 53 # 複雜邏輯 (ip.src == x.x.x.x and tcp.dstport == 80) or (ip.dst == x.x.x.x and tcp.srcport == 80) ``` :::success :tada: **技巧:** 在 Wireshark 顯示過濾器欄位中輸入時,語法正確的過濾條件背景會變成綠色,有語法錯誤則會變成紅色。 ::: ## 網絡滲透分析場景 在分析可能的網絡滲透案例時,以下場景與過濾器命令組合尤為重要: ### 1. 掃描活動檢測 ```wireshark # 端口掃描(大量SYN包) tcp.flags.syn == 1 and tcp.flags.ack == 0 # 主機發送大量SYN包(可能是掃描器) tcp.flags.syn == 1 and tcp.flags.ack == 0 and ip.src == x.x.x.x # ICMP掃描 icmp.type == 8 # ICMP Echo請求(Ping掃描) ``` #### 掃描活動檢測示意圖 ```sequence 攻擊者->目標主機A: SYN (端口 80) 攻擊者->目標主機A: SYN (端口 443) 攻擊者->目標主機A: SYN (端口 22) 攻擊者->目標主機B: SYN (端口 80) 攻擊者->目標主機B: SYN (端口 443) Note right of 目標主機B: 典型端口掃描模式 ``` ### 2. 暴力破解檢測 ```wireshark # SSH暴力破解 tcp.port == 22 and tcp.flags.syn == 1 # HTTP基本認證(登錄嘗試) http.authbasic # HTTP POST登錄嘗試 http.request.method == "POST" and http.request.uri contains "login" ``` :::danger :fire: **重要警示:** 在實際環境中,暴力破解攻擊常常會在短時間內產生大量失敗的認證嘗試,應設置閾值監控異常認證行為。 ::: ### 3. 漏洞利用檢測 ```wireshark # SQL注入嘗試 http.request.uri contains "'" or http.request.uri contains "%27" http.request.uri contains "union select" or http.request.uri contains "UNION SELECT" # 命令注入嘗試 http.request.uri contains ";" or http.request.uri contains "|" or http.request.uri contains "`" # XSS嘗試 http.request.uri contains "<script>" or http.request.uri contains "%3Cscript%3E" ``` ## 惡意流量識別技巧 :mag: 當系統已經被滲透時,以下過濾技巧可幫助識別惡意流量: ### 1. 數據外洩檢測 ```wireshark # 敏感數據檢測(例如信用卡號) frame contains "4[0-9]{15}" or frame contains "5[1-5][0-9]{14}" # 信用卡號格式 # 大量數據傳輸(可能是數據外洩) tcp.len > 1000 and ip.dst == x.x.x.x ``` ### 2. 異常連接檢測 ```wireshark # 非標準或罕見端口通信 tcp.port not in {80 443 22 25 110 143 53 123 20 21} and tcp.flags.syn == 1 # 持續時間異常長的連接 tcp.time_delta > 300 # 持續超過5分鐘的TCP連接 ``` ### 3. 流量統計與分析 Wireshark提供多種統計工具,有助於識別異常流量: - **Conversations** - 統計所有通信IP地址對,分析路徑:Statistics → Conversations - **Protocol Hierarchy** - 檢查協議分布,分析路徑:Statistics → Protocol Hierarchy - **I/O Graph** - 流量時間分布圖,可識別異常流量峰值,分析路徑:Statistics → I/O Graph :::info :chart_with_upwards_trend: **分析提示:** 在 I/O Graph 中,可以添加多個過濾條件並以不同顏色顯示,以便比較不同類型流量的時間分布特徵。 ::: ## 隱蔽通道與C2通信檢測 :eye: 攻擊者通常使用隱蔽通道維持對被入侵系統的控制,以下過濾器命令可幫助發現這些隱蔽通道: ### 1. DNS隧道檢測 DNS隧道是最常見的隱蔽通道之一,攻擊者利用DNS請求和響應傳輸數據。 ```wireshark # 長度異常的DNS查詢 dns.qry.name.len > 50 # 高熵(隨機性)的DNS查詢名 dns.qry.name contains "base64" or dns.qry.name contains "enc" # 子域名過多或異常的DNS查詢 dns.qry.name matches ".*\..*\..*\..*\..*\..*\..*" # TXT記錄請求(常用於數據外洩) dns.qry.type == 16 # TXT記錄類型 ``` #### DNS隧道檢測流程圖 ```flow st=>start: 捕獲DNS流量 op1=>operation: 過濾長度超過50的查詢 op2=>operation: 檢查高熵值或隨機性域名 cond=>condition: 是否有異常? op3=>operation: 深入分析可疑DNS流量 e=>end: 完成分析 st->op1->op2->cond cond(yes)->op3->e cond(no)->e ``` ### 2. ICMP隧道檢測 ```wireshark # 異常大小的ICMP數據包 icmp.type == 8 and frame.len > 100 # ICMP Echo請求中包含異常數據 icmp.type == 8 and data.data contains "cmd" ``` ### 3. HTTP/HTTPS隱蔽通道 ```wireshark # 異常的User-Agent http.user_agent contains "Python" or http.user_agent contains "curl" or http.user_agent contains "wget" # 非標準HTTP請求頻率 http.request and !(http.request.uri contains ".jpg" or http.request.uri contains ".png" or http.request.uri contains ".css" or http.request.uri contains ".js") # 檢測可疑Beaconing行為(規律性請求) http.request.method == "GET" and http.request.uri matches ".*\?id=.*" ``` :::warning :zap: **C2檢測要點:** 命令與控制(C2)通信通常具有定期的通信模式(beaconing),監控具有規律時間間隔的網絡請求尤為重要。 ::: ## 常見攻擊模式分析 :bookmark_tabs: ### 1. 橫向移動檢測 當攻擊者在網絡中橫向移動時,可能會留下以下痕跡: ```wireshark # SMB連接(常用於內網橫向移動) smb or smb2 # RDP連接 tcp.port == 3389 # PowerShell遠程執行 http.request.uri contains "powershell" ``` ### 2. 數據抹除與反取證操作 ```wireshark # 大量刪除操作 smb2.cmd == 16 # SMB删除文件命令 ``` ### 3. Webshell活動 ```wireshark # 可疑文件上傳 http.request.method == "POST" and (http.request.uri contains ".php" or http.request.uri contains ".jsp" or http.request.uri contains ".asp") # 可疑命令執行 http.request.uri contains "cmd" or http.request.uri contains "exec" or http.request.uri contains "system" ``` ## 實戰案例 :computer: ### 案例1: 檢測網絡掃描和初始入侵 在一個實際案例中,安全團隊使用Wireshark分析流量,發現了以下可疑活動: 1. 首先使用以下過濾器發現掃描活動: ```wireshark tcp.flags.syn == 1 and tcp.flags.ack == 0 and ip.src == 10.10.10.15 ``` 2. 然後發現對Web伺服器的漏洞利用嘗試: ```wireshark http.request.method == "GET" and http.request.uri contains "wp-content/plugins" ``` 3. 最後檢測到成功的漏洞利用和Webshell上傳: ```wireshark http.request.method == "POST" and http.request.uri contains "upload.php" ``` :::spoiler 案例1分析詳情 在這個案例中,攻擊者首先進行了網絡掃描尋找目標系統,利用WordPress插件漏洞進行了初始入侵,最終上傳了Webshell獲取持久訪問權限。這是典型的攻擊鏈模式,從掃描、漏洞利用到權限維持。 通過 Follow TCP Stream 功能,分析師可以看到完整的攻擊過程,包括漏洞利用代碼和上傳的Webshell內容。 ::: ### 案例2: 檢測數據外洩 在另一個案例中,分析師使用以下過濾器檢測可能的數據外洩: 1. 首先查看與可疑外部IP的所有通信: ```wireshark ip.addr == 203.0.113.25 ``` 2. 檢查是否存在大量數據傳輸: ```wireshark ip.dst == 203.0.113.25 and tcp.len > 1000 ``` 3. 使用Follow TCP Stream功能分析通信內容,發現加密的敏感數據正被傳輸到外部服務器。 ## 進階技巧與自動化分析 :gear: ### 1. 使用tshark進行大規模分析 Wireshark的命令行版本tshark能夠處理大型PCAP文件,並支持脚本化分析: ```bash # 提取所有HTTP請求 tshark -r capture.pcap -Y "http.request" -T fields -e http.host -e http.request.uri # 提取所有DNS查詢 tshark -r capture.pcap -Y "dns.qry.name" -T fields -e dns.qry.name # 檢測SSH暴力破解 tshark -r capture.pcap -Y "tcp.port==22 and tcp.flags.syn==1" -T fields -e ip.src | sort | uniq -c | sort -nr ``` ### 2. 使用Display Filter Expression按鈕 Wireshark提供了一個顯示過濾器表達式按鈕,可以幫助構建複雜的過濾條件: - 點擊過濾欄位旁邊的Expression按鈕 - 選擇相應的協議和欄位 - 設置匹配條件和值 ### 3. 使用顏色規則標記可疑流量 Wireshark允許設置顏色規則來突出顯示特定流量: - 選擇View → Coloring Rules - 添加新規則,例如: - 名稱:"可疑DNS隧道" - 過濾器:"dns.qry.name.len > 50" - 顏色:鮮紅色 :::info :bulb: **自動化分析提示:** 使用 Wireshark 的 Lua 腳本功能可以編寫自定義檢測規則。專業安全團隊可開發專用腳本進行自動化威脅檢測。 ::: ### 4. 常用分析清單 在進行安全事件調查時,此清單可作為參考步驟: - [ ] 過濾異常協議流量 - [ ] 檢查非標準端口通信 - [ ] 分析可疑域名和IP連接 - [ ] 檢測異常大小的數據包 - [ ] 尋找規律性通信模式(beaconing) - [ ] 使用Follow Stream分析完整會話內容 - [ ] 檢查敏感數據傳輸模式 - [ ] 生成流量統計報告 - [ ] 提取可疑樣本進行深入分析 ## 結論 :checkered_flag: Wireshark是網絡安全分析的必備工具,特別是在對疑似被滲透系統進行調查時。掌握本文介紹的常用搜尋命令和過濾技巧,將大大提高您分析網絡流量和檢測惡意活動的能力。在實際應用中,建議將這些命令與其他安全工具結合使用,形成完整的安全監控和分析體系。 :::success :tada: **重要結語:** 網絡流量分析是一項需要持續學習和實踐的技能。建議安全分析師定期更新知識,了解最新的攻擊技術和對應的檢測方法。 ::: ## 參考資源 :books: 1. Wireshark官方文檔: [https://www.wireshark.org/docs/](https://www.wireshark.org/docs/) 2. Wireshark顯示過濾器參考: [https://www.wireshark.org/docs/dfref/](https://www.wireshark.org/docs/dfref/) 3. 網絡安全流量分析最佳實踐: [https://www.sans.org/reading-room/whitepapers/detection/](https://www.sans.org/reading-room/whitepapers/detection/) 4. MITRE ATT&CK 框架: [https://attack.mitre.org/](https://attack.mitre.org/) --- ###### tags: `wireshark` `網絡安全` `滲透測試` `封包分析` `資安` `網絡分析`
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.