Spark REST API深入分析

曲速区表示:这是首次在真实攻击中发现使用“暗网”来传播恶意后门的样本,预计未来这一趋势会逐步扩大。目前全网约5000台 Spark服务器受此漏洞影响。还被监控到该类型的攻击还处于小范围尝试阶段,需要谨防后续的规模性爆发。

说到这个之前,先来回顾一下7月7日首次捕获的Spark REST API的未授权RCE漏洞攻击事件。

一、背景情况

在5月5日的时候就曾针对攻击者利用Hadoop Yarn资源管理系统REST API未授权漏洞对服务器进行攻击,攻击者可以在未授权的情况下远程执行代码的安全问题进行预警,在预警的前后曾多次捕获相关的攻击案例,其中就包含利用该问题进行挖矿,现在就针对其中一个案例进行分析并提供响应的安全建议和解决方案。

二、 漏洞说明

Hadoop是一个由Apache基金会所开发的分布式系统基础架构,YARN是hadoop系统上的资源统一管理平台,其主要作用是实现集群资源的统一管理和调度,可以把MapReduce计算框架作为一个应用程序运行在YARN系统之上,通过YARN来管理资源。简单的说,用户可以向YARN提交特定应用程序进行执行,其中就允许执行相关包含系统命令。

YARN提供有默认开放在8088和8090的REST API(默认前者)允许用户直接通过API进行相关的应用创建、任务提交执行等操作,如果配置不当,REST API将会开放在公网导致未授权访问的问题,那么任何黑客则就均可利用其进行远程命令执行,从而进行挖矿等行为。

攻击步骤:

1.申请新的application

返回内容类似于:

《Spark REST API深入分析》

2.构造并提交任务

《Spark REST API深入分析》

然后直接

curl -s -i -X POST -H ‘Accept: application/json’ -H ‘Content-Type:application/json’–data-binary @1.json

即可完成攻击,命令被执行,在相应目录下可以看到生成了对应文件

《Spark REST API深入分析》

三、入侵分析

在本次分析的案例中,受害机器部署有Hadoop YARN,并且存在未授权访问的安全问题,黑客直接利用开放在8088的REST API提交执行命令,来实现在服务器内下载执行.sh脚本,从而再进一步下载启动挖矿程序达到挖矿的目的。

《Spark REST API深入分析》

整个利用过程相对比较简单,通过捕捉Hadoop 的launch_container.sh执行脚本,我们可以看到其中一个案例中相关任务执行的命令:

《Spark REST API深入分析》

可以很明显的看到第8行位置,从185.222.210.59下载并执行了一个名为x_wcr.sh的脚本。

我们现在来分析一下这次的Spark REST API未授权漏洞事件

一、漏洞详情说明

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用并行框架。为了让使用者能够方便的控制系统进行计算和查看任务结果,Spark也提供了 WEB UI图形化界面和相应的 REST API来方便用户操作。

Spark作为大数据时代的“计算引擎”,一旦被攻破,企业的核心数据资产、计算能力、用户敏感数据都将被攻击者窃取;更进一步的,由于Spark自身的分布式特性,一个攻击点的攻破可能导致整个集群的沦陷。Spark权限设置不当,可能导致攻击者无需认证即可通过该 REST API来操作Spark创建任务、删除任务、查看任务结果等,从而最终获得执行任意指令的能力。

试着还原了一下攻击者的攻击步骤:

1.攻击者通过web扫描的方式发现了一台Spark webui服务

2.构造攻击指令,并通过6066端口发送到该服务器的REST API

该攻击payload指示服务器远程下载一个.jar文件,并执行攻击者指定的任意方法,该攻击者还通过洋葱网络来隐藏自己的相关信息。

3.对该jar包进行逆向分析,该jar包即是一个简单的执行命令的后门,执行jar包时,Spark服务器将会从洋葱网络中下载一段shell脚本并执行。

《Spark REST API深入分析》

check该脚本如下:

《Spark REST API深入分析》

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

二、漏洞影响与变化态势

目前全网监控,开放了8080端口暴露在公网的Spark机器共有5000台左右,黑客可批量接管其中存在权限问题的机器。

上面回顾的那个RCE漏洞攻击事件和这个漏洞,这两个漏洞和利用方法是非常相似的。

随着加密货币经济的进一步繁荣,具有强大算力,但是较弱安全能力的分布式应用将面临更多的漏洞利用和黑客攻击。

由于Hadoop Yarn未授权漏洞在全网已经成为了黑客挖矿的一种重要手法,我们有理由相信Spark REST API漏洞也将很快被黑产利用。

曲速未来安全实验室提醒:

1.建议通过iptables或者安全组配置访问策略,限制对8088、8081、7707、6606等端口的访问;并且如无必要,不要将接口开放在公网,改为本地或者内网调用;

2.建议使用Spark的yarn控制模式,并且开启HTTP Kerberos对WEB UI进行访问控制。

3.经常清理病毒,kill点异常的进程文件任务那些,一旦发现立即删除处理。

4.通过iptables或者安全组配置访问策略,限制对8088等端口的访问;如无必要,不要将接口开放在公网,改为本地或者内网调用。

搜索助理微信号(pushbank),勾搭安全先知小编

带你进入区块链安全技术牛人聚集的社群,参与社区讨论,名额有限,赶紧上车~

    原文作者:曲速未来安全区
    原文地址: https://www.jianshu.com/p/d5a4d085d32f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞