实验环境:
Vmware
kali,ip:192.168.224.129
DC-1靶机,ip:192.168.224.130
实验步骤
1.先看一下靶机与kali的配置,两者均采用net模式
靶机的mac地址为00:0C:29:6B:6A:03
2.打开kali与DC-1靶机
3.使用ifconfig查看kali的ip为192.168.224.129
4.nmap探路,查看靶机IP得到192.168.224.130
5.nmap查看其他相关靶机其余信息,发现开放22和80
6.访问80端口web页面,通过插件看到CMS是Drupal 7。
继续查看robots.txt,看看是否有利用的信息
并没有得到有用的信息,只是找到了几个没啥用的页面
7.利用msf寻找一下是否有可用的漏洞
msfconsole -q
这里使用的是第4个Drupalgeddon2漏洞。Drupal系统没有对表单API接口的AJAX请求输入进行充分的检查,这就使得攻击者能够向内部表单结构中注入一个恶意的载荷,将导致Drupal系统在未进行用户认证的情况下执行这个载荷。通过利用这个漏洞,一个攻击者能够接管任何Drupal系统用户的整个站点。
8.设置靶机的IP就可以执行exploit。
set rhosts 192.168.224.130
9.反弹一个交互式的shell
我们可以看到自己当前的权限以及所在路径,我们ls查看一下其他文件。
我们利用顺利拿到第一个flag,利用cat flag1.txt查看flag1.txt内容,接下来用more查看不至于落掉重要信息
10.我们顺利拿到了数据库的一些关键信息(数据库名、登录名、密码),那我们顺着线索继续登录数据库。
继续查看数据库信息,寻找关键线索flag3
11.到此,我们看到了flag3到底在哪里了(uid为1的用户是不受Drupal权限管制的,具有最高权限),我们可以添加一个管理员权限的用户,这里需要我们查看一下靶机的版本,然后看一下有没有适用的脚本去添加用户,首先我们查看一下靶机版本:
cat includes/bootstrap.inc | grep VERSION
得到版本号为7.24,继续搜索Druapl可利用的脚本。
searchsploit Drupal
此时发现只要小于7.31即可利用
13.使用user, 123456 尝试登录,成功登录,同样查看flag3信息。
14.到此,我们成功得到了flag3的信息,那我们就按照线索提示寻找这个密码。
很明显flag4在/home/flag4目录下
15.顺利得到flag4,同时根据提示去找到最终flag.
根据提示,想到suid提权,find / -perm -4000
发现find命令本身就是root权限,查看一下
16.利用find提权,获得最终flag
find ./ aaa -exec ‘/bin/sh’ ;
至此,就找到了所有的flag了。