简介
掉进兔子洞,进入仙境。
房间链接
https://tryhackme.com/room/wonderland
问题
挑战开始
首先还是扫了下端口,只开放了22和80
访问网站
没什么发现,开始扫描目录
在访问/r/目录时得到了一些提示
它让继续前进,尝试爆破子目录
找到一个子目录
继续前进,爆破子目录
找到一个子目录
继续前进,爆破子目录
找到一个子目录
继续前进,爆破子目录
找到一个子目录
继续前进,爆破子目录
终于到头了
这里提示要找线索,查看源代码,找到了一个凭证
尝试ssh
成功登陆
这里发现没有权限查看root的flag,需要提权
查看特权命令
这里发现一个py文件
查看了下py文件,发现它调用了random库
定位了下位置
但是我们的权限无法改写
查看下环境变量,发现它是从当前目录开始搜索的
在路径下生成一个random.py文件
填入
import os
os.system("/bin/bash")
指定rabbit执行后用户切换成了rabbit
在rabbit目录下发现一个二进制suid文件
下载到本地反编译看看
本地使用ida打开,f5转化为伪代码
这里可以看到它调用的date函数
那么我们可以更改环境变量
cd /tmp
vim date
chmod 777 /tmp/date
export PATH=/tmp:$PATH
cd /home/rabbit
./teaParty
date文件中填入
#!/bin/sh
bash -i
运行后会切换到hatter用户,并在用户目录下找到了该用户的密码
ssh登陆hatter用户
继续提权
这里看到perl存在suid权限
可以使用capabilities提权
查看了下提权方法
/usr/bin/perl -e 'use POSIX qw(setuid); POSIX::setuid(0); exec "/bin/sh";'
成功提权,成功读取root flag
user flag
Comments NOTHING