信息收集
使用自动化工具扫描出靶机的IP地址

得到靶机IP为192.168.31.54
,开放的端口有22,80,111
访问靶机开启的Web页面

发现是Drupal
框架,搜索得知该框架是一个CMS,使用MSF
搜索是否有相关漏洞披露
发现这个框架爆出的漏洞还挺多的

先试试第一个RCE漏洞能否成功
设置好参数

但是利用失败了

尝试其他exploit
,这次尝试第二个
设置好参数后运行成功RCE

在/var/www
目录下发现第一个flag


flag1
内容翻译过来就是每个好的CMS需要一个配置文件
由于已经实现RCE,于是直接去尝试查找该CMS的配置文件

在靶机的/var/www/sites/default/settings.php
文件中找到第二个flag
flag2
内容翻译过来就是暴力攻击和字典攻击并不是获得访问权限的唯一方法(并且您将需要访问权限)您可以使用这些凭据做什么?

在该配置文件下面还发现了数据库的相关信息如图所示
根据flag2
提示,接下来思路就是登录该CMS的系统,且非暴力破解与字典攻击
Drupal数据库中存储的密码散列由自带的password-hash.sh生成,进入脚本目录/var/www/
使用php ./scripts/password-hash.sh admin
生成密码为admin的散列,为了方便使用shell,在此之前需要生成DC-1的交互shell:
meterpreter > shell
python -c "import pty;pty.spawn('/bin/bash')"
生成密码散列值

通过之前获取到的数据库账号dbuser
密码R0ck3t
进入数据库,通过查询得知用户的信息存储在drupaldb数据库里的users表中,密码的字段为pass:

将admin
账户的密码哈希更新为前面生成的密码散列值$S$DClvPwX/FZOUbUlajzCnNtcb/JW/iJUPIY/1AqUuorjlQCA1CX2Y
成功登录系统
在未公布的文章中发现第三个flag

flag3
翻译过来的意思是特殊的 PERMS 将有助于找到密码 - 但您需要执行该命令来解决如何获取影子中的内容。
于是使用find
命令查找flag文件
find / -name "flag*"

在home目录下发现第四个flag

flag4
的提示是您可以使用相同的方法在根目录中查找或访问标志吗?可能。但也许没那么容易。或者也许很容易?
猜测是需要进行提权,因为当前账户的权限太低,无法访问高权限文件,所以说没那么容易
这时候尝试SUID
提权
搜索拥有SUID
权限的文件

发现find
也具有SUID权限,尝试find
提权

成功提权,查找最后的flag

在root目录下找到最后一个flag