0x01 前言

做完Archetype继续来做Oopsie

0x02 过程

Scan Port:

11

Getshell

开启burp suite浏览网站,发现后台:

1

2

使用Archetype实验获取到的密码MEGACORP_4dm1n!! 登陆成功:

3

上传功能要超级管理员才可以上传,使用Accout页面的功能枚举账号:

4

使用burpsuite的intruder功能进行爆破:

5

访问上传页面拦截并修改cookie的user参数:

6

成功显示上传界面:

7

编写kali自带的php-reverse-shell.php,文件在/usr/share/webshells/php,把信息修改成监听的机子:

8

监听端口,等待连接:

9

上传php文件:

10

但是找不到上传后的文件地址,使用kali自带的dirbuster对网站进行扫描:

12

找到uploads文件,尝试把上传的文件名放在uploads访问,已经反弹成功:

13

Privilege Escalation

读取web应用下的db.php文件获取到数据库连接信息:

14

登陆robert用户,因为还不是交互式的shell,可以使用命令SHELL=/bin/bash script -q /dev/null :

15

看到robert用户属于两个组,看下bugtracker有s权限,能使用root的权限执行:

17

输入id,可以看到它是使用cat读取root目录的文件信息:

19

我们可以使用改变当前目录的path值,当前用户执行bugtracker程序是会优先使用当前的path变量:

20

然后在tmp目录下写入一个cat,程序会先执行这个cat,cat的内容是/bin/bash,执行后会以root形式执行 /bin/bash /root/reports/

21

执行成功后:

23

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等命令查看文件内容