Spark REST API深入分析區塊鏈
曲速區表示:這是首次在真實攻擊中發現使用“暗網”來傳播惡意后門的樣本,預計未來這一趨勢會逐步擴大。目前全網約5000臺Spark服務器受此漏洞影響。還被監控到該類型的攻擊還處于小范圍嘗試階段,需要謹防后續的規模性爆發。
曲速區表示:這是首次在真實攻擊中發現使用“暗網”來傳播惡意后門的樣本,預計未來這一趨勢會逐步擴大。目前全網約5000臺 Spark服務器受此漏洞影響。還被監控到該類型的攻擊還處于小范圍嘗試階段,需要謹防后續的規模性爆發。
說到這個之前,先來回顧一下7月7日首次捕獲的Spark REST API的未授權RCE漏洞攻擊事件。
一、背景情況
在5月5日的時候就曾針對攻擊者利用Hadoop Yarn資源管理系統REST API未授權漏洞對服務器進行攻擊,攻擊者可以在未授權的情況下遠程執行代碼的安全問題進行預警,在預警的前后曾多次捕獲相關的攻擊案例,其中就包含利用該問題進行挖礦,現在就針對其中一個案例進行分析并提供響應的安全建議和解決方案。
二、 漏洞說明
Hadoop是一個由Apache基金會所開發的分布式系統基礎架構,YARN是hadoop系統上的資源統一管理平臺,其主要作用是實現集群資源的統一管理和調度,可以把MapReduce計算框架作為一個應用程序運行在YARN系統之上,通過YARN來管理資源。簡單的說,用戶可以向YARN提交特定應用程序進行執行,其中就允許執行相關包含系統命令。
YARN提供有默認開放在8088和8090的REST API(默認前者)允許用戶直接通過API進行相關的應用創建、任務提交執行等操作,如果配置不當,REST API將會開放在公網導致未授權訪問的問題,那么任何黑客則就均可利用其進行遠程命令執行,從而進行挖礦等行為。
攻擊步驟:
1.申請新的application
返回內容類似于:
2.構造并提交任務
然后直接
curl -s -i -X POST -H ‘Accept: application/json’ -H ‘Content-Type:application/json’–data-binary @1.json
即可完成攻擊,命令被執行,在相應目錄下可以看到生成了對應文件
三、入侵分析
在本次分析的案例中,受害機器部署有Hadoop YARN,并且存在未授權訪問的安全問題,黑客直接利用開放在8088的REST API提交執行命令,來實現在服務器內下載執行.sh腳本,從而再進一步下載啟動挖礦程序達到挖礦的目的。
整個利用過程相對比較簡單,通過捕捉Hadoop 的launch_container.sh執行腳本,我們可以看到其中一個案例中相關任務執行的命令:
可以很明顯的看到第8行位置,從185.222.210.59下載并執行了一個名為x_wcr.sh的腳本。
我們現在來分析一下這次的Spark REST API未授權漏洞事件。
一、漏洞詳情說明
Apache Spark 是專為大規模數據處理而設計的快速通用的計算引擎,是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用并行框架。為了讓使用者能夠方便的控制系統進行計算和查看任務結果,Spark也提供了 WEB UI圖形化界面和相應的 REST API來方便用戶操作。
Spark作為大數據時代的“計算引擎”,一旦被攻破,企業的核心數據資產、計算能力、用戶敏感數據都將被攻擊者竊取;更進一步的,由于Spark自身的分布式特性,一個攻擊點的攻破可能導致整個集群的淪陷。Spark權限設置不當,可能導致攻擊者無需認證即可通過該 REST API來操作Spark創建任務、刪除任務、查看任務結果等,從而最終獲得執行任意指令的能力。
試著還原了一下攻擊者的攻擊步驟:
1.攻擊者通過web掃描的方式發現了一臺Spark webui服務
2.構造攻擊指令,并通過6066端口發送到該服務器的REST API
該攻擊payload指示服務器遠程下載一個.jar文件,并執行攻擊者指定的任意方法,該攻擊者還通過洋蔥網絡來隱藏自己的相關信息。
3.對該jar包進行逆向分析,該jar包即是一個簡單的執行命令的后門,執行jar包時,Spark服務器將會從洋蔥網絡中下載一段shell腳本并執行。
check該腳本如下:
該腳本只是簡單的將性能信息打印并回傳,暫未進行進一步的攻擊。
二、漏洞影響與變化態勢
目前全網監控,開放了8080端口暴露在公網的Spark機器共有5000臺左右,黑客可批量接管其中存在權限問題的機器。
上面回顧的那個RCE漏洞攻擊事件和這個漏洞,這兩個漏洞和利用方法是非常相似的。
隨著加密貨幣經濟的進一步繁榮,具有強大算力,但是較弱安全能力的分布式應用將面臨更多的漏洞利用和黑客攻擊。
由于Hadoop Yarn未授權漏洞在全網已經成為了黑客挖礦的一種重要手法,我們有理由相信Spark REST API漏洞也將很快被黑產利用。
曲速未來安全實驗室提醒:
1.建議通過iptables或者安全組配置訪問策略,限制對8088、8081、7707、6606等端口的訪問;并且如無必要,不要將接口開放在公網,改為本地或者內網調用;
2.建議使用Spark的yarn控制模式,并且開啟HTTP Kerberos對WEB UI進行訪問控制。
3.經常清理病毒,kill點異常的進程文件任務那些,一旦發現立即刪除處理。
4.通過iptables或者安全組配置訪問策略,限制對8088等端口的訪問;如無必要,不要將接口開放在公網,改為本地或者內網調用。
1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。