先前介紹 Microsoft Vulnerable Driver Blocklist,他和今天要講的 LSA Protection 都是屬於 Core isolation 的功能。
今天就來講一下他確切來說做到什麼事情,簡單一句話來概括的話就是 「只有經過數位簽署的檔案才能存取受保護的 Process」,可以防止攻擊者從記憶體中竊取登入 Credential。啟用後,像 Mimikatz 這樣的工具將無法輕易讀取 LSASS 的記憶體內容。
LSASS Protection
儘管 LSA 保護功能可以限制”有簽章” 的應用程式去讀取的 LSASS 的記憶體,但仍有一些技巧能繞過。
使用簽章的驅動程式移除保護機制:
攻擊者利用工具 Mimikatz,載入一個已經過數位簽名的驅動程式(如 mimidrv.sys),然後修改 LSASS 的保護,這樣就能讀取 LSASS 的記憶體。
Bring Your Own Vulnerable Driver (BYOVD):
就跟之前講的 Microsoft Vulnerable Driver Blocklist 講到的有一堆有簽章且存在漏洞的驅動程式,將其載入系統,攻擊者可以藉由漏洞驅動程式停用 LSASS 的保護。
複製已經開啟的 Process Handler:
有些防毒軟體或其他系統服務已經開啟了 LSASS Handler,這些 Handler 可能包含足夠的權限來存取 LSASS。攻擊者可以利用 SeDebugPrivilege 權限,複製這些已存在的 Handler ,知名工具 Pypykatz 就能做到這件事。
雖然我提到這些繞過技術,但是防護技術本來就是提升攻擊者的攻擊難度並沒有完美的防護技術,讓攻擊者製造更多的行動,替防禦方爭取發現的時間,所以我是肯定打開這功能的。