賽門鐵克Altiris許可權提升漏洞分析(CVE-2018-5240)
前言
在近期的一項滲透測試實踐中,我們在最新版本賽門鐵克Management Agent(Altiris)中發現了一個安全漏洞,而這個安全漏洞將允許攻擊者實現提權。
概述
當Altiris代理執行任務掃描時(例如軟體掃描),SYSTEM級服務會在掃描任務執行完畢之後向NSI和OutBox目錄重新申請許可權。即:
C:\ProgramFiles\Altiris\Inventory\Outbox C:\ProgramFiles\Altiris\Inventory\NSI
申請到的許可權會給‘Everyone’組成員提供這兩個檔案目錄的完整控制權,並允許任何一名標準使用者建立其他代替目錄的連結。因此,‘Everyone’許可權將會賦予給其他代替目錄,從而該目錄下的任何一份檔案或資料夾都會繼承這種完全控制權限。
這也就意味著,任何一名低許可權使用者都可以在安裝了Symantec Management Agent v7.6, v8.0或v8.1RU7的終端裝置上實現許可權提升。
分析&發現
在執行滲透測試的過程中,我們經常會遇到各種各樣安裝了不同型別終端軟體的主機裝置。這些軟體很可能就是我們的切入點,因為我們可以利用它們來實現提權,或者實現橫向滲透。
在這些終端管理軟體中,我們經常會見到的就是賽門鐵克的Altiris。這個軟體是一款終端管理框架,它不僅可以幫助組織或管理員確保裝置及時安裝了最新版本的作業系統補丁或軟體更新,還可以檢查使用者或組許可權。
我們這一次測試的版本是v7.6,不過賽門鐵克方面也證實了,在最新補丁釋出之前的所有Altiris版本都會受到這個問題的影響。
我們發現,Altiris檔案架構中的目錄都應用了‘Everyone-完整控制’許可權。這些目錄看起來儲存的是合法內容,例如掃描配置檔案和XML檔案等等。但是這些目錄和檔案的許可權都使用了一行簡單的Shell/">PowerShell程式碼,並允許我們檢視任意Windows主機的ACL許可權:
Get-ChildItemC:\ -Recurse -ErrorAction SilentlyContinue | ForEach-Object {try {Get-Acl -Path$_.FullName | Select-Object pschildname,pspath,accesstostring}catch{}}|Export-Csv C:\temp\acl.csv -NoTypeInformation
在檢視這些檔案目錄的時間戳時,我們發現這些目錄中的檔案時間戳每天都會發生變化。深入研究之後,我們發現這些檔案會在Altiris執行完系統或軟體掃描之後被修改。現在,根據不同組織對配置和掃描任務的需求,這樣的情況每天還有可能發生若干次。
接下來的事情就非常有趣了,當我們發現了這種特性之後,我們打算看看Cylance近期披露的攻擊方式在這裡是否有效【 ofollow,noindex" target="_blank">參考資料 】。
下面給出的是NSI資料夾的目錄許可權,這個目錄的許可權跟Outbox目錄是相同的:
接下來,我們可以嘗試使用James Forshaw的符號連線測試工具來將該目錄重定向到其他位置,然後建立一個其他目錄的掛載點,看看這個目錄下的檔案是否會被改寫,而事實是我們成功了。當然了,我們還可以使用 sysinternals 的連結工具,但是這個工具要求源目錄不存在,但是我們這裡的目錄已經存在並擁有‘Everyone’許可權了。比如說:
如果我們把這個目錄刪除,我們就沒有許可權去實現這種攻擊了。而James Forshaw的工具允許覆蓋已存在的目錄:
在這種攻擊技術中還可以使用另一個名叫mklink.exe的Windows工具,但是該工具需要高階許可權,這裡就不適用了,因為我們要做的就是提權。
攻擊分析
我們應該如何實現攻擊呢?別擔心,我們有很多種方法來利用這個漏洞,但是最簡單的方法就是去嘗試覆蓋整個Altiris根目錄(“C:\Program Files\Altiris\AlritisAgent\”)許可權,這樣我們就可以修改SYSTEM賬號下執行的服務程式碼了,也就是AeNXSAgent.exe。
下面的截圖顯示的是在掛載點修改許可權之前Altiris Agent目錄以及AsNXSAgent.exe服務程式碼的許可權:
接下來,我們建立一個指向Altiris Agent目錄的掛載點,執行之後我們就可以讓每一個檔案擁有完整許可權了,實現起來非常簡單。這裡我們可以使用James Forshaw的 符號連結測試工具 來建立和驗證掛載點。
接下來,我們只需要目標主機再次執行掃描任務,下面的截圖顯示的就是我們的成果:
當我們拿到了AeXNSAgent.exe的完整控制權之後,我們就可以替換服務程式碼,然後重啟主機來獲取SYSTEM許可權了。
總結
Altiris Management Agent v7.6, v8.0和8.1 RU7均會受到該漏洞的影響,我們強烈建議大家儘快升級更新自己的軟體。
如果大家還有利用該漏洞的新姿勢,歡迎大家在下方評論區踴躍討論。
* 參考來源: nettitude ,FB小編Alpha_h4ck編譯,轉載請註明來自FreeBuf.COM