# 前言
继续这个系列的第三篇,这次不废话了。主要是不知道说什么了,上一篇在 rbash 逃逸卡的时间稍微有点久没能在我预期时间内做完稍微有点难受。
# 环境
地址:DC: 3.2 ~ VulnHub
使用 VMware 搭建环境(这个参考这个系列的第一篇即可 DC-1 - Vulnhub | Clown の Blog = (xcu.icu),环境搭建都一样,这里我还是将网络模式改为了 nat)
这里有两点值得注意的地方我还是写一下
# VMware Workstation 不可恢复错误:(vmui)
同样也是在搭建 DC-3 的时候遇到的,这里实际上是硬件兼容性的问题,右键有问题的虚拟机,然后点击管理,点击更改硬件兼容性
然后直接点击下一步
将硬件兼容性改为 16 即可
选择更改此虚拟机
加载完成就可以了
# IDE 设备 (磁盘 / CD-ROM) 配置不正确
解决方法也很简单,根据报错提示改一下就可以了点 “虚拟机”->“设置”-> 选择 “磁盘 / 光驱 IDE 设备 " -> 点 ” 高级 “
将这里改为 IDE 0::0 就可以了
# 打靶流程
首先需要做的还是主机存活探测
这里可以看到这里实际上就一个开放的端口,那么这里也不需要去考虑什么了,这里就直接去访问这个 ip 就可以了
这里上来就是一个登录页面,接下来的思路就很简单了,指纹探测,目录扫描等等,这里使用 whatweb 或者直接使用 nmap 来做一个指纹扫描
个人还是比较喜欢使用 whatweb,可能是比较习惯。这里可以看到目标网站上是一个 Joomla!的 cmd,这里可以去网上找一下相关的漏洞,在去找 cms 相关漏洞的时候可以去对目录进行一个扫描,来节约一些时间
也是在网上找到了这样一篇文章记录的比较清晰 Joomla 常见漏洞复现 - Arrest - 博客园 (cnblogs.com)
这里可以看到,这个 sql 注入就已经成功了,证明了这个漏洞是存在的,这里直接使用 sqlmap 来拿数据
sqlmap -u "http://192.168.246.147/index.php?option=com_fields&view=fields&layout=modal&list%5Bfullordering%5D=*" --dbs |
sqlmap -u "http://192.168.246.147/index.php?option=com_fields&view=fields&layout=modal&list%5Bfullordering%5D=*" -D joomladb --tables |
这里的表很多,但是因为我们是需要登录,所以很显然值得我们注意的就只有这个 users 表,但是这里很烦的是这个 users 表是表名前有一个 #。这个在 sql 语句中是注释符号,所以这里需要给其加上引号。这里也不在浪费篇幅了直接拿到用户名和密码
sqlmap -u "http://192.168.246.147/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" -D joomladb -T "#__users" -C name,username,password --dump |
很显然密码是被加密过的,这里使用 john 来解密,将密文复制下来然后写到一个文件中
这里就得到了密码 snoopy,将这个密码在 web 页面尝试登录
很成功的登录上来了,但是经过一些测试这个页面是没有什么作用的,这里就需要将其目光放回到上面扫描的目录上,有 administrator 这样一个路由
这样是一个管理员的登录页面,然后这里也尝试使用上面的账号登录
也是很成功的登录上来了,然后再去找相对应的漏洞【漏洞复现 CVE-2021-23132】Joomla 远程代码执行漏洞 - StarCi - 博客园 (cnblogs.com),当前比这个文章中复现的还要简单,就已经是管理员权限了,直接去更改 php 文件
在这个 error.php 文件中加上 phpinfo (); 尝试一下,然后访问 http://192.168.246.147/templates/beez3/error.php
可以看到,这里就已经成功执行了。写入 system 来反弹一个 shell
然后起一个监听即可
这里已经突破边界了拿到了一个普通权限的 shell,接下来需要做的就是提权
尝试 sudo -l 发现这里需要密码,然后查询了一下内核版本
这里版本很低,去检索了一下对应的漏洞
这里利用这个 linux/local/39772.txt 这个路径的脚本
这里直接 wget 这个地址(需要科学上网)
这里将这个文件下载下来后解压
这里再解压这个 exploit.tar 文件
然后进入解压后的目录,进入到这个目录中运行./compile.sh 编译一下,然后执行./doubleput