1.信息收集使用工具nmap扫描主机端口这是Drupal是使用PHP语言编写的开源内容管理框架CMF它由内容管理系统CMS和PHP开发框架Framework共同构成Web指纹扫描发现是drupal[1]属于cms系统之一根据漏洞库https://www.exploit-db.com/返现是有漏洞CVE2.漏洞利用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的密码爆破的密码orangessh连接目标主机进入root目录。发现权限不够需要提权3.提权首先想到使用 suid 提权找到一个属于 root 的有s权限的文件SUID(Set User ID)SUID 可以让调用者以文件拥有者的身份运行该文件所以我们利用 SUID 提权的思路就是运行 root 用户所拥有的 SUID 的文件那么我们就可以运行该文件的时候就得获得 root 权限的身份了查找哪些命令具备 SUID 标识使用find命令进行提权利用 find 命令随便查找一个正确的文件夹路径后面加上 -exec shell 命令 \;提权 /bin/bash 或者 /bin/sh提权成功后拿到最后一个flag