DarkHoleb靶机
靶机下载链接:DarkHoleb靶机
下载靶机后解压缩
双击DarkHole_1.ovf运行后vmware弹出导入虚拟机框,选择存储路径后点击导入后即可安装完成靶场虚拟机
安装完成后运行,到如下界面即可启动成功
进入虚拟机设置,将NAT改为桥接模式
在物理机上看一下ip地址
ipconfig
使用fscan扫描一下ip地址C端
fscan -h 192.168.31.6/24
发现有个ip的80端口的title为DarkHole
访问一下:
这里测试得到只对外开放了80和22端口


web端测试
有登录点,还可以注册
经过几个弱口令测试,没有发现弱口令,我们注册一个,然后登录
发现有改密码和更新信息的地方,我们改个密码,然后抓包
发现POST请求的有password和id,这里将id改一下,改成1,因为1可能是默认的用户,可能是admin
密码被更新成功,我们重新使用admin登录一下
发现成功用密码bbb登录进admin
Admin用户有个upload,我们随便上传一个文件,然后改成木马,因为是php的站,我们只测试php的文件上传,经测试,php后缀无法上传,这里改成phtml后成功上传,并且能够解析

蚁剑连接一下


Vshell上一下线
配置一下代理
带上代理扫一下内网
发现没什么东西
/var/www/html/config目录下面有网址数据库的配置文件


看一下端口情况:
ss -tulpn
连一下数据库


没东西
环境变量提权
发现只有upload目录下面有权限,其他目录都没有权限
进入home目录发现有两个用户,john用户下面有一些文件

有一个toto文件是可执行文件
下载下来逆向一下
64位

看一下主函数:

很简单,发现有个system执行id命令,我们运行一下toto和我们执行id对比
发现确实执行了id,并且uid还是john用户,也就是说如果利用好这个文件我们就可以提权到john用户,那么只需要小改一下id命令就行了
新建id文件,并给上权限
这里测试一下是否可行:
把ls命令写入id文件
将带有id文件的文件夹放入环境变量的最顶部,也就是说如果执行了id命令,会优先从我指定的文件夹找
这时候再执行id命令
发现是执行ls命令,那么toto运行结果呢
结果也是ls,那么测试成功
将 /bin/bash写入id文件
看一下环境变量
echo $PATH
发现我们指定的目录,也就是说有我们构造id的目录在最前面
执行toto
提权成功
此时我们查看user.txt文件,发现可以读取里面的内容
得到flag
看一下password文件
得到密码,我们尝试ssh连接一下
ssh 192.168.31.200 -l john
发现还真能登录成功
因为我们的权限现在是john不再是www-data,这里我们可以用vshell再上线一下
现在我们的权限就保持在john了
SUDO提权
sudo -l
发现我们可以用 sudo python3 /home/john/file.py 这个特定脚本获得 root 权限执行自动化任务
我们向file.py写入以下内容:
import os
os.system('/bin/bash')
执行:sudo python3 /home/john/file.py
发现成功提权到root用户
进入root目录
发现有root.txt读取一下
得到flag2
到此靶机渗透结束