天天看點

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

概述

近日,阿裡雲安全監測到Kinsing僵屍網絡變種,除了沿用之前攻擊手法,最新利用了Hadoop Yarn RPC未授權通路漏洞進行傳播。

Hadoop作為一個分布式計算應用架構,種類功能繁多,而Hadoop Yarn作為其核心元件之一,負責将資源配置設定至各個叢集中運作各種應用程式,并排程不同叢集節點上的任務執行。Hadoop Yarn RPC未授權通路使得攻擊者無需認證即可通過RPC通信執行惡意指令。Hadoop作為大資料計算基礎元件往往叢集化部署,一旦一台主機淪陷其整個叢集都将受到威脅,其對外暴露端口服務會造成極大威脅。阿裡雲安全持續對該BOT進行監控,發現近期傳播有所上升,提醒廣大使用者注意防護。

傳播手段

Kinsing僵屍網絡通過Hadoop Yarn RPC未授權通路和Hadoop Yarn Rest API未授權通路漏洞入侵和傳播,利用f.sh腳本下載下傳挖礦木馬kinsing并執行挖礦。

Hadoop Yarn作為Hadoop核心元件之一,負責将資源配置設定至各個叢集中運作各種應用程式,并排程不同叢集節點上的任務執行。其官網(

https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html

)介紹: ResourceManager 和 NodeManager 構成了資料計算架構。ResourceManager 是在系統中的所有應用程式之間仲裁資源的最終權威。NodeManager 是每台機器的架構代理,負責容器、監控其資源使用情況(cpu、記憶體、磁盤、網絡)并将其報告給ResourceManager/Scheduler。每個應用程式的 ApplicationMaster 實際上是一個特定于架構的庫,其任務是協商來自 ResourceManager 的資源并與NodeManager 一起執行和監視任務。

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

如上介紹的ResourceManager功能,一旦遠端指令執行代碼被送出便會在各個節點中運作,入侵和感染路徑如下圖所示。

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

ATT&CK階段分析

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

漏洞利用分析

Hadoop Yarn RPC未授權通路漏洞存在于Hadoop Yarn中負責資源管理和任務排程的ResourceManager,成因是該元件為使用者提供的RPC服務預設情況下無需認證即可通路,是以把RPC服務暴露在公網上是非常危險的。

RPC服務利用這一問題會影響到部分有安全意識的使用者。一部分使用者基于過去幾年中基于多種利用Hadoop的曆史蠕蟲已經意識到RESTful API的風險,通過配置開啟了基于HTTP的認證,或通過防火牆/安全組封禁了RESTful API對應的8088端口,但由于他們沒有意識到Hadoop同時提供RPC服務,并且通路控制機制開啟方式跟REST API不一樣,導緻使用者Hadoop叢集中RPC服務所在的8032端口仍然可以未授權通路。

由于自行配置kerberos服務較為複雜,且如果叢集已在運作需要重新開機叢集使配置生效,是以許多使用者會選擇通過防火牆/安全組,使RPC端口不暴露在網際網路的替代方案,具體漏洞解決方案可見安全建議。如圖所示是Kinsing僵屍網絡使用Hadoop Yarn RPC漏洞的Payload。

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

經測試可知,對于8032暴露在網際網路且未開啟kerberos的Hadoop Yarn ResourceManager,編寫應用程式調用yarnClient.getApplications()即可檢視所有應用資訊,驗證結果如下

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

Kinsing僵屍網絡同時使用了早前披露且影響面較廣的Hadoop Yarn Rest API未授權通路漏洞,Payload如下圖所示。

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

詳細分析

Kinsing僵屍網絡通過Hadoop Yarn RPC未授權通路漏洞入侵後會下載下傳Bash腳本進行安全終端解除安裝、關閉SELINUX、結束其他挖礦團夥程序、挖礦木馬下載下傳執行等操作,具體分析如下。

f.sh分析

Kinsing僵屍網絡入侵主機後會通過IP、端口結束外聯程序,例如常見443、23、3389等端口,争取更多的資源。

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

通過Docker指令發現主機内挖礦的程序和容器并結束,例如搜尋帶有xmr、mine、monero關鍵字的Docker程序。

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

最終通過遠端惡意下載下傳源進行挖礦木馬下載下傳并執行。

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

kinsing分析

kinsing(7d468dd3257af321562dea36af00de62)是xmrig挖礦木馬,入侵後存放在/var/tmp/檔案目錄下,啟動執行後通過指令進行删除。

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

安全建議

1)阿裡雲安全發現該漏洞後第一時間向Apache、Hadoop做了郵件溝通,并得到了官方認可和相關處理建議,郵件中提及存儲和計算節點在送出任務時最好通過Kerberos進行認證以保證其安全性。以下是郵件部分建議截圖

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

依據官方建議開啟Kerberos認證,配置後的Configuration如下

<property>
  <name>hadoop.security.authentication</name>
  <value>kerberos</value>
  <final>false</final>
  <source>core-site.xml</source>
</property>
...
<property>
  <name>hadoop.rpc.protection</name>
  <value>authentication</value>
  <final>false</final>
  <source>core-default.xml</source>
</property>      

開啟Kerberos認證之後,Client端無法在非授權情況下通路,會傳回SIMPLE authentication is not enabled異常,成功阻斷非授權情況下的任意指令執行問題。

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

2)雲防火牆利用大資料對網際網路上最新出現RCE進行實時監控,從RCE披露到響應時間整體小于3小時,能夠有效阻止客戶資産被RCE漏洞攻擊,其支援3-7層協定不僅滿足對Web網站的HTTP協定的防護,同時支援4層大量非Web服務的防禦。目前雲防火牆預設支援對Hadoop Yarn RPC遠端指令執行漏洞的防禦。

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

3)雲防火牆智能政策依據曆史流量自學習,提供符合客戶業務暴露面收斂的最佳實踐,通過“一鍵下發”或“自主選擇”可以實作資産的最大程度的網際網路暴露收斂,避免端口對外不當暴露風險,同時有效阻止“重保模式”下網絡空間測繪的掃描行為。

Hadoop Yarn RPC 0 Day在野利用分析與傳播手段披露

IOC

URL

http://114.214.169.174/kinsing http://114.214.169.174/f.sh

IP

114.214.169.174

md5

7d468dd3257af321562dea36af00de62

參考

該漏洞已經在阿裡雲應急響應公衆号中預警,歡迎各位安全愛好者關注

阿裡雲應急響應

阿裡雲安全應急響應中心為雲上客戶提供最精準風險預警通告,基于雲安全中心的威脅情報收集能力、分析能力、漏洞挖掘能力、應急響應處置能力為客戶上雲提供高效、精準,真實的漏洞威脅預警、重大安全事件預警。

  阿裡雲安全  

國際領先的雲安全解決方案提供方,保護全國 40% 的網站,每天抵禦 60 億次攻擊。

2020 年,國内唯一雲廠商整體安全能力獲國際三大機構(Gartner/Forrester/IDC)認可,以安全能力和市場佔有率的絕對優勢占據上司者地位。

阿裡雲最早提出并定義雲原生安全,持續為雲上使用者提供原生應用、資料、業務、網絡、計算的保護能力,和基礎設施深度融合推動安全服務化,支援彈性、動态、複雜的行業場景,獲得包括政府、金融、網際網路等各行業使用者認可。

作為亞太區最早布局機密計算、最全合規資質認證和使用者隐私保護的先行者,阿裡雲從硬體級安全可信根、硬體固件安全、系統可信鍊、可信執行環境和合規資質等方面落地可信計算環境,為使用者提供全球最高等級的安全可信雲。

繼續閱讀