HackTheBox - Oopsie

信息收集 逻辑漏洞 文件上传漏洞 反弹shell 横向移动 suid

一、信息收集

环境部署好后先用nmap对靶机ip进行扫描
nmap -sC -sV -v 10.129.55.115

可以看到目标靶机开放了22和80端口,分别对应ssh和http服务。
既然开启了http,那就去看看网站

既然是个网站,那就先用gobuster遍历一下目录,用kali自带的字典即可


可以看到存在一个/uploads路径,那么可能存在文件上传的漏洞

二、越权

再尝试点击网站上的按钮发现都没反应,看了一下源码,发现一个可能可以利用的js

尝试访问一下,发现访问不了,去掉后面的script.js再访问,进入到一个登录界面

尝试万能密码登录,失败,但是发现可以以游客身份登录,进去看看
登录进来后看了下账户信息好像没什么用处,但是注意到有个uploads模块

发现需要admin权限才能上传,这时候就可以看下页面的cookie,因为很可能可以通过修改cookie来对用户权限做文章

这时候就发现页面不仅对role有验证,还对user的id有验证,所以必须还要得到admin的Access ID
如何得到admin的ID呢?这时候会发现url上有可以利用的地方
http://10.129.55.115/cdn-cgi/login/admin.php?content=accounts&id=2
guest的id是2,那id=1的时候很可能就是admin,修改id=1

这样,通过水平越权这个逻辑漏洞,我们就得到了admin的Access ID
既然得到了id,继续更改存储的cookie

再次访问uploads,发现可以上传了

三、Getshell

因为一开始不知道这个网站对文件上传是否有过滤,那就先传个php文件看看情况
kali本身自带了一些webshell,位于/usr/share/webshells目录,php目录下有个php-reverse-shell.php,可以利用它来进行反弹shell

把文件复制出来,改名为shell.php,把ip地址改成自己的vpn地址,端口改成4444

同时监听4444端口

上传shell.php

上传成功,这时就用上了之前gobuster扫描的结果了,去扫到的/uploads目录下访问shell.php,成功getshell

四、横向移动

cat /etc/passwd看看靶机上有哪些用户,发现robert用户

信息收集时我们知道靶机用的是apache的服务,那就再去/var/www/html下看看有什么文件

可以发现在…/cdn-cgi/login/目录下有一个admin.php,db.php以及index.php
查看这三个文件,在index.php中发现一个password为MEGACORP_4dm1n!!

同时在db.php中发现robert的密码

为了更好地执行shell,我们这时先进入到伪终端,用python的pty模块即可

然后切换到robert用户

切换到robert的用户目录下,看看有什么有用信息

发现一个user.txt,答题的时候会用到

五、提权

先看下用户的id,发现robert属于bugtracker这个组

用find看下bugtracker这个组的用户能执行哪些文件

发现存在一个/usr/bin/bugtracker文件,再看下这个文件有哪些权限

发现这个文件有s权限即suid权限,所有者为root,suid简单来说就是任何用户执行具有suid权限的文件时都会以它拥有者的权限执行
我们先执行一下这个文件

这时候就发现这个文件实际上是用cat命令抓取/root/reports/目录下的指定文件
我们需要注意的是,它这里是直接调用的cat,所以很依赖环境变量,直接调用cat只会抓取环境变量中的路径下的文件
所以我们可以在环境变量中注入一个自定义的路径,替代掉这个文件真正想要调用的cat
进入tmp目录下,创建一个会调用bash的cat文件,然后给文件一个执行权限

使用export PATH=/tmp:$PATH命令把/tmp加入到环境变量中,再查看一下,发现/tmp已经添加到环境变量中了

这时候我们再执行bugtracker文件时,系统就会先去/tmp目录下找到我们写的cat并以root权限执行我们写的/bin/bash

提权成功
注:在用cat抓root.txt的时候记得先删除/tmp下我们自己写的cat,不然会调用那个cat

六、答题

With what kind of tool can intercept web traffic?
proxy

What is the path to the directory on the webserver that returns a login page?
/cdn-cgi/login

What can be modified in Firefox to get access to the upload page?
cookie

What is the access ID of the admin user?
34322

On uploading a file, what directory does that file appear in on the server?
/uploads

What is the file that contains the password that is shared with the robert user?
db.php

What executible is run with the option “-group bugtracker” to identify all files owned by the bugtracker group?
find

Regardless of which user starts running the bugtracker executable, what’s user privileges will use to run?
root

What SUID stands for?
Set Owner User ID

What is the name of the executable being called in an insecure manner?
cat

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值