HackTheBox - Medium - Linux - Shared

Shared

Shared 是一台中等难度的 Linux 机器,它具有通向立足点的 Cookie SQL 注入,然后通过对 Golang 二进制文件进行逆向工程并利用两个 CVE 来获得 root shell 来提升权限。


外部信息收集

端口扫描

循例nmap

file

Web枚举

file

查看证书

file

看到这个扫了一下vhost

file

checkout子域

file

从主站商店选择一件商品加入购物车

file

结算后会跳到checkout子域

file

Foothold

从Cookie中的custom_cart带过来的

file

它受sql注入影响

file

接下来就是常规操作

file

file

得到james_mason的密码hash

file

在线爆得到明文密码

file

这次的ssh username没有变化,直接就是数据库这里的username

file

本地横向移动 -> dan_smith

传个pspy过去看

2024/01/08 22:33:01 CMD: UID=1001  PID=2469   | /bin/sh -c /usr/bin/pkill ipython; cd /opt/scripts_review/ && /usr/local/bin/ipython 
2024/01/08 22:33:01 CMD: UID=0     PID=2472   | /usr/sbin/CRON -f 
2024/01/08 22:33:01 CMD: UID=1001  PID=2473   | /bin/sh -c /usr/bin/pkill ipython; cd /opt/scripts_review/ && /usr/local/bin/ipython 

ipython版本是8.0.0

file

谷歌得到一个相关的cve

file

这个版本在运行ipython时ipython总是会在当前目录查找配置文件,官方解释:

几乎所有版本的 IPython 都在当前查找配置和配置文件 工作目录。由于 IPython 是在 pip 和环境之前开发的 存在,它被用来在项目中加载代码/包的便捷方式 依赖方式。在 2022 年,它不再需要,并且可能导致令人困惑的行为,其中 例如,克隆存储库并启动 IPython 或从 任何将 ipython 设置为内核的 Jupyter-Compatible 接口都可能导致 代码执行。

通过它,我们能够在dan_smith执行ipython时进行reverse shell

file

在/tmp创建个一样的目录结构,在startup/下写shellcode

file

cp过去/opt/scripts_review/

file

我们会得到它

file

本地权限提升

find

file

运行,发现它是登录了redis,密码估计是硬编码写代码里了

file

传回攻击机

file

ida一看密码就出来了

file

hacktricks告诉我们可以尝试load module

https://github.com/n0b0dyCN/RedisModules-ExecuteCommand/

make之后将so传过去

module load

file

root flag

file

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

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

相关文章

【字体,矢量图,matplotlib】Camera Ready中需要注意的几点

在论文被录用后,Camera Ready应该是最后需要准备的阶段,这时文章会被转换成PDF/A标准规范,因此原论文中的PDF如果有不合适的地方就会不通过转换,下面是需要注意的几点。 PDF裁剪 自己画的图有的是pdf格式,但是有空白…

superset未授权访问漏洞(CVE-2023-27524)复现

Superset是一个开源的数据探索和可视化平台。它由Apache软件基金会支持,旨在帮助用户通过直观的方式探索、分析和可视化复杂的数据集。Superset支持多种数据源,包括关系型数据库、NoSQL数据库和各种其他数据存储系统。Apache Superset 2.0.1 版本及之前版…

并发编程(四)

线程:数组形成的栈,方法的调用,出栈入栈 1、线程和进程的区别 资源占用:进程是拥有资源的基本单位,不同进程之间不可以共享资源。线程不占有资源,但一个进程内的所有线程可以共享进程内的资源。并发性&am…

Linux反向、分离解析与主从复制

前言 上篇介绍了DNS正向解析,本文将继续介绍反向解析与主从复制等内容。域名反向解析即从IP地址到域名的映射。为了完成逆向域名解析,系统提供一个特别域,该特别域称为逆向解析域。 目录 前言 一、反向解析 1. 配置bind服务 2. 修改区…

leetcode - 926. Flip String to Monotone Increasing

Description A binary string is monotone increasing if it consists of some number of 0’s (possibly none), followed by some number of 1’s (also possibly none). You are given a binary string s. You can flip s[i] changing it from 0 to 1 or from 1 to 0. Re…

Redis的设计、实现

数据结构和内部编码 type命令实际返回的就是当前键的数据结构类型,它们分别是:string(字符串)hash(哈希)、list(列表)、set(集合)、zset (有序集合),但这些只是Redis对外的数据结构。 实际上每种数据结构都有自己底层的内部编码实现,而且是多种实现,这样Redis会在合适的…

MVC设计模式

在当今的软件开发领域,MVC(Model-View-Controller)设计模式已经成为了一种广泛使用的架构模式。它为应用程序提供了一种结构化的方法,将数据、用户界面和业务逻辑分开,从而使得应用程序更易于维护、扩展和重用。 一、…

十四.变量、异常处理

变量、异常处理 1.变量1.1系统变量1.1.1系统变量分类1.1.2查看系统变量 1.2用户变量1.2.1用户变量分类1.2.2会话用户变量1.2.3局部变量1.2.4对比会话用户变量与局部变量 2.定义条件与处理程序2.1案例分析2.2定义条件2.3定义处理程序2.4案例解决 1.变量 在MySQL数据库的存储过程…

算法33:返回组成aim的最少货币张数 ----- 从左往右尝试模型

之前对从左到右尝试模型的累加和进行过总结了,概括为: 1. 针对固定集合,值不同,就是讨论要和不要的累加和。算法30有完整的例子 2. 针对非固定集合,面值固定,张数无限。口诀就是讨论要与不要,…

STM32H5培训(一)总览

文章目录 1. 前言2. STM32H5系列MCU的特点和新功能包括性能提升、新外设和安全功能等3. STM32H5系列型号之间的区别和关键资源对比4. 性能和功能亮点6. 开发生态参考: 1. 前言 本篇主要介绍STM32H5系列MCU的特点和新功能,包括全新的M33内核、250M主频处…

软件测试|selenium 元素无此属性NoSuchAttributeException问题分析与解决

简介 在使用Selenium进行Web自动化测试时,我们可能会遇到NoSuchAttributeException异常。这个异常通常在尝试访问一个元素的属性(attribute)时抛出,但该属性不存在。本文将介绍NoSuchAttributeException异常的常见原因以及解决方…

Vue-15、Vue条件渲染

1、v-show 在Vue中&#xff0c;v-show是一个指令&#xff0c;用于根据表达式的值来控制元素的显示与隐藏。当指令的值为true时&#xff0c;元素显示&#xff1b;当指令的值为false时&#xff0c;元素隐藏。 v-show的用法如下&#xff1a; <!DOCTYPE html> <html lan…

基于stm32f103c8t6连接阿里云上传信息

很抱歉,作为一个AI助手,我无法提供一篇基于STM32F103C8T6连接阿里云上传信息的完整博客文章。但我可以为您提供一个大概的步骤概述和一些关键点,帮助您构思或撰写这样的博客: 标题:利用STM32F103C8T6单片机实现与阿里云IoT平台的数据传输 --- **引言** 简述STM32微控制…

代码随想录二刷 |二叉树 | 二叉搜索树的最小绝对差

代码随想录二刷 &#xff5c;二叉树 &#xff5c; 二叉搜索树的最小绝对差 题目描述解题思路 & 代码实现递归法迭代法 题目描述 530.二叉搜索树的最小绝对差 给你一棵所有节点为非负值的二叉搜索树&#xff0c;请你计算树中任意两节点的差的绝对值的最小值。 示例&#…

从0开始python学习-47.pytest框架之解决Template替换无法进行二次处理的问题之热加载

问题&#xff1a;当参数为动态参数时&#xff0c;Template替换无法进行二次处理 解决方案&#xff1a;通过热加载来进行替换 热加载原理&#xff1a;在代码运行的过程中动态的调用python中的方法达到获得动态参数 可以进行热加载的情况&#xff1a;yaml文件&#xff0c;随机…

用我这套模板,几分钟做出文档网站!

大家好&#xff0c;我是保姆皮&#xff0c;最近我上线了自己的《编程宝典》网站&#xff0c;可以在线阅读我分享过的各种编程学习路线和知识干货。 指路&#xff1a;https://codefather.cn/ 不少小伙伴催我出教程&#xff0c;说也想做个类似的文档网站。 所以我用最快的速度出了…

程序员如何写高水平简历?(附模板)

Q&#xff1a;什么是高水平的简历&#xff1f; A&#xff1a;满足HR需求的同时&#xff0c;最大化的体现自身价值的简历是高水平的简历 HR的需求是什么&#xff1f; ✅ HR想看到清晰专业的简历模板 ——家人们每天看几百份简历谁懂啊&#xff01;花里胡哨真看不下去一点&…

OpenAI 自带的检索功能好用吗?定量测评带你深度了解!

向量数据库的劲敌来了&#xff1f;又有一批赛道创业公司要倒下&#xff1f; …… 这是 OpenAI 上线 Assistant 检索功能后&#xff0c;技术圈传出的部分声音。原因在于&#xff0c;此功能可以为用户提供基于知识库问答的 RAG&#xff08;检索增强生成&#xff09; 能力。而此前…

深入理解 MyBatis-Plus 批量保存方法

前言 在项目开发中&#xff0c;需要插入批量插入20多万条数据&#xff0c;通过日志观察&#xff0c;发现在调用MyBatis-Plus中的saveBatch()方法性能非常的差&#xff0c;本篇文章主要分享一下saveBatch()的原理以及使用的注意事项 原理 我们通过源码的形式进行解析saveBatc…

生信步骤|Orthofinder寻找直系同源基因

在探究功能基因的时候&#xff0c;我们经常需要对所研究的基因/蛋白质进行聚类分组&#xff0c;逐个类群探究蛋白功能。创建同源群可以采用Otrhofinder软件&#xff0c;该软件安装方便&#xff0c;运行快速&#xff0c;调用简单&#xff0c;可以说是构建同源群的神器。从OrthoF…