Sage的主要服務對像是大中型企業,在全球大概有600萬客戶。 Sage在英文中是英明睿智的意思,致力於為企業提供全線管理軟件解決方案。 Sage ERP X3是一套完全集成的管理解決方案,在易用性方面做了很大的改進,幫助企業快速享受到IT帶來的諸多利益。
Rapid7 研究人員Jonathan Peterson、Cale Black、Aaron Herndon、Ryan Villarreal 和William Vu 發現了四個涉及Sage X3 的漏洞。這些漏洞根據Rapid7 的常規漏洞披露流程報告給Sage,並在Sage X3 第9 版(Syracuse 9.22.7.2 隨附的那些組件)、Sage X3 HR 和Payroll 版本9(Syracuse 隨附的那些組件)的最新版本中修復9.24.1.3、Sage X3 版本11 (Syracuse v11.25.2.6) 和Sage X3 版本12 (Syracuse v12.10.2.8)。請注意,Sage X3 沒有商業可用的第10 版。
這些漏洞如下表所示:前兩個是涉及Sage X3遠程管理的協議相關漏洞,後兩個是Web應用程序漏洞。一般來說,Sage X3 安裝不應直接暴露在互聯網上,而應在需要時通過安全的VPN 連接提供。遵循此操作建議可有效緩解所有四個漏洞,但仍敦促客戶根據其通常的補丁週期時間表進行更新。
產品描述Sage X3 是一個企業資源計劃(ERP) 應用程序,主要用於大中型企業的供應鏈管理。該產品在英國和其他歐洲市場特別受歡迎。有關Sage X3 的更多信息,請訪問其官網。
這些漏洞是由Rapid7 研究人員Jonathan Peterson (@deadjakk)、Aaron Herndon (@ac3lives )、Cale Black、Ryan Villarreal (@XjCrazy09) 和William Vu 發現的。它們是根據Rapid7 的漏洞披露政策披露的。
CVE-2020-7390 之前由Cobalt Labs 的 Vivek Srivastav 於2021 年1 月向供應商報告。
漏洞利用對於每一個確定的漏洞,下面是對漏洞和利用它的技術的簡要描述。
CVE-2020-7388:Sage X3 未經身份驗證的遠程命令執行(RCE) 作為AdxDSrv.exe 組件中的SYSTEM
Sage X3 在AdxAdmin 組件的進程“AdxDSrv.exe”下的端口TCP/1818(默認值,但可更改)上公開管理服務。該服務用於通過Sage X3 控制台遠程管理Sage ERP 解決方案。服務中的漏洞允許惡意攻擊者向暴露的服務發出請求,以“NT AUTHORITY/SYSTEM”用戶身份在服務器上執行命令。
AdxDSrv.exe認證和執行過程Sage X3 使用自定義協議在Sage X3 控制台客戶端和AdxDSrv.exe 之間進行交互。查看協議,Sage X3 控制台使用字節序列製作一個請求以進行身份驗證,如下所示:
Sage X3 使用自定義的加密機制對密碼進行加密,但為簡潔起見,這裡不再贅述加密方式。示例消息如下所示,向用戶“admin”發送密碼“password”:
AdxDSrv.exe發送4個字節表示驗證成功,這些字節總是以\x00\x00 為前綴,然後是兩個明顯隨機的字節,如下所示:
收到這個成功的認證響應後,可以發送消息執行遠程命令。首先,臨時目錄由客戶端以要寫入服務器的“cmd”文件的名稱指定。
具有提供的“cmd”文件名的批處理文件被寫入磁盤,其中包含“whoami”命令。
在AdxDSrv.exe 服務將臨時批處理文件寫入指定文件夾後,它將通過Windows API調用CreateProcessAsUserAs,在提供的用戶憑證的安全上下文中執行該文件。這可以在Windows 事件日誌中作為使用“CreateProcess(AsUser)”的Windows 事件登錄被觀察到。最終導致將命令寫入文件、執行然後讀取輸出的消息序列。
在AdxSrv.exe中調用CreateProcessAsUserA的代碼片段,AdxSrv.exe是一個從AdxDSrv.exe產生的線程。
在沒有有效身份驗證的情況下執行,作為NT AUTHORITY\SYSTEM發送要執行的命令需要兩個組件。首先要知道AdxAdmin服務的安裝目錄,這樣我們就可以向服務提供要寫入的完整路徑位置,以便將要執行的“.cmd”文件寫入其中。第二個組件是“授權序列”,如上所示,它包括發送一個用戶名和密碼,該用戶名和密碼是用AdxDSrv.exe服務使用的加密協議加密的,以便通過Windows API調用CreateProcessAsUserA來執行.cmd文件。
獲取安裝目錄可以通過事先的知識、有根據的猜測,或者通過以下CVE-2020-7387所述的未經身份驗證的遠程信息洩露漏洞來完成。
第二步可以通過重新創建AdxDSrv.exe 身份驗證和命令協議的一系列數據包來迴避,但有一個關鍵修改:攻擊者可以簡單地交換一個字節並導致服務忽略提供的用戶憑據,而是在當前AdxDSrv.exe進程安全上下文下執行,該進程安全上下文作為NT AUTHORITY\SYSTEM運行。一些模糊測試表明,在授權序列開始期間使用“0x06”而不是“0x6a”允許序列繼續,並允許命令作為NT AUTHORITY\SYSTEM帳戶運行。
換句話說,客戶端似乎能夠完全退出身份驗證。在這種模式下,請求的命令以SYSTEM 身份執行,而不是模擬提供的用戶帳戶。
在一個實際的概念證明漏洞,它發送了整個序列來執行“whoami”,而沒有像之前要求的那樣提供加密的用戶憑證。
該漏洞在AdxAdmin 93.2.53版本中被修復,該版本在X3 V9、V11 和V12 中很常見,並分別隨Syracuse 9.22.7.2、11.25.2.6 和12.10.2.8 提供。
CVE-2020-7387:Sage X3 安裝路徑名洩露在對CVE-2020-7388 中描述的AdxAdmin.exe 使用的身份驗證和命令協議進行模糊測試時,發現發送第一個字節為“0x09”而不是“0x6a”,尾隨三個空字節,返回的安裝目錄時不需要任何身份驗證。
比如正在發送的消息示例,以及來自服務器的包含目錄路徑信息的響應。
當涉及到大多數企業軟件時,安裝路徑名稱往往是相當可預測的,幾乎所有用戶都安裝到少數幾個驅動器號中的一個默認目錄中,這個漏洞確實為攻擊者提供了利用上述CVE-2020-7388所需的信息。
CVE-2020-7389:系統鏈變量腳本命令注入一些允許使用'System' 函數的Web 應用程序腳本可以與“CHAINE”變量配對,以執行任意命令,包括來自遠程SMB 共享的命令。 該頁面可以通過菜單提示Development - Script dictionary - Scripts 到達。 根據供應商的說法,此功能應僅在開發環境中可用,而不是在生產環境中可用。
漏洞命令模式為:
演示過程如下所示:
下面的屏幕截圖演示了一個提供“a.bat”的Impacket SMB 服務器,該服務器又調用“b.exe”,並嘗試連接和評估在CHAINE 變量中指定的有效負載:
CVE-2020-7390:用戶配置文件的“編輯”頁面上存儲的XSS 漏洞“Edit User”頁面中的“First name”、“Last name”和“Email”字段容易受到存儲的XSS序列的影響。示例XSS 字符串如下圖所示:
XSS 字符串在`mouseOver` Javascript 上執行的事件如下圖所示:
威脅影響結合CVE-2020-7387和CVE-2020-7388,攻擊者可以首先了解受影響軟件的安裝路徑,然後利用該信息將命令傳遞給在system上下文中運行的主機系統。這可以讓攻擊者運行任意操作系統命令來創建管理員級別的用戶,安裝惡意軟件,或者出於任何目的完全控制系統。
CVE-2020-7389 描述了一種顛覆Sage X3 開發環境的機制,並最終以“x3run”用戶身份運行操作系統命令。但是,此功能a) 僅限於Sage X3 的經過身份驗證的用戶,並且b) 不應在運行環境中公開。
最後,CVE-2020-7390 描述了一個持久的跨站點腳本漏洞,該漏洞只能由經過身份驗證的用戶觸發,並且需要用戶交互才能完成攻擊。但是,如果成功,此漏洞可能允許Sage X3 的普通用戶以當前登錄的管理員身份執行特權功能,或捕獲管理員會話cookie 以供以後冒充為當前登錄的管理員。請注意,與其他漏洞不同,此漏洞僅存在於Sage X3 的未修補版本12 實例中(而不是版本9 或版本10)。
供應商聲明Sage 非常重視其客戶解決方案的安全性,並定期對其產品進行主動測試,以識別潛在漏洞並提供修復。供應商非常感謝Rapid7, Sage 及其合作夥伴已針對該漏洞發布了修復程序,聯繫了所有適用的客戶並就後續流程向他們提供了安全建議。
緩解方案Sage X3 第9 版、第11 版和第12 版的最新本地版本解決了這些漏洞,並敦促Sage X3 的用戶儘早更新其Sage 基礎架構。如果無法立即應用更新,客戶應考慮採取以下補救措施:
1.對於CVE-2020-7388 和CVE-2020-7387,不要將任何運行Sage X3 的主機上的AdxDSrv.exe TCP 端口暴露給網絡或其他不受信任的網絡。作為進一步的預防措施,應在運行過程中完全停止adxadmin 服務。
2.對於CVE-2020-7389,一般來說,用戶不應將此webapp 接口暴露給網絡或其他不受信任的網絡。此外,Sage X3 的用戶應確保開發功能在運行環境中不可用。
3.如果由於業務關鍵功能而導致網絡分段無法執行,則只有對主機Sage X3進行系統管理的受信任的用戶才應該被授予登錄訪問web應用程序的權限。
Recommended Comments