防範Windows降級攻擊

Windows Downdate攻擊是一種把已更新的操作系統,復原到較舊的版本,令安全漏洞再次重現,讓攻擊者能夠完全控制受害者的系統,而且標準的更新和系統健康檢查會報告一切正常和最新。

攻擊機制

研究人員找到兩種略有不同的運作機制,其中一個安全漏洞是CVE-2024-21302 (又稱Downdate),利用更新安裝程序的漏洞,已下載的更新元件被控制和避免被修改,也包含了數碼簽署,不過在一個中間安裝階段(重啟之間),更新步驟創建並利用一個準備行動的清單(pending.xml),如果攻擊者能創建自己的版本,之後便會依照指示在重啟系統時執行惡意的工作。儘管pending.xml會進行核實,但只在之前的安裝階段進行,之後不會再次核實,即使該檔案並非可以隨意編寫和藉此安裝任意檔案(必需有Microsoft的簽署),但以由Microsoft開發的較舊檔案取代系統檔案就相當容易,可以做到把堵塞已久的安全漏洞重新出現在系統。

透過pending.xml加入到registry需要管理員權限,每次系統重啟都必需啟動,然而這只是唯有一的限制,攻擊者無需提升權限,保安方案也不會對攻擊的行為標記為可疑。

第二個安全漏洞CVE-2024-38202讓攻擊者偽裝Windows.old資料夾,用來儲存更新系統是舊Windows安裝的地方,即使修改這資料夾內的檔案需要特別權限,不過攻擊者可以透過標準的用戶權限更改資料夾名稱,然後重新創建Windows.old,把過時兼具備漏洞的Windows系統檔案於在其中,再啟動系統復原功能把Windows回復到存在安全漏洞的版本,系統復原需要某些權限但並非管理員特權,有時候一般用作也能辦到。

繞過VBS和盜竊密碼

自2015年起,Windows的架構經過重新設計以防止Windows核心被入侵而影響整個系統,這牽涉到virtualization-based security (VBS),系統管理程式被用作隔離操作系統元件,創建安全的核心來處理最敏感的操作等儲存密碼等等。為防止攻擊者關閉VBS,Windows可以被設定為無法關閉,即使擁有管理員權限,唯一關閉這個防護是重啟電腦進入一個特別模式,然後輸入文字指令,這功能被稱為Unified Extensible Firmware Interface (UEFI)鎖,Windows Downdate攻擊則繞過這個限制,而且以經過修改的過時漏洞版進行取代,VBS不會檢查系統檔案的更新程度,所以能以較舊版本取代而沒有可偵測的跡象或錯誤訊息,因為技術上VBS並沒有被關閉,只是這個功能不再進行它的保安工作。

這種攻擊能夠以兩年前含有多個安全漏洞的版本取代安全的核心和管理程式檔案,藉此達成升級特權,結果導致攻擊者可取得最高系統權限,完全存管理程式和記憶體保護程序,觀看登入憑證和被遮蔽的密碼等等。

防範Downdate

Microsoft在今年2月收到Downdate安全漏洞的通知,但直至8月才公佈有關細節,修復這臭蟲需要和很多副作用戰鬥,包括某些Windows系統崩潰,所以與其倉促推出另一個補丁,Microsoft簡單地提供一些降低風險的貼士:

  • 審核已授權進行系統復原和更新操作的用戶,降低用戶數量和盡可能移除權限。
  • 實施存取控制清單限制存取和修改更新檔案
  • 設定事件監控,由於升級權限會被用來修改或取代更新檔案,這可能是安全漏洞被使用的跡象。
  • 監察修改和取代VBS子系統和系統備份相關檔案。

透過SIEMEDR監察以上事件頗為直接,不過可以預期會有誤報的出現,所以區分合法的系統管理員活動和駭客活動,最終取決於保安團隊。以上的貼士對實體和雲端上的虛擬Windows裝置同樣有效,如果在Azure,我們建議追蹤不正常嘗試登入管理員憑證,啟動MFA或一旦發現便更改憑證。把無需要管理員特權的員工移除也是重要的一步,甚至是管理是使用一個帳號,其他工作則利用另一個帳號。

修復風險

Microsoft提供更新KB5042562以堵塞CVE-2024-21302安全漏洞,一經安裝,過期的VBS系統檔案將會被加入到撤銷清單,不能再在已更新的電腦上運行,由於該措施在UEFI層面上實施,所以不但要更新操作系統,備份的移險式開機媒體也需要更新,而且要清楚往後不能復原到較舊的Windows,以及更新強制啟動User Mode Code Integrity (UMCI)功能,可能會導致兼容和表現問題。

資料來源:Kaspersky Blog