0x01 前言
做完Archetype继续来做Oopsie
0x02 过程
Scan Port:
Getshell
开启burp suite浏览网站,发现后台:
使用Archetype实验获取到的密码MEGACORP_4dm1n!! 登陆成功:
上传功能要超级管理员才可以上传,使用Accout页面的功能枚举账号:
使用burpsuite的intruder功能进行爆破:
访问上传页面拦截并修改cookie的user参数:
成功显示上传界面:
编写kali自带的php-reverse-shell.php,文件在/usr/share/webshells/php,把信息修改成监听的机子:
监听端口,等待连接:
上传php文件:
但是找不到上传后的文件地址,使用kali自带的dirbuster对网站进行扫描:
找到uploads文件,尝试把上传的文件名放在uploads访问,已经反弹成功:
Privilege Escalation
读取web应用下的db.php文件获取到数据库连接信息:
登陆robert用户,因为还不是交互式的shell,可以使用命令SHELL=/bin/bash script -q /dev/null
:
看到robert用户属于两个组,看下bugtracker有s权限,能使用root的权限执行:
输入id,可以看到它是使用cat读取root目录的文件信息:
我们可以使用改变当前目录的path值,当前用户执行bugtracker程序是会优先使用当前的path变量:
然后在tmp目录下写入一个cat,程序会先执行这个cat,cat的内容是/bin/bash
,执行后会以root形式执行 /bin/bash /root/reports/
:
执行成功后:
0x03 总结
1、还是要细心为主
2、关于文中为什么可以用bugtracker来提权为root,可以参考以下两个链接:
关于Linux下s、t、i、a权限:https://www.cnblogs.com/qlqwjy/p/8665871.html
LINUX s权限位提权:http://www.361way.com/suid-privilege/5965.html
3、过程有一个设置path的知识点
robert@oopsie:/$ export PATH=/tmp:$PATH
robert@oopsie:/$ cd /tmp
robert@oopsie:/tmp$ echo '/bin/bash' > cat
robert@oopsie:/tmp$ chmod +x cat
export PATH=/tmp:$PATH
export是设置环境变量,这条语句设置PATH的变量,/tmp:$PATH
的$PATH代表原本的PATH变量,把/tmp
加到这边变量的前面
4、提权到root发现cat用不了,因为我们已经改变了cat为/bin/bash
,可以使用more、xxd等命令查看文件内容
- 原文作者: F0rmat
- 原文链接: https://xxe.icu/oopsie.html
- 版权声明:本作品采用 署名 - 非商业性使用 4.0 国际 (CC BY-NC 4.0)进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。