DC-1
- 环境搭建就不细述了,直接下载VM文件打开即可,注意设置好网络
- 下载链接下载
主机发现
- 使用arp-scan -l在局域网中查找存活主机
- 可以知道IP为192.168.24.133的主机为靶机
- 端口扫描
- 扫描结果显示打开了四个端口,首先看看80端口
- 是一个网站的登录界面,查看源码没有发现有用的信息
- 尝试目录扫描,扫描了很久也没什么收获,使用wappalyzer插件识别出这是drupal CMS
- 既然是已知常用的CMS,就可以查查有没有可以用的已知漏洞,在msf中查找漏洞利用模块
- 可以发现有好几个合适的漏洞利用模块,这里选择最新的,2018年的
use exploit/unix/webapp/drupal_drupalgeddon2
set rhosts 192.168.24.133
exploit
- 执行后成功拿到控制shell
- 查看权限是www权限,查看系统版本发现找不到提权脚本
- 这里尝试使用查找具有suid权限位的命令去get shell
- 发现find命令具有suid权限位,尝试使用find命令提权
find … exec “…” 查找文件后并执行命令
- 首先查看find命令的权限
touch getflag
find / -type f -name getflag -exec “whoami” ;
- 提权
find / -type f -name getflag -exec “/bin/sh” ;
- 可以成功提权提权成功后可以查看
/root/
下的flag文件
思路二
- 回头看flag1,提示我们查看配置文件,在web源码的/sites/default/目录下,可以看到settings.php文件,打开查看里面有数据库的账户信息
- 登录MySQL后查看数据库和表信息
- 数据库中有很多表,主要查看users表
- 看到user表中有两个用户,admin和Fred,既然已经进入数据库,可以尝试修改admin的密码
- 重置密码参考这篇文章重置密码
- 这里使用网站中自带的 password-hash.sh 加密
godess
- 进入MySQL中重置admin的密码
- 然后打开网站使用重置的密码成功登陆
- 浏览网站中发现flag3,flag3提示我们要使用find的
-exec
去提取shadow文件中的信息 - 之前已经完成了提权,那么去shadow文件中看看有什么有用的信息
- 发现一个flag4用户,已经拿到root权限,使用find命令全局查找flag4文件
- flag4提示
/root/
目录下也有flag,如果没有提权应该读取不了,但是现在已经完成了提权,
总结
- 猜测这个环境的正常流程如下
- 利用drupal的漏洞拿到
www-data
的shell,然后查看配置文件- 利用配置文件中的MySQL的用户名和密码登录MySQL,查看用户信息
- 利用drupal重置密码的漏洞重置admin用户的密码,登录后台
- 后台中发现flag3,提示利用find命令查看shadow文件,发现flag4
- 利用弱口令爆破flag4用户的密码,ssh成功登录后利用find命令读取
/root/
路径下的thefinalflag.txt
- 实际上的骚操作
- 利用drupal的漏洞拿到
www-data
的shell,提权得到/root/
权限,全局搜索flag文件?