[資安服務] 002 滲透測試流程與相關規範

進行滲透測試要了解滲透測試地進行流程,以及要跟客戶確認的事項,要確保測試的合法性,並且要告知對方相關的影響程度,此外介紹與滲透測試相關規範。

滲透測試流程

滲透測試流程

與客戶進行簽約,取得合法的測試權限後,以下為簽約與接洽需要注意:

  1. 企業是否了解滲透測試可能造成的危害性
  2. 企業是否針對目標進行備份與還原的測試
  3. 企業是否允許測試人員存取內部敏感資料
  4. 企業是否能提供測試環境供測試人員檢測
  5. 企業是否禁止特殊測試方法,以下不限於:
    • 提權攻擊:取得一般權限,確認環境內是否檢測有提升權限的危害
    • ZeroDay 攻擊:駭客已知但廠商未知未修補的弱點
    • 社交工程:針對人性的弱點進行攻擊
    • 物理攻擊:實體入侵
    • 密碼爆破:使用密碼字典檔進行檢測
    • 中間人攻擊:攔截封包,確認傳輸輸的安全性
  6. 企業進行滲透測試之後是否需要進行複測

開始進行正式的滲透測試,分成以下六個階段:

  1. 資訊蒐集
  2. 漏洞識別
  3. 漏洞利用
  4. 清除紀錄
  5. 撰寫報告
  6. 修復複測

資訊蒐集:蒐集目標的所有資訊

此階段為是滲透測試最重要的階段,在這個階段蒐集最多的資訊,能加速後續的漏洞識別與漏洞利用。

根據目標進行資訊蒐集,分成主動情蒐與被動情蒐:

  1. 被動情蒐:蒐集公開在網路中可被利用的資訊:如 WHOIS 資訊、公司資訊(聯絡人信箱、名稱)等。
  2. 主動情蒐:直接與目標進行存取,透過掃描工具收集資訊:如端口掃描、服務枚舉。

漏洞識別:判別目標的漏洞風險

透過資訊蒐集的階段所收集的資料,去識別目標是否存在漏洞和弱點,
除了手動測試之外,也會透過弱點掃描工具輔助,
針對系統弱點掃描 Open-VAS 與 Nessus、
針對網站安全弱點掃描 AWVS 與 OWASP ZAP 的工具。

若識別目標有存在漏洞和弱點,會在下一階段確認漏洞的風險與危害性。

漏洞利用:確認漏洞存在與危害

當識別出有漏洞和弱點,根據簽約時,所允許的檢測方式檢測弱點,
並針對找到的弱點和漏洞進行評估危害性。

針對目標系統進行分析,利用已知漏洞或自行撰寫的 POC 驗證弱點存在,
重大風險的漏洞,造成的影響可能是任意遠端執行目標系統的指令(Remote Code Execution)
或是可任意存取、修改、刪除企業內部的敏感資料。

清除紀錄:清除測試過程的檔案

若測試範圍在於「正式環境」,在檢測結束之後,
測試資料、測試帳號、上傳檔案都需要紀錄與移除,
若無法刪除的資料,須告知企業,請企業協助刪除,
因為測試資料可能會影響企業內部營運。

撰寫報告:撰寫修正建議給企業

透過報告讓客戶了解這次滲透測試發現的漏洞與危害,通常以下大點敘述:

  1. 聲明:此章節說明該測試有經過正式授權,測試內容為敏感資料等
  2. 方法:測試目的、測試方法、測試流程
  3. 摘要:測試結果的摘要,可能透過圖表的方式呈現
  4. 過程:測試的過程、如何利用、重現弱點與影響性
  5. 解決:該弱點有什麼解決方案

修復複測:修復後進行再次驗證

提供報告給受測企業之後,企業依據報告內容進行修復弱點。

複測:根據第一次的檢測內容,查看企業是否已經修復完畢,
複測結束後會提供,複測報告給企業。

滲透測試相關規範

  • OSSTMM (Open Source Security Testing Methodology Manual)
    • 開放原始碼安全測試方法指南
    • 內有包含針對客戶可確認的問題
    • http://www.osstmm.org/
  • PTES Technical Guidelines
    • 提供測試的注意事項與細節
  • OWASP APSVS (OWASP Application Security Verification Standard)
    • OWASP 應用程式安全驗證標準
  • OWASP (Open Web Application Security Project)
    • OWASP 提供 WEB 的測試指南
飛飛
飛飛