rce訪問
❶ YARN 遠程代碼執行(RCE)安全漏洞問題分析與解決方案
某客戶使用Tenable.sc掃描安全漏洞後反饋,YARN 存在Remote code execution (RCE) 安全漏洞問題,攻擊者可在未經過身份驗證的情況下通過該漏洞在受影響主機執行任意命令,最終控制伺服器。問題現象如下圖所示:
在未開啟kerberos安全認證的集群中(core-site.xml中hadoop.security.authentication=simple):
在開啟了kerberos安全認證的集群中(core-site.xml中hadoop.security.authentication=kerberos):
在開啟了kerberos安全認證且啟用了 HTTP Web 控制台的 Kerberos 身份驗證的集群(core-site.xml中hadoop.security.authentication=Kerberos,且hadoop.http.authentication.type=kerberos):
問題分析與復現:未開啟kerberos安全認證,攻擊者可繞過身份驗證執行任意命令。開啟kerberos安全認證後,攻擊者仍可執行命令,但需有相應的許可權。在啟用了HTTP Web 控制台的 Kerberos 身份驗證的集群中,攻擊者需通過認證並擁有相應許可權才能執行命令。
問題解決:確保YARN集群開啟kerberos安全認證,防止未授權執行命令。對於已存在或新部署的集群,應更新core-site.xml配置文件,將hadoop.security.authentication設置為kerberos。同時,為Web控制台啟用Kerberos身份驗證,確保用戶通過認證後才能訪問控制台,增加安全性。
技術背景:YARN(Yet Another Resource Negotiator)是Hadoop 2.x及以上版本中用於資源管理和分配的組件。RCE漏洞允許攻擊者在未授權的情況下執行任意命令,嚴重威脅系統安全。kerberos安全認證是通過密鑰分發中心(KDC)提供身份驗證服務,確保通信雙方的身份並加密數據傳輸,有效防止中間人攻擊。
相關命令與參數:配置kerberos安全認證時,涉及的主要命令與參數包括但不限於更新核心配置文件(core-site.xml)中的認證方式、啟用Kerberos身份驗證的HTTP Web控制台等。具體配置步驟和參數依賴於實際環境和系統需求,建議參考Hadoop官方文檔或相關技術指南進行操作。
❷ 【新】致遠OA從前台XXE到RCE漏洞分析
深入剖析致遠OA新發現的XXE與RCE漏洞揭秘
致遠OA系統近期曝出重大安全漏洞,影響版本A8、A8+及A6,主要源於接收xmlValue參數時,getNodes方法的處理存在XXE漏洞,可能導致SSRF攻擊(如圖2.1所示)。盡管XXE本身無法直接執行系統命令,但結合SSRF和agent.jar的60001埠(圖3.1)中的testDBConnect方法,通過自定義driverClass和dbUrl,可實現RCE(如圖3.4所示)。然而,直接嘗試會觸發「非法訪問」錯誤(圖3.5),但通過巧妙利用SecurityInterceptor的preHandle方法,我們可以繞過這個限制(圖3.6)。
安全探索的路徑
研究的目的在於揭示漏洞機制,而非用於非法操作。漏洞修復工作已進行,讓我們一起深入剖析其內部邏輯:
- 驗證流程:isChecktoken方法首先驗證ad參數,使用com.seeyon.agent.common.getway.getToken進行寫入,如圖3.11所示。
- Token生成與管理:TokenUtils.getToken生成並存儲token,涉及AES解密與簽名驗證,關鍵在於AES解密硬編碼(圖3.12)和簽名演算法採用sha1(圖3.13)。
- 參數獲取途徑:
- username:默認為seeyon
- pwd:通過任意用戶密碼重置介面(圖3.13),獲取用戶密碼
- versions:通過getVersion方法獲取目標系統版本(圖3.14),了解系統狀態
- 漏洞利用步驟:首先,上傳文件並調整請求地址,接著生成並執行POC(圖4.1),如置密碼POC(圖4.2)所示。
- 示例請求:修改xmlValue值,通過SSRF重定向,如POST請求 /seeyon/m-signature/RunSignature/run/getAjaxDataServlet?S=ajaxEdocSummaryManager&M=deleteUpdateObj HTTP/1.1,區分RCE與XXE(如圖4.3)。
深入利用階段
- 125.xml地址指向VPS,然後生成獲取系統版本的POC(圖4.4)
- 通過SSRF獲取版本信息,如圖4.5所示
- 獲取param值,生成相應的POC(圖4.6),然後替換126.xml內容(圖4.7)
- 生成獲取token的POC(圖4.8),利用此信息進行授權
- 發送請求獲取token,執行後續操作(圖4.9)
實施RCE條件
要成功利用此漏洞,目標伺服器必須具備網路訪問能力,並且致遠OA的60001埠需要開啟。部分系統可能因更新維護而處於離線狀態,1/3的致遠OA實例可能會開放特定埠。
安全提示與責任聲明
本文旨在提供技術分析,非用於非法攻擊目的。漏洞已向相關方報告,我們鼓勵技術交流以共同提升系統安全。如發現遺漏或需要進一步澄清,請不吝指正。