萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 無線網路知識

WireShark 實戰:捕獲 HTTP 明文登入流量破解網站帳密完整教學(含 MD5 破解)

核心原理

採用 HTTP 明文傳輸 登入的網站,帳號密碼以 POST 請求體形式直接在網路上傳輸。攻擊者只需在同一廣播域(區域網/無線網)或具備路徑控制權(中間人)的位置,以混雜模式捕獲封包,即可提取憑證。此文純技術原理解析,嚴禁用於非授權滲透測試。

實驗環境準備

  • 作業系統:Kali Linux(內建 WireShark、hashcat、hash-identifier)
  • 無線網卡:支援監聽模式/混雜模式(如 Atheros AR9271、RTL8812AU)
  • 目標:本地測試站點 https://target.local/login.php(HTTP、表單登入)

Step 1:啟動 WireShark 捕獲流量

  1. 選單:Applications → Kali Linux → Top 10 Security Tools → Wireshark
  2. Capture → Options → 選擇無線介面(如 wlan0) → 勾選「Promiscuous mode」 → Start。

Step 2:過濾 POST 登入請求

  1. 瀏覽器訪問目標登入頁,輸入測試帳密 sampleuser / test123 登入。
  2. WireShark 停止捕獲 → 顯示過濾器輸入:http.request.method == "POST" → 回車。
  3. 定位含登入表單欄位的 POST 封包(通常目的港 80,Info 欄含 login/auth)。

Step 3:提交封包提取憑證

  1. 右鍵目標 POST 封包 → Follow → TCP Stream。
  2. 彈出視窗顯示完整 HTTP 交互,請求體範例:
POST /login.php HTTP/1.1
Host: target.local
Content-Type: application/x-www-form-urlencoded
Content-Length: 42

username=sampleuser&password=e4b7c855be6e3d4307b8d6ba4cd4ab91

可見:帳號 sampleuser 明文,密碼欄位為 32 字元十六進位字串,疑為 MD5 雜湊。

Step 4:識別雜湊類型

hash-identifier
# 貼上 e4b7c855be6e3d4307b8d6ba4cd4ab91 → 判定為 MD5

Step 5:字典/彩虹表破解 MD5

# 建立雜湊檔
echo "e4b7c855be6e3d4307b8d6ba4cd4ab91" > hash.txt

# hashcat 字典攻擊(rockyou.txt 內建於 Kali)
hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt --force

# 輸出範例:e4b7c855be6e3d4307b8d6ba4cd4ab91:test123  ← 破解成功

GPU 加速:hashcat -m 0 -a 0 -D 1,2 hash.txt rockyou.txt(-D 1,2 啟用 OpenCL/CUDA)。

防禦對策:為什麼 HTTPS + 雜湊 + Salt 是必須的

  1. 全站 HTTPS (TLS 1.2/1.3):加密傳輸層,中間人無法獲取明文/雜湊。
  2. 客戶端預雜湊 + Server 端 Salt + 慢速雜湊:登入頁 JS 計算 hash = Argon2id(password + salt) 再提交;Server 再次 hash = Argon2id(submitted_hash + db_salt) 存儲。即使攔獲提交雜湊,無法反推原始密碼,離線破解成本極高。
  3. HSTS / CSP / Secure Cookie:防降級、防 XSS 竊取 Session。
  4. 多因子認證 (MFA):單因子失竊不直接導致帳號接管。

開發者:永不在生產環境使用 HTTP 傳輸認證憑證;管理者:定期掃描內網 HTTP 登入入口並強制遷移至 HTTPS。

copyright © 萬盛學電腦網 all rights reserved