Vulnhub-DC-1
1. 信息收集
使用工具nmap扫描主机端口

这是Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成

Web指纹扫描
发现是:drupal[1],属于cms系统之一
根据漏洞库https://www.exploit-db.com/
返现是有漏洞CVE




2. 漏洞利用
Msf是有漏洞的可以直接利用

搜索Drupal模块

配置参数payload、rhosts、lhost

查看目录结构

进入shell,执行python -c ‘import pty;pty.spawn(“/bin/bash”)’

根据上面flag1.txt的提示,在网站目录中寻找相应的配置文件(当然没有提示,也应该寻找看一下,毕竟是敏感文件)
发现flag2、数据库名、用户名、密码


flag2提示:“暴力和字典攻击不是获得访问权限的唯一方法(你将需要访问权限)。你能用这些证书做什么?”
使用获取的数据库用户名和密码登录数据库

发现该用户只能管理drupaldb数据库。进入数据库,查看库中的表

发现users表
表列数比较多,内容比较乱,可以使用select * from users\G;

可以查看name和pass列

利用工具hashid查看发现未知哈希值

搜索一下找到了scripts/password-hash.sh 查看文件内容,得知是php脚本,应该是生成一个hash密码,可以试一下使用该脚本生成一个弱密码,比如:123456 12345678 利用把数据库的密码覆盖


进到数据库下面进行密码覆盖

显示OK 可以登录了

翻译的结果:特殊的PERMS将有助于找到passwd-但您需要执行该命令以确定如何获取shadow中的内容

可以查看/etc/passwd文件

发现flag4这个用户
查看是否存在flag4.txt
发现是有的
查看flag4.txt 当然如果没有权限访问

可以利用hydra爆破ssh的密码,爆破的密码:orange
ssh连接目标主机
进入root目录。发现权限不够,需要提权

3. 提权
首先想到使用 suid 提权找到一个属于 root 的有s权限的文件
SUID(Set User ID),SUID 可以让调用者以文件拥有者的身份运行该文件,所以我们利用 SUID 提权的思路就是运行 root 用户所拥有的 SUID 的文件,那么我们就可以运行该文件的时候就得获得 root 权限的身份了

查找哪些命令具备 SUID 标识

使用find命令进行提权:
利用 find 命令随便查找一个正确的文件(夹)路径,后面加上 -exec shell 命令 \;
提权 /bin/bash 或者 /bin/sh


提权成功后,拿到最后一个flag
