駭客攻擊企業的手法不斷地翻新,本文將示範如何善用Windows 10和Windows Server 2016作業系統內的Credential Guard安全性機制,來阻擋傳遞雜湊及傳遞票證惡意攻擊,以防止儲存於主機記憶體內的使用者密碼外洩。
或許有人會感到困惑,透過Mimikatz工具看到管理者帳號的NTLM雜湊值會有什麼影響?事實上,隨著惡意攻擊種類和方式不斷增加的情況下,只要取得使用者帳號的NTLM雜湊值後,惡意攻擊者只要透過「NTLM雜湊值解密程式」(NTLM Hash Decrypter),便可以在幾小時甚至幾分鐘之內解密出使用者密碼。
啟用Credential Guard
了解惡意攻擊所造成的安全性風險後,接著來看看啟用Credential Guard安全性機制後,是否能夠有效防護傳遞雜湊及傳遞票證攻擊。
在此次實作的x86伺服器中,硬體的部分採用64位元的CPU處理器並支援相關硬體輔助虛擬化功能,同時也配置TPM 2.0信賴平台模組安全性晶片,如圖7所示。在韌體方面,採用具備UEFI安全開機與韌體更新功能的UEFI 2.4.0,至於軟體要求的部分,則採用Windows Server 2016 DataCenter版本。
|
▲ 圖7 順利地在裝置管理員中看到信賴平台模組2.0。 |
符合Credential Guard安全性機制的運作環境準備完畢後,在本文實作環境中,將採用GPO群組原則的方式啟用Credential Guard。
依序點選「開始 > 執行」,然後鍵入「gpedit.msc 」並按下〔確定〕,系統就會開啟本機群組原則編輯器視窗。
接著,再依序點選「電腦設定 > 系統管理範本 > 系統 > Device Guard」項目,然後如圖8所示開啟右方「開啟虛擬化型安全性」項目。
|
▲ 圖8 準備透過GPO群組原則啟用Credential Guard安全性機制。 |
在開啟虛擬化型安全性視窗內,預設值為尚未設定,請點選至「已啟用」項目。
接著,在下方選取平台安全性層級下拉式選單中,可以看到安全開機或安全開機及DMA保護項目,在本文實作環境中選擇「安全開機」項目。
最後,在Credential Guard設定下拉式選單中,預設值為已停用,另外兩個選項為在不含鎖定情況下啟用、在包含UEFI鎖定的情況下啟用,本次選用【在不含鎖定情況下啟用】,如圖9所示。
|
▲ 圖9 透過GPO群組原則啟用Credential Guard安全性機制。 |
組態設定完畢,回到本機群組原則編輯器視窗中,將會發現開啟虛擬化型安全性項目的狀態,由先前的「尚未設定」轉換成為「已啟用」。
接著,為了能夠快速讓組態設定套用生效,請以系統管理員身分開啟命令提示字元,並執行「gpupdate /force」指令,然後重新啟動主機。
確認Credential Guard安全性機制執行中
順利啟用Credential Guard安全性機制並重新啟動主機後,確認Credential Guard安全性機制已經順利運作並執行中,再依序點選「開始 > 執行」, 鍵入「msinfo32.exe」並按下〔確定〕,系統將會開啟系統資訊視窗。
接著點選「系統摘要」項目,在右方窗格中下拉至底,即可看到啟用資訊,依據本文實作環境的組態設定後,在啟用Credential Guard安全性機制的部分,如圖10所示將會看到下列組態設定值:
|
▲ 圖10 確認Credential Guard安全性機制是否順利啟用並執行中。 |
‧ Device Guard虛擬化型安全性:執行中
‧ Device Guard必要的安全性屬性:基底虛擬化支援、安全開機
‧ Device Guard可用的安全性屬性:基底虛擬化支援、安全開機、DMA保護
‧ Device Guard安全性服務已設定:Credential Guard
‧ Device Guard安全性服務執行中:Credential Guard