0x00 靶机详情
靶机地址:https://www.vulnhub.com/entry/dc-1-1,292/
根据靶机描述,需要找到5个flag,且最终目标在root目录下
0x02 靶机练习
下载好靶机后使用VMware打开,暂时不知道靶机ip地址
nmap探测局域网存活主机
nmap -sP 192.168.217.0/24
信息收集
首先使用nmap进行端口扫描
nmap -A -T4 -p- 192.168.217.144
扫描出来开放的端口有22(ssh)、80(http)、111(rpcbind)
并且web服务使用的是Drupal 7的CMS
访问靶机主页
进行目录文件扫描,没有找到任何可利用的文件目录
网站的CMS是Drupal 7的版本,搜索一下这个CMS的漏洞
searchsploit Drupal
搜索到的漏洞还是挺多的,从中可以看到一个7.x版本的RCE漏洞
漏洞利用
使用Metarsploit利用,首先搜索一下利用模块
选择第四个模块,设置RHOSTS后直接exploit拿到shell
Flag1
进入shell后使用python拿到一枚sh,然后查看当前目录下的文件,找到flag1
python -c 'import pty;pty.spawn("/bin/sh")'
从flag1的内容来看,应该跟下一个flag有关,需要找CMS的配置文件
Flag2
寻找网站目录下的目录文件,在/sites/dafault/setting.php中找到flag2
同时,在flag2下面的信息显示暴力破解不是获得权限的唯一方式。你可以用这些凭据来做什么。
在这些信息下面,可以看到是有数据库的配置信息的,可以登录Mysql看看。
Flag3:
使用用户名:dbuser 密码:R0ck3t 进入Mysql
尝试查找用户名和密码,查询到两个用户名信息,但是密码经过加密
继续查询,看到一丝和flag3有关的线索
可以看到flag3的uid为1,需要管理员权限,那么还是需要管理员账号密码
经查找,Drupal对数据库的加密方法,加密脚本位置在网站根目录下的scripts下,可以生成一个密码来重置管理员密码
使用加密脚本生成密码
./scripts/password-hash.sh 123456
进入数据库使用新密码直接更新管理员密码
update drupaldb.users set pass="$S$DdmBhLlallvOCYljnFbI8Dwqf.qekhMHfK2P7b7QDjPU01oHWarP" where uid=1;
更新成功,使用admin/123456登录网站
登录后在Content中找到flag3
提示中需要寻找密码、需要-exec命令发现隐藏的部分
Flag4
在/home/flag目录下找到fag4
根据提示,可以用相同的办法得到最终的flag
TheFinalFlag:
最终flag在/root根目录,直接cd无法进入,权限不够需要提权
用suid提权
查找一下具有root权限的命令
find / -perm -u=s -type f 2>/dev/null
发现find有root权限,那么利用find提权
find ./123 -exec '/bin/sh' ;
成功获取到最终flag
0x03 总结
至此练习结束,练习的过程是很好的学习的过程
这次的靶机练习中,主要的点就是Drupal CMS的历史漏洞以及suid的提权,希望继续努力。