Vulnhub 靶场 DARKHOLE: 1

前期准备:

靶机地址:https://www.vulnhub.com/entry/darkhole-1,724/

kali攻击机ip:192.168.11.129
靶机ip:192.168.11.204

一、信息收集

1.使用nmap对目标靶机进行扫描

image

发现开放了22和80端口。

2. 80端口:

image

查看页面没发现什么,扫一下目录:

image

挨个看一下:

/register.php 注册页面:

image

注册个用户。

/login.php 登录界面:

image

登录刚才注册的用户。

二、漏洞利用

image

发现连接是 /dashboard.php?id=2 ,在这里我尝试了注入,没有成功:

image

我的 id 是 2,那么应该有个账号是 id=1,尝试越权修改 id=1 的密码:

image

在此处修改密码,然后抓包:

image

把 id=1 改成 id=1 :

image

返回的 200 ,不知道成功没有,推测 id=1 的账户是 admin,登陆一下:

image

发现登陆成功,多了一个上传文件的地方,前面的目录扫描中我们也发现了 /upload 路径,尝试上传反弹 shell,用的 pentestmonkey shell,发现:

image

限制了上传文件的格式,那就改成 .phar 格式上传,(php4,php5试了也能上传):

image

上传成功,nc 监听并访问上传的文件:

image

连接成功,写入交互式 shell 后,可以升级一下 shell

三、提权

查看一下系统中的文件:

image

发现一个可疑文件 toto,是个二进制文件,运行一下:

image

发现是二进制文件是 id 的副本,它以用户 john 的身份执行,那可以创建一个具有相同名称的自定义二进制文件将目录导出到 PATH:

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

image

切到了 john 用户,查看系统文件:

image

可以查看之前发现的 password,应该是 john 的密码,查看下权限:

image

发现会以 root 身份执行 file.py,并且我们有权限对其进行更改,那就直接写入shell:

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

image

获得 root 权限,查看 flag:

image

posted @ 2021-12-20 10:05  sainet  阅读(759)  评论(0编辑  收藏  举报