滲透測試(Penetration Test,簡稱 Pentest)是模擬真實攻擊者對系統、應用或網路進行的有計畫性安全測試,目標不是「破壞」,而是找出可被濫用的弱點並提供可執行的修補建議。以下以專業嚴謹的語氣,說明滲透測試的標準流程、常用工具、交付物與實務注意事項。
⸻
一、滲透測試的五大階段(PTES / OSSTMM / 常見流程)
1.	規劃與授權(Planning & Reconnaissance Authorization)
•	明確測試範圍(IP、網域、應用、時間窗口、不可測試項目)。
•	取得書面授權(Scope of Work / Rules of Engagement)並訂定 SLA。
•	確認通報流程、聯絡人與應急中止條件(若影響生產系統)。
2.	偵察(Reconnaissance / Information Gathering)
•	被動偵察:WHOIS、DNS、公開資源、OSINT、子域列舉、公開憑證檢索。
•	主動偵察:Nmap 掃描、埠與服務識別、應用指紋。
•	產出資產清單與攻擊面地圖(attack surface map)。
3.	漏洞評估(Vulnerability Assessment / Enumeration)
•	使用掃描工具(Nessus、OpenVAS、Nmap NSE、Nikto、OWASP ZAP 等)找出候選漏洞。
•	人工驗證掃描結果,排除誤報,並對高風險項目進行更深入手動檢測。
4.	利用與橫向擴張(Exploitation & Privilege Escalation / Lateral Movement)
•	嘗試利用已確認的漏洞以取得初始存取(Metasploit、手工 Payload、SQLi/XSS 利用)。
•	若取得初始權限,進行權限提升、憑證蒐集、橫向移動、資料列舉,評估潛在影響範圍。
•	注意:在此階段必須避免造成不可逆損害(資料刪除、服務破壞等)。
5.	報告與修復驗證(Reporting & Remediation Validation)
•	撰寫詳細報告(摘要給高階主管 + 技術細節與再現步驟給工程團隊)。
•	提供優先修復建議與緊急應變建議。
•	修復後可安排驗證測試(Re-test)以確認問題已被解決。
⸻
二、常見測試類型與範圍
•	黑盒測試(Black-box):測試者僅有很少或沒有內部資訊(模擬外部攻擊者)。
•	白盒測試(White-box):提供程式碼、架構圖、帳號等資訊(深度測試,適合應用程式安全)。
•	灰盒測試(Grey-box):介於兩者之間,適用於 API 或內部應用的實務檢測。
•	紅隊演練(Red Team):長期且更全面的攻擊模擬,包含社交工程與持續偵察,強調持久性與實戰逼真度。
⸻
三、常用工具(各階段代表性工具)
•	偵察 / 列舉:whois、dig、subfinder、amass、theHarvester
•	掃描 / 列舉服務:nmap、masscan、nikto、dirb / dirbuster
•	Web 應用測試:OWASP ZAP、Burp Suite、sqlmap、wpscan
•	漏洞利用:Metasploit、自製 exploit code、msfvenom
•	密碼攻擊:hydra、john、hashcat
•	後續操作 / 持久化:meterpreter、mimikatz(Windows 憑證蒐集)
•	復原測試 / 搜證:Volatility、Wireshark、FTK、Autopsy
工具只是輔助,最關鍵的是手工驗證與經驗判斷。
⸻
四、輸出物(報告)應包含的重點
1.	高階摘要(Executive Summary):風險概覽、業務影響、優先修復建議(面向管理層)。
2.	技術細節(Technical Findings):每項漏洞的描述、風險等級(CVSS 或自訂評分)、再現步驟、POC(Proof-of-Concept)、截圖與日誌片段。
3.	影響評估:被利用後可達成的權限、可存取的資源、資料外洩可能性。
4.	修復建議(Remediation):具體修補步驟、短期緩解 (mitigation) 與長期改進建議。
5.	測試範圍與方法:完整紀錄測試時間、工具、範圍、授權文件(供稽核用)。
6.	重測結果(如有):確認已修補項目與仍存在問題的清單。
⸻
五、法律、合規與倫理注意事項(不可忽略)
•	必須有書面授權:未授權測試可能構成犯罪或違約。
•	不可超出測試範圍:測試期間若需臨時擴大範圍,應即時取得同意並記錄。
•	資料保護:若發現個資或敏感資料,遵守法規及通報流程(個資法、合約義務)。
•	不可擅自利用取得的憑證或資料做營利或其他用途。
⸻
六、實務建議與風險控管
•	先在測試環境演練:若可能,盡量在與生產隔離的環境先行測試,減少對業務的風險。
•	採分層測試策略:先被動偵察與掃描,排除誤報,再進行低侵入性測試,最後才做高侵入利用。
•	設置緊急中止條件:若測試導致系統不穩或資料異常,立即中止且回報。
•	保留日誌與證據:保存所有操作記錄、封包、截圖與 shell 歷史,便於事後鑑識與驗證。
•	溝通頻繁:與系統管理、網路與應用團隊保持暢通聯絡管道,尤其在大型測試或夜間作業時段。
⸻
結語
滲透測試是連結「偵測」與「修復」的關鍵環節。好的滲透測試不只是指出漏洞,更要幫助團隊建立可操作的修復優先順序與長期改進路線。執行時必須兼顧技術深度、法律合規與溝通協調,才能在提升安全性的同時,避免對業務造成不可預期的影響。
明天(Day 22)我們會討論 紅隊 vs 藍隊演練,探討攻防雙方的定位與演練設計。