
什麼是 Kerberoasting 攻擊?
Kerberoasting 攻擊會利用服務票證進行憑證竊取。了解如何防禦這種複雜的攻擊方法。

Kerberoasting 是一種針對 Active Directory 中服務帳戶的攻擊方法。本指南將探討 Kerberoasting 的運作方式、其潛在影響,以及有效的預防策略。
了解監控服務帳戶與實施強式密碼原則的重要性。理解 Kerberoasting 對於組織保護其 Active Directory 環境至關重要。

什麼是 Kerberoasting 攻擊?
Kerberoasting 是一種針對 Kerberos 驗證通訊協定的網路攻擊,該通訊協定常用於 Windows 網路中,以安全地驗證使用者與裝置。在 Kerberoasting 攻擊中,攻擊者會使用專門工具從網路中擷取加密的 Kerberos 票證,然後嘗試破解其加密,以取得敏感資訊或網路資源的存取權。
在深入探討 Kerberoasting 攻擊及其運作方式之前,應先了解服務帳戶的架構。
- 服務帳戶密碼的長度相同,且不會過期。
- 大多數服務帳戶具有提升的權限,且通常是高權限群組(例如 Domain Admins)的成員,因而擁有 AD 的完整管理員權限。
- 破解服務帳戶密碼可讓攻擊者利用 Kerberos 機制並入侵整個 AD 網域。
什麼是 Kerberos 驗證通訊協定?
Kerberos 是一種驗證通訊協定,常用於 Windows 網路中,以安全地驗證使用者與裝置。Kerberos 通訊協定使用票證來安全地驗證使用者與裝置,而無需在網路上傳輸明文密碼。這些票證會使用使用者與驗證伺服器之間共用的秘密金鑰進行加密。在 Kerberoasting 攻擊中,攻擊者可以從網路中擷取這些加密票證,然後使用暴力破解或字典式攻擊來嘗試破解加密,並取得票證所授予存取權限的敏感資訊或資源。
Kerberoasting 涉及利用服務票證來竊取憑證。進一步了解進階威脅偵測,請參閱 Singularity XDR。
為什麼 Kerberoasting 攻擊如此普遍?
Kerberoasting 攻擊之所以普遍,是因為它們可能難以偵測與防範。Kerberos 通訊協定的設計兼顧安全性與效率,但它依賴於在驗證過程中用來加密與解密票證之秘密金鑰的保密性。如果攻擊者能取得這些秘密金鑰,就能利用它們擷取並解密票證,進而取得敏感資訊或網路資源的存取權。
此外,Kerberos 通訊協定常用於企業網路。這使得 Windows 網路對攻擊者特別具有吸引力,因為一旦對企業網路發動成功的 Kerberoasting 攻擊,攻擊者可能取得大量敏感資源與資訊的存取權。
此外,此攻擊可遠端執行,而無需攻擊者直接與驗證伺服器或目標網路資源互動。這使得防禦者難以在攻擊成功之前識別並阻止攻擊。總體而言,這些因素的組合使 Kerberoasting 攻擊相當普遍,並可能對依賴 Kerberos 通訊協定進行安全驗證的組織造成損害。
Kerberoasting 攻擊的運作方式
1. 帳戶驗證
在 Kerberoasting 攻擊中,攻擊者首先會取得向 Kerberos 驗證服務請求服務票證所需的權限。這可以透過入侵具有適當權限的合法使用者帳戶來達成。如果攻擊者成功,便可存取票證所授權的網路資源,而無需知道該票證所屬使用者或裝置的實際密碼。
Kerberoasting 技術是一種有效的方法,可讓一般使用者在不向目標系統傳送任何封包的情況下,從 AD 擷取服務帳戶憑證。
2. Kerberos 服務票證
在 Kerberoasting 攻擊中,攻擊者會從 Kerberos 驗證服務取得大量服務票證,然後使用這些票證嘗試破解與其相關帳戶的密碼。 在此技術中,攻擊者可以濫用有效的 Kerberos 票證授權票證 (TGT),或嗅探網路流量以取得可能容易受到 Brute Force 攻擊的票證授權服務 (TGS) 票證。
3. 密碼破解
攻擊者可以使用具有適當權限的合法使用者帳戶,向 Kerberos 驗證服務請求服務票證來取得這些票證。一旦攻擊者取得服務票證,便可使用專門工具嘗試破解與這些票證相關的密碼。攻擊者會使用以下流程離線破解脆弱的服務帳戶密碼。
4. 攻擊升級
在成功的攻擊中,攻擊者可以取得與服務票證相關聯帳戶的存取權,進而未經授權存取敏感資訊或執行其他惡意活動。這可能對使用 Kerberos 驗證通訊協定的組織構成嚴重的安全威脅。第一步是探索 Service Principal Names (SPNs)。攻擊者可以使用 Active Directory PowerShell 模組,輕鬆找出特定類型的所有 SPN。攻擊者掃描時最有用的 SPN 類型是「SQL」。例如,下方顯示的 Get-ADObject cmdlet 會探索在 Active Directory 中註冊的所有 SQL 伺服器。
“get-adobject -filter {serviceprincipalname -like “*sql*”} -prop serviceprincipalname”
如下圖所示,攻擊者會出示有效網域使用者的驗證票證 (TGT),向網域控制站 (DC) 請求任何服務主體名稱 (SPN) 的一個或多個 Kerberos 票證授權服務 (TGS) 票證。攻擊者會利用 Microsoft 對 Kerberos RC4 加密 (RC4_HMAC_MD5) 的舊版支援,因為 NTLM 密碼雜湊廣泛用於此加密類型。請求 TGS 票證時,攻擊者可以強制其使用 RC4 加密。

在識別目標伺服器後,攻擊者會取得與服務帳戶相關聯的 SPN 清單。他們可以使用這些服務帳戶向網域控制站 (DC) 請求 Kerberos TGS 服務票證。
“Add-Type -AssemblyName System.IdentityModel”
“New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList “<MSSQLSvc/HOST:PORT>””
注意:使用開源工具 Mimikatz 請求的服務票證具有 RC4 加密類型。

一旦用戶端收到票證,攻擊者便可在不具提升權限的情況下,將使用者記憶體中的所有 Kerberos 服務票證匯出至檔案。
總體而言,以下是 Kerberoasting 攻擊中常用的步驟:
- 攻擊者取得向 Kerberos 驗證服務請求服務票證所需的權限。這可以透過入侵具有適當權限的合法使用者帳戶來達成。
- 攻擊者使用遭入侵的帳戶,向 Kerberos 驗證服務請求大量服務票證。
- Kerberos 驗證服務會將所請求的服務票證發給攻擊者。
- 攻擊者使用專門工具破解與服務票證相關的密碼。
- 一旦密碼被破解,攻擊者便可取得與服務票證相關帳戶的存取權。
- 攻擊者現在可以使用遭入侵的帳戶,未經授權存取敏感資訊,或執行其他惡意活動。
- 攻擊者會持續重複此流程,取得更多服務票證並破解其相關密碼,以取得更多帳戶的存取權。
- 攻擊者可以使用遭入侵的帳戶進一步取得網路存取權,並發動更進階的攻擊,例如在網路內橫向移動或部署惡意軟體。
Kerberoasting 攻擊範例
- 在 Operation Wocao 期間,威脅行為者使用 PowerSploit 的 Invoke-Kerberoast 模組來請求加密的服務票證,並離線對 Windows Service Accounts 的密碼進行暴力破解。接著,這些服務票證可用於在網路內的其他系統上,以相關聯的服務帳戶身分進行驗證。然後,威脅行為者使用暴力破解攻擊來嘗試猜測這些服務帳戶的密碼,而這些密碼通常較弱,或由多個帳戶共用。藉由破解服務帳戶的密碼,威脅行為者便可能取得對網路內敏感系統與資料的存取權限。
- 在 Solorigate 後門事件中,APT29 威脅行為者取得了用於 Active Directory 服務主體名稱 (SPN) 的票證授權服務 (TGS) 票證,以便離線破解。
Solorigate 後門事件是一場針對多個組織的網路攻擊,包括政府機構與科技公司。攻擊者被認為是 APT29 組織,使用名為「Solorigate」的複雜後門程式來存取受害者的網路。攻擊者使用的其中一種戰術是 Kerberoasting。透過破解服務帳戶的密碼,攻擊者可以存取網路中的敏感系統與資料。
- 在另一事件中,FIN7 威脅組織使用 Kerberoasting 進行憑證存取,並在網路中執行橫向移動。
Kerberoasting 攻擊偵測與預防策略
身分安全
身分安全 是一項新功能,可偵測針對身分基礎架構(例如 Active Directory)的攻擊。這些解決方案可偵測 Active Directory 中使其容易遭受攻擊的身分設定,並可近乎即時地偵測潛在的 Kerberoasting 攻擊。
另一種防止 Kerberoasting 攻擊的方法,是為所有帳戶使用強式且唯一的密碼。這會讓攻擊者更難破解其所取得之服務票證相關聯的密碼。
此外,請使用安全措施,例如 多重要素驗證,這要求使用者在登入其帳戶時提供額外的驗證方式。即使攻擊者成功取得服務票證並破解密碼,這也有助於防止其存取帳戶。
此外,組織可以使用工具與技術來偵測並防止 Kerberoasting 攻擊。例如,他們可以使用網路監控工具來偵測與 Kerberos 驗證通訊協定相關的異常活動,並使用入侵偵測系統來提醒潛在攻擊。
總體而言,結合強式密碼、雙因素驗證與安全技術,有助於防止 Kerberoasting 攻擊,並防範對敏感資訊的未授權存取。
威脅狩獵
在 Kerberoasting 攻擊的情境中,威脅狩獵 可用於識別並防止用於向 Kerberos 驗證服務請求服務票證之使用者帳戶的初始入侵。這有助於防止攻擊者取得服務票證並發動攻擊。
此外,威脅狩獵可偵測與 Kerberos 驗證通訊協定相關的異常活動,例如大量請求服務票證,或嘗試破解與這些票證相關聯的密碼。這有助於識別正在進行中的 Kerberoasting 攻擊,並採取適當行動加以防禦。
威脅狩獵團隊可運用從 Singularity™ Identity Security Posture Management 解決方案蒐集的情報,並報告企業中潛在弱點的評估結果。Singularity Identity Security 解決方案可偵測攻擊者嘗試進行 Kerberos 票證列舉,並針對潛在的 Kerberoasting 攻擊觸發事件。
欺敵技術
欺敵技術可望用於協助防禦 Kerberoasting 攻擊。欺敵技術包含誘餌主機、誘導物與誘餌,其設計目的在於誘使攻擊者上鉤,並偵測及防禦企圖發動的攻擊。
在 Kerberoasting 攻擊的情境中,欺敵技術可用於建立可向 Kerberos 驗證服務請求服務票證的假帳戶。接著,它可以監控與這些假帳戶相關的活動,並偵測任何試圖破解與服務票證相關聯密碼的行為。
假設攻擊者試圖對誘餌執行 Kerberoasting 攻擊。在此情況下,它可以向安全團隊發出警示,並提供有關該攻擊的資訊,例如攻擊者的 IP 位址,以及其正在使用的工具與技術。這有助於安全團隊防禦攻擊,並防止其造成損害。
雖然欺敵技術在某些情況下可能有效,但它們並非解決 Kerberoasting 攻擊問題的完整方案。組織必須結合多種安全措施來防範這些攻擊。
Kerberoasting 可能導致憑證竊取與進一步入侵。請使用 Singularity XDR 強化您的安全防護,以便及早偵測此類風險。

Enhance Your Threat Intelligence
See how the SentinelOne threat-hunting service WatchTower can surface greater insights and help you outpace attacks.
如何防護與緩解 Kerberoasting 攻擊
組織可實施以下最佳實務,作為防止整個網域遭入侵的緩解策略。
- 確保所有服務帳戶都使用長且複雜的密碼(大於 25 個字元)。
- 定期變更服務帳戶密碼(至少每年一次)。
- 使用 群組受管理服務帳戶 (gMSAs),以提供密碼管理,並免除管理員手動管理每個服務帳戶憑證的需求。
- MITRE ATT&CK 也建議啟用 AES Kerberos 加密(或其他更強的加密演算法)而非 RC4,讓攻擊者難以離線破解雜湊。請使用 Account 索引標籤中的核取方塊啟用 AES 128/256 位元加密類型。

Kerberos 安全性原則設定與建議
組織應密切注意 Kerberos 原則 設定,以降低攻擊者竊取憑證的風險。這些原則設定位於 Computer ConfigurationWindows SettingsSecurity SettingsAccount PoliciesKerberos Policy。
攻擊者可能會探查脆弱的原則設定並加以利用。以下為 Kerberos 安全性原則設定與建議選項。
- 強制執行使用者登入限制 – 若停用此原則設定,使用者可能會取得其無權使用之服務的工作階段票證。建議將此原則設為「已啟用」。
- 服務票證的最長存留時間 – 此原則決定可使用已授與的工作階段票證來存取特定服務的最長分鐘數。
建議將此原則設為 600 分鐘。若「服務票證的最長存留時間」設定值過高,可能允許使用者在其登入時段之外存取網路資源。此外,已停用的使用者帳戶可能仍會使用在帳戶停用前簽發的有效服務票證持續存取網路服務。
- 使用者票證的最長存留時間 – 此原則決定使用者的票證授權票證可使用的最長時間(以小時為單位)。當使用者的票證授權票證到期時,系統必須要求新的票證或更新現有票證。建議將此原則設為 10 小時。設定過高的值可能會讓使用者在其登入時段之外存取網路資源。此外,已停用的使用者帳戶可能仍會透過在其帳戶停用前簽發的有效使用者票證,持續存取網路服務。設定過低的值可能會影響 Key Distribution Center (KDC) 要求票證時的效能,並導致 DoS 攻擊。
- 使用者票證續期的最長存留時間 – 此原則設定會決定可續期使用者票證授權票證的期間(以天為單位)。建議將此原則設為 7 天。設定過高的值可能會讓使用者續期非常舊的使用者票證。
- 電腦時鐘同步的最大容許值 – 此原則設定會決定 Kerberos V5 可容許的最大時間差(以分鐘為單位),即用戶端時鐘時間與提供 Kerberos 驗證之網域控制站時間之間的差異。建議將此原則設為 5 分鐘。
SentinelOne Singularity Identity 如何防護 Kerberoasting 攻擊
SentinelOne Singularity Identity 會持續監控 Active Directory 中的 Kerberoasting 等攻擊。Ranger AD 解決方案可偵測 Kerberos 票證列舉,並針對潛在的 Kerberoasting 攻擊觸發事件。Singularity Identity 也會部署欺敵憑證,包括雜湊、驗證權杖和 Kerberos 票證。這可偵測使用欺敵票證的攻擊者,並將其重新導向至誘餌系統以進行互動。

Get Deeper Threat Intelligence
See how the SentinelOne threat-hunting service WatchTower can surface greater insights and help you outpace attacks.
更多關於 Kerberoasting 的資訊
Kerberoasting 與 Mimikatz
Mimikatz 是一種可用來執行 Kerberoasting 攻擊的工具。Mimikatz 是一種公用程式,旨在從電腦系統中擷取敏感資訊,包括密碼和其他驗證憑證。
在 Kerberoasting 攻擊的情境中,Mimikatz 可以從 Kerberos 驗證服務取得服務票證,然後破解相關密碼。這可讓攻擊者未經授權存取與服務票證相關聯的帳戶。
Mimikatz 是一種功能強大的工具,可用於合法與惡意用途。雖然它對安全專業人員測試其系統安全性很有幫助,但攻擊者也可利用它發動網路攻擊。因此,組織必須防範其被用於 Kerberoasting 攻擊。
Kerberoasting 與 Golden Tickets
Kerberoasting 和 Golden Tickets 都是可用來對 Kerberos 驗證通訊協定發動網路攻擊的技術。
Kerberoasting 涉及從 Kerberos 驗證服務取得大量服務票證,然後使用專門工具破解與這些票證相關的密碼。這可讓攻擊者未經授權存取與服務票證相關聯的帳戶。
另一方面,Golden Ticket 是一種偽造的 Kerberos 票證,可用來在網路上以任何使用者身分進行驗證。這可讓已取得 Golden Ticket 的攻擊者未經授權存取網路,並執行其他惡意活動。
雖然這兩種技術都可用來攻擊 Kerberos 驗證通訊協定,但其機制不同,且可用於不同目的。對組織而言,了解這些技術之間的差異並防範它們,對於維持系統安全性非常重要。
Golden Ticket 攻擊與 Kerberoasting 攻擊類似,都是攻擊者擷取並解密現有票證以取得網路資源存取權。然而,在 Golden Ticket 攻擊中,攻擊者會建立全新且偽造的票證,使其能夠繞過任何已部署的存取控制或驗證通訊協定。
Kerberoasting 與 Silver Tickets
Silver Ticket 是一種偽造的 Kerberos 票證,可讓攻擊者冒充網路上的合法服務。這可讓攻擊者存取網路資源並執行其他惡意活動。
雖然這兩種技術都可用來攻擊 Kerberos 驗證通訊協定,但其機制不同,且可用於不同目的。對組織而言,了解這些技術之間的差異並防範它們,對於維持系統安全性非常重要。
許多組織為服務帳戶配置了過多權限,且通常使用弱密碼,讓攻擊者能輕易從網域使用者提升為網域管理員。實施持續評估並驗證 Kerberos 設定,可避免暴露於權限提升和橫向移動的風險。
Kerberoasting 攻擊常見問題
Kerberoasting 是一種後利用技術,攻擊者會鎖定 Active Directory 環境中的服務帳戶。此攻擊會向 Kerberos 驗證通訊協定要求加密的服務票證,然後離線處理這些票證以破解密碼雜湊。攻擊者特別鎖定具有 Service Principal Names (SPNs) 的帳戶,因為任何已驗證的網域使用者都可以為這些服務要求票證。
一旦他們使用 Hashcat 或 John the Ripper 等工具破解密碼雜湊,就能冒充該服務帳戶,並存取該帳戶具有權限的任何系統。
Kerberoasting 攻擊主要鎖定與 Service Principal Names (SPNs) 相關聯的使用者帳戶,而非機器帳戶。攻擊者聚焦於使用者帳戶,因為機器密碼由網域自動管理、會定期變更,且預設即具複雜性。具有 SPNs 的使用者帳戶較為脆弱,因為網域強制執行的密碼原則不一定會套用至這些帳戶,導致密碼強度取決於使用者。
執行 SQL Server、IIS 或其他企業服務的服務帳戶是常見目標。這些帳戶通常具有較高權限並可存取敏感資料,因此對權限提升和橫向移動而言很有價值。
組織可以透過為服務帳戶實施強式密碼原則來防禦 Kerberoasting,並使用至少 25 個字元的密碼。您應部署 Group Managed Service Accounts (gMSAs),其可自動輪替密碼並移除手動密碼管理。監控您的網路是否有異常的 TGS 票證請求和 RC4 加密使用情況,因為這些都是 Kerberoasting 嘗試的常見指標。對服務帳戶實施最小權限原則,確保其僅具有所需的最低權限。
定期安全稽核應識別並移除不必要的 SPNs,且您應停用或移除不再需要的過時服務帳戶。SentinelOne Singularity™ Identity 等解決方案也可防禦 Kerberoasting 攻擊。
常見的 Kerberoasting 工具包括 Rubeus,它可將從 SPN 列舉到票證擷取的整個流程自動化。攻擊者也會使用 Impacket 的 GetUserSPNs.py 指令碼來執行以 Linux 為基礎的攻擊,這需要有效的網域憑證。Mimikatz 是另一種常見工具,可從記憶體中擷取 Kerberos 票證。
在密碼破解方面,攻擊者通常使用 mode 13100 的 Hashcat 或 John the Ripper,離線破解擷取出的票證雜湊。像 Invoke-Kerberoast 這類 PowerShell 指令碼也可用於直接從遭入侵的 Windows 系統執行攻擊。
MFA 無法直接防止 Kerberoasting 攻擊,因為此攻擊利用的是 Kerberos 通訊協定的設計,而非初始驗證流程。不過,MFA 可提供重要防護,因為它會讓攻擊者更難取得要求服務票證所需的初始網域使用者憑證。


