zoukankan      html  css  js  c++  java
  • 内网渗透——Hadoop未授权访问getshell

    0X01:Hadoop介绍:

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    0X02:漏洞介绍:

    Hadoop允许任意用户访问管理接口。

    0X03:利用工具:

    Netcat

    EXP

    0X04:攻击过程:

    访问URL:http://10.63.254.99:8008/cluster出现hadoop未授权访问页面。

    构造post请求,从返回信息中可以看出,存在此漏洞。

     

    修改exp设置目标URL,设置本地IP,准备反弹shell。

    调用 New Application API 创建 Application

    调用 Submit Application API 提交

     使用nc本地监听8888端口,等待反弹shell。

     

    运行修改exp,开始反弹。

    成功获取服务器权限,并且权限为root。

    可执行任意系统命令。

    0X05:修复建议:

    1. 配置Service Level Authorization

    修改

    coresite.xml

    <property>

    <name>hadoop.security.authorization</name> 

    <value>true</value>  

    </property>  

    hadoop.security.authorization=true则开启ServiceLevel Authorization,若为false则不经过任何验证,所有用户拥有全部权限。(修改此配置需要重启hadoop)每个可配置多个用户,用户之间用“,”分割;可配置多个用户组,分组之间用“,”分割,用户和分组之间用空格分割,如果只有分组,前面保留一个空格,如:

    <property>  

    <name>security.job.submission.protocol.acl</name>  

    <value>alice,bobgroup1,group2</value>  

    </property>  

    默认情况下,属性不对任何用户和分组开放。

    该配置文件可使用以下命令动态加载:

    (1)更新namenode相关属性:bin/hadoop dfsadmin –refreshServiceAcl

    (2)更新jobtracker相关属性:bin/hadoopmradmin –refreshServiceAcl

  • 相关阅读:
    centos7 svn服务器的搭建
    fastdfs远程服务器java连接失败的问题
    Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能
    数据库访问辅助类SqlHelper
    实现基本的Ajax和Json请求
    在Asp.Net MVC中使用Repeater控件
    Asp.Net MVC向视图View传值的三种方法
    C#实现加简单的Http请求
    Http协议学习小结
    iOS开发之layoutSubviews
  • 原文地址:https://www.cnblogs.com/cowherd/p/13539512.html
Copyright © 2011-2022 走看看