CVE-2019-12181 Serv-U 15.1.6 Privilege Escalation漏洞复现

  • 2019 年 10 月 6 日
  • 筆記

0X1 漏洞概述

Serv-U是Windows平台和Linux平台的安全FTP服务器(FTPS,SFTP,HTTPS),是一个优秀的,安全的文件管理,文件传输和文件共享的解决方案。同时也是应用最广泛的FTP服务器软件。

在近日,有安全研究人员公布了一个该软件15.1.6版本的一个本地权限提升漏洞。在Linux上,ftp服务器是SUID可执行文件并以root身份运行 因此,即使只能在本地执行的攻击仍然是一种威胁,因为它会为攻击者提供root权限。

漏洞原因在于代码中传递给系统的命令是“ chmod u + s <some filename> ”,其中<some filename>设置为argv [0]!这是危险的,因为如果我们设法达到这个易受攻击的流程,我们可以使用exec *函数之一(前面讨论过)控制argv [0]并实现代码执行!此外,由于可执行文件是SUID,即使我们从exec *函数运行它,它也将以root身份运行,为任何攻击用户提供root权限。详情,请参考文章

https://blog.vastart.dev/2019/06/cve-2019-12181-serv-u-exploit-writeup.html

0X2 环境搭建

下载源码包,并在ubuntu16.04中安装

下载链接:https://hrtsea.com/224.html

在终端中直接安装,默认安装目录在/usr/local/Serv-U/中,启动环境之后,浏览器访问链接

http://ip:8080 即可访问Web管理界面。

0X3 漏洞利用

在exploit-db中下载exp脚本

https://www.exploit-db.com/exploits/47009

按照使用方法在本地编译该脚本并运行,可以看到会得到root权限

0X4 漏洞修复

升级到最新15.1.7版本