Certify.exe
00 min
2024-12-16

Certify.exe find /vulnerable

Certify.exe 是一款由 GhostPack 開發的工具,專門用於在 Active Directory 環境中分析和挖掘與 Active Directory Certificate Services (ADCS) 相關的漏洞與錯誤配置。這款工具特別針對可能被攻擊者利用的漏洞,幫助滲透測試人員和藍隊快速發現安全風險。
當你執行以下命令時:
它的作用是尋找 Active Directory Certificate Services (ADCS) 中的 錯誤配置潛在漏洞,並列出可被利用的場景。下面是對該命令的詳細解析與相關背景知識。

Certify.exe find /vulnerable 的作用

該命令的主要目的是搜索與 ADCS 有關的錯誤配置,這些錯誤配置可能會導致以下漏洞或攻擊場景:
  1. ESC1: Certificate Template Misconfigurations
      • 檢查證書模板是否允許低權限用戶申請具有高權限的證書。
      • 例如,某些證書模板可能允許普通用戶請求一個可以被用於 Kerberos 身份偽造 的證書。
  1. ESC2: Certificate Authority Permissions
      • 檢查證書頒發機構(CA)的權限配置是否允許低權限用戶執行敏感操作(如管理 CA 配置或簽署證書)。
  1. ESC3: Web Enrollment Vulnerabilities
      • 檢查是否啟用了 Web Enrollment 功能,並檢測是否存在錯誤配置。
      • Web Enrollment 是一個功能,用於通過 HTTP/HTTPS 請求證書,如果配置不當,可能允許攻擊者利用。
  1. ESC4: NTLM Relay to ADCS
      • 檢查是否可以對 ADCS 執行 NTLM 中繼攻擊,例如通過 HTTP 或 LDAP 中繼請求證書。
  1. ESC6: Misconfigured Certificate Templates
      • 列出允許用戶請求證書並將其用於機器身份的模板(例如將證書用於 Kerberos 身份驗證)。
  1. 其他錯誤配置
      • 檢測證書中是否存在弱加密算法。
      • 檢查是否存在多餘的憑據暴露風險。

命令執行後的輸出

執行 Certify.exe find /vulnerable 後,工具會返回一個結果列表,列出潛在的漏洞和錯誤配置。輸出可能包括以下內容:
  1. Vulnerable Certificate Templates
      • 證書模板名稱(如 UserMachine 等)。
      • 是否允許用戶進行證書請求。
      • 是否允許證書用於身份驗證。
  1. Misconfigured CA Permissions
      • 列出對 CA 擁有過多權限的對象(如「Everyone」、「Authenticated Users」)。
      • 是否允許低權限用戶管理 CA 或簽署證書。
  1. Web Enrollment
      • 是否啟用了 Web Enrollment。
      • 如果啟用,Web Enrollment 是否存在錯誤配置。
  1. NTLM Relay Risk
      • 列出可能被 NTLM 中繼攻擊利用的服務或配置。
  1. 其他建議
      • 提供與檢測到的錯誤配置相關的修復建議。

Certify 與 ADCS 攻擊的背景

ADCS 是 Active Directory 的一個組件,用於實現基於證書的身份驗證。如果配置不當,攻擊者可以利用 ADCS 執行以下攻擊:
  1. 權限提升
      • 攻擊者利用弱配置的證書模板,申請一個高權限的證書(如可以用於 Kerberos S4U2Self 攻擊的證書),然後冒充域管理員。
  1. 橫向移動
      • 攻擊者利用證書進行身份偽造,訪問其他域內系統。
  1. NTLM 中繼攻擊
      • 攻擊者通過 NTLM 中繼將憑據轉發至 ADCS,請求證書,並進一步利用該證書提升權限。
  1. 證書偽造
      • 攻擊者利用弱配置生成惡意證書,冒充其他用戶或服務身份。

修復建議

1. 檢查證書模板配置

  • 確保敏感證書模板(如 KerberosAuthenticationDomainController)的權限僅限於高權限用戶。
  • 禁止普通用戶或組對敏感模板的讀取或申請權限。

2. 檢查 CA 配置

  • 限制對 CA 的管理權限。
  • 確保只有域管理員或指定的高權限用戶可以簽署證書或修改 CA 配置。

3. 禁用不必要的功能

  • 如果 Web Enrollment 功能不需要,禁用它。
  • 如果啟用了 Web Enrollment,確保它僅允許指定的安全用戶組訪問。

4. 實施強身份驗證

  • 啟用 Extended Protection for Authentication (EPA),防止 NTLM 中繼。
  • 使用 Kerberos 代替 NTLM 驗證。

5. 定期審計和修補

  • 使用工具(如 Certify.exe 或其他 ADCS 審計工具)定期檢查錯誤配置。
  • 安裝最新的 Windows 安全更新,修補已知漏洞。

實際用途與攻擊場景

Certify.exe 是滲透測試人員和紅隊常用的工具,尤其是在 Active Directory 環境中檢測 ADCS 配置漏洞。以下是常見的攻擊場景:
  1. 滲透測試場景
      • 滲透測試人員使用 Certify.exe find /vulnerable 找到錯誤配置的證書模板或 CA 配置。
      • 利用這些漏洞申請一個高權限證書,並進一步執行 Kerberos 錯誤配置攻擊
  1. 內部威脅場景
      • 內部攻擊者(如普通員工)利用錯誤配置的證書模板,提權到域管理員。
  1. 藍隊自我防禦
      • 藍隊使用 Certify.exe 審計 ADCS 配置,提前發現漏洞,減少風險。

總之,Certify.exe find /vulnerable 是一個強大的工具,能夠快速發現 Active Directory Certificate Services 中的錯誤配置和漏洞,幫助攻擊者或防禦者識別暴露的風險。通過定期審計和改進配置,可以降低 ADCS 被濫用的可能性。
上一篇
HB
下一篇
AZ-900