五件打靶機教會我的事
一、滲透測試是偵察的遊戲,不是工具的遊戲
MS2 的 17 個漏洞,80% 可以直接從 Nmap NSE 腳本的輸出判斷出攻擊方向。MS3 後半段每次卡關,回頭重讀掃描結果都能找到遺漏的線索。
投入偵察的時間 vs 卡關時間
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
偵察充分時 ████░░░░░░ 偵察 40% ─ 攻擊 60%
偵察草率時 █░░░░░░░░░ 偵察 10% ─ 攻擊 30% ─ 除錯 60%
結論:偵察多花 30 分鐘 → 後面省 2 小時
帶走的原則:拿到目標後,先花 30 分鐘把全 port 掃描 + 服務版本 + NSE 腳本跑完、存檔、讀過一遍,再動手。
二、工具是手段,理解才是武器
能力成長路線
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Level 1 MSF 一鍵打通 → 會用工具
Level 2 手動重現 MSF 的步驟 → 懂原理
Level 3 工具失敗時自己串接 → 會思考
Level 4 不同漏洞組合出新路徑 → 會創造
MS2 讓我從 1 到 2
MS3 讓我從 2 到 3,碰了一點 4
帶走的原則:每用一個 MSF 模組成功後,花 10 分鐘讀它的 source code 或手動復現一次。
三、卡關不是失敗,是正在學習
A — 換條路 同一個目標,換一個工具或協定
B — 繞過去 正面不行,找側面入口
C — 用已有的 利用已拿到的 shell 做跳板
D — 看仔細 答案就在掃描結果裡,只是沒注意到
每次卡超過 30 分鐘,按這四個模式問自己一輪,80% 的情況能找到突破口。剩下 20% 是真的需要去查資料學新技術——那就是成長。
帶走的原則:卡住了先別 Google,拿 A-B-C-D 四個方向各想 5 分鐘。
四、提權是滲透測試的分水嶺
拿到初始 shell 只是開始。MS2 和 MS3 最大的差距就在提權:
MS2 提權 MS3 提權
━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━
通常不需要 每個入口都要
服務本身就跑 root 服務跑低權限帳號
直接就是 root shell 要找 kernel exploit
或 misconfig 提權
MS3 的提權手段:
Linux → overlayfs CVE-2015-1328、Docker group escape
Windows → JuicyPotato、Pass-the-Hash
帶走的原則:拿到 shell 的第一件事永遠是 whoami、id、uname -a(Linux)或 systeminfo(Windows),然後決定提權路徑。
五、流程比天賦重要
30 天下來最實際的產出不是「打穿了幾台機器」,而是形成了一套可重複的流程:
可重複的打靶流程
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Phase 1 — 偵察
├── 全 port 掃描 + 存檔(-oA)
├── 服務版本辨識(-sV)
├── NSE 腳本掃描(-sC 或針對性腳本)
└── 結果至少讀兩遍
Phase 2 — 列舉攻擊面
├── 對每個服務查 CVE 和已知 exploit
├── 嘗試預設帳密
└── 排優先順序:成功率高的先打
Phase 3 — 初始入侵
├── 能自動就自動(節省時間)
├── 自動失敗就手動(理解原理)
└── 拿到 shell 立刻記錄
Phase 4 — 提權
├── 情報收集(系統版本、SUID、服務、群組)
├── 找路徑(kernel exploit / misconfig / 憑證)
└── 執行 + 驗證(拿到 root/SYSTEM)
Phase 5 — 收尾
├── 清理痕跡
├── 記錄完整路徑(截圖 + 文字)
└── 寫下卡關點和學到的事
帶走的原則:不要靠靈感打靶,靠流程。流程可以改進,靈感不能。
從 MS2 到 MS3:難度跳了幾級
MS2 MS3
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
服務版本 故意裝舊版 接近真實環境
漏洞明顯度 掃到就知道怎麼打 需要自己研究
提權需求 通常不需要 每次都要
攻擊鏈長度 單步 exploit 多步串接
需要的知識面 Metasploit 基礎 Web + 系統 + 網路
平均每入口耗時 10 分鐘 50 分鐘
挫折感 低 高但值得