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
