摘要

為了幫助客戶識別受 TPM 漏洞影響的孤立的 Windows Hello for Business (WHfB) 金鑰,Microsoft 發佈了一個可供管理員運行的 PowerShell 模組。 本文介紹了如何 解決 ADV190026 中描述的問題|「Microsoft Guidance,用於清理在易受攻擊的 TPM 上生成的用於 Windows Hello for Business 的孤立金鑰。」

重要提示 在使用 WHfBTools 刪除孤立金鑰之前,應遵循 ADV170012 中的指南來更新任何易受攻擊的 TPMs 的固件。 如果未遵循本指南,則在固件尚未更新的設備上生成的任何新的 WHfB 金鑰仍將受到 CVE-2017-15361(ROCA)的影響。

如何安裝 WHfBTools PowerShell 模組

透過運行以下命令來安裝模組:

安裝 WHfBTools PowerShell 模組

透過 PowerShell 安裝

PS> Install-Module WHfBTools

PS> # Save the current execution policy so it can be reset later

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> Import-Module WHfBTools

或者從 PowerShell Gallery 下載進行安裝

  1. 前往 https://www.powershellgallery.com/packages/WHfBTools

  2. 將原始 .nupkg 檔案下載到本機資料夾,然後使用 .zip 副檔名重新命名

  3. 將內容解壓縮到本機資料夾,例如 C:\ADV190026

 

啟動 PowerShell,複製並執行下列命令:

PS> # Save the current execution policy so it can be reset later

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> CD C:\ADV190026\WHfBTools

PS> Import-Module .\WHfBTools.psd1

 

安裝相依性以供使用模組:

安裝相依性以供使用 WHfBTools 模組

如果您要查詢 Azure Active Directory 以尋找孤立金鑰,請安裝 MSAL.PS PowerShell 模組

透過 PowerShell 安裝

PS> Install-Module -Name MSAL.PS -RequiredVersion 4.5.1.1

PS> Import-Module MSAL.PS

或使用 PowerShell 資源庫的下載檔案來安裝

  1. 前往 https://www.powershellgallery.com/packages/MSAL.PS/4.5.1.1

  2. 將原始 .nupkg 檔案下載到本機資料夾,然後使用 .zip 副檔名重新命名

  3. 將內容解壓縮到本機資料夾,例如 C:\MSAL.PS

啟動 PowerShell,複製並執行下列命令:

PS> CD C:\MSAL.PS

PS> Import-Module .\MSAL.PS.psd1

如果要查詢 Active Directory 中是否有孤立金鑰,請安裝遠端伺服器管理員工具 (RSAT): Active Directory 域服務和羽量級目錄服務工具

經由設定安裝(Windows 10、版本 1809 或更新版本)

  1. 前往設定 -> 應用程式 -> 自選功能 -> 新增一個功能

  2. 選取 RSAT: Active Directory 域服務和羽量級目錄服務工具

  3. 選取安裝

或透過 PowerShell 安裝

PS> dism /online /Add-Capability /CapabilityName:Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0

或透過下載安裝

  1. 轉到 https://www.microsoft.com/zh-tw/download/details.aspx?id=45520 (Windows 10 連結)

  2. 下載 Windows 10 安裝程式的遠端伺服器管理工具

  3. 下載完成後啟動安裝程式

 

執行 WHfBTools PowerShell 模組

如果您的環境有加入 Azure Active Directory 的裝置或混合了加入 Azure Active Directory 的裝置,請依照 Azure Active Directory 步驟來識別和移除金鑰。 在 Azure 中移除的金鑰會透過 Azure AD Connect 同步到 Active Directory。

如果僅為內部部署環境,請依照 Active Directory 步驟來識別和移除金鑰。

查詢孤立金鑰和受 CVE-2017-15361 (ROCA) 影響的金鑰

使用下列命令查詢 Azure Active Directory 中的金鑰:

PS> Get-AzureADWHfBKeys -Logging -Report -Tenant contoso.com -All | Export-Csv C:\AzureKeys.csv

此命令會查詢 “contoso.com” 租用戶以尋找所有已註冊的 Windows Hello 企業版公開金鑰,並將該資訊輸出到 C:\AzureKeys.csv。 以您的租用戶名稱取代 contoso.com 來查詢您的租用戶。

Csv 輸出, AzureKeys.csv, 將包含每把金鑰的以下資訊:

  • 使用者主體名稱

  • 租戶

  • 用法

  • 金鑰 ID

  • 建立時間

  • 孤立狀態

  • 支援通知狀態

  • ROCA 弱點狀態

Get-AzureADWHfBKeys 還將輸出已查詢的金鑰的摘要。 此摘要提供下列資訊:

  • 掃描的使用者數目

  • 已掃描的金鑰數

  • 具有金鑰的使用者數目

  • ROCA 易受攻擊的金鑰數量

注意:Azure AD 租戶中可能有過時的裝置,這些裝置具有與其關聯的適用于 Windows Hello for Business 金鑰。 即使這些裝置未被主動使用,這些金鑰也不會報告為孤立。 我們建議按照以下指南操作: 在查詢孤立金鑰之前,管理 Azure AD 中的陳舊裝置以清理陳舊裝置。

 

使用以下命令查詢 Active Directory 中的金鑰:

PS> Get-ADWHfBKeys -Logging -Report -Domain contoso | Export-Csv C:\ADKeys.csv

此命令將查詢所有已註冊的 Windows Hello for Business 公開金鑰的「contoso」域,並將該資訊輸出到 C:\ADKeys.csv。 用您的域名替換 contoso 來查詢您的域。

Csv 輸出, ADKeys.csv, 將包含每個金鑰的以下資訊:

  • User Domain (使用者網域)

  • 使用者 SAM 帳戶名稱

  • 使用者可分辨名稱

  • 金鑰版本

  • 金鑰識別碼

  • 建立時間

  • 金鑰內容

  • 金鑰來源

  • 金鑰使用方法

  • 金鑰裝置識別碼

  • 約略的上次登入時間

  • 建立時間

  • 自訂金鑰資訊

  • KeyLinkTargetDN

  • 孤立狀態

  • ROCA 弱點狀態

  • KeyRawLDAPValue

Get-ADWHfBKeys 也會輸出所查詢金鑰的摘要。 此摘要提供下列資訊:

  • 掃描的使用者數目

  • 具有金鑰的使用者數目

  • 已掃描的金鑰數

  • ROCA 易受攻擊的金鑰數量

  • 孤立金鑰數目 (如果未指定 -SkipCheckForOrphanedKeys)

注意: 如果您的混合環境包含加入 Azure AD 的裝置,並在內部部署網域中執行 "Get-ADWHfBKeys",則孤立金鑰的數目可能並不正確。 這是因為加入 Azure AD 的裝置不在 Active Directory 中,而且與加入 Azure AD 的裝置關聯的金鑰可能顯示為孤立。

 

移除目錄中易受 ROCA 攻擊的孤立金鑰

使用下列步驟移除 Azure Active Directory 中的金鑰:

  1. AzureKeys.csv 的 Orphaned 和 RocaVulnerable 欄篩選設為 true 的值

  2. 將篩選的結果複製到新檔案,C:\ROCAKeys.csv

  3. 執行下列命令以刪除金鑰:

PS> Import-Csv C:\ROCAKeys.csv | Remove-AzureADWHfBKeys -Tenant contoso.com -Logging

此命令會匯入易受 ROCA 攻擊的孤立金鑰清單,並從 contoso.com 租用戶中加以刪除。 以您的租用戶名稱取代 contoso.com ,以從租用戶中刪除金鑰。

注意:如果易受 ROCA 攻擊的 WHfB 金鑰尚未孤立便遭到刪除,會對您的使用者造成服務中斷。 在您從目錄中刪除這些金鑰之前,應確定它們已是孤立金鑰。

 

使用以下步驟刪除 Active Directory 中的金鑰:

注意:在混合環境中從 Active Directory 中刪除孤立金鑰將導致金鑰作為 Azure AD Connect 同步過程的一部分重新被創建。 如果處於混合環境中,請僅從 Azure AD 中刪除金鑰

  1. 將 OrphanedKey ROCAVulnerable 列篩選 ADKeys.csv 為 true

  2. 將篩選的結果複製到新檔案,C:\ROCAKeys.csv

  3. 執行下列命令以刪除金鑰:

PS> Import-Csv C:\ROCAKeys.csv | Remove-ADWHfBKeys -Logging

此命令導入孤立的及 ROCA 易受攻擊的金鑰清單,並從網域中刪除它們。 

注意 如果刪除尚未孤立的及 ROCA 易受攻擊的 WHfB 金鑰,則會導致您的使用者中斷。 在您從目錄中刪除這些金鑰之前,應確定它們已是孤立金鑰。

 

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×