探索黑客技术攻防,实战研究与安全创新

导航菜单

渗透提权别忘了WingFTPServer

“提权”这个事情一直是渗透测试中的重点关注对象,从原理上进行区分的话,“提权”工作主要借助于操作系统本身的安全漏洞和第三方软件的安全漏洞,这其中第三方软件常常涉及到杀毒、防火墙、输入法、服务器类软件。谈到服务器类软件,在以往曝光的安全漏洞中,Serv-U的提权漏洞可谓人人皆知,不知道多少服务器都是被这个提权漏洞沦陷的。

Serv-U是一款FTP服务软件,同样我们今天接触到的这款名为“WingFTPServer”的软件也是一款FTP服务软件。“WingFTPServer”在国内的名气也许并不高,但是在国外的服务器上会经常遇见,它支持多种模式下的FTP服务:传统的21端口FTP服务、80端口的Web式FTP服务,还有FTPES、FTPS、HTTPS、SSH等。如此丰富的功能,当然深受用户的喜爱。“WingFTPServer”的安装十分简单,安装完后提供了Web式的管理界面,如图1所示。

A5.png

初次登陆“WingFTPServer”的管理界面,它会要求你设置Domain(域)、为新域建立FTP用户、设置用户访问目录。简单的设置完成后,你就可以使用了。这里我们新建了一个名为“test”的域,新建了一个名为“test”密码为“123456”的用户。

在安装“WingFTPServer”过程中,我想起来它默认是将自己注册为一个系统服务,也就是说“WingFTPServer”进程具有SYSTEM权限。为什么想到这个?因为我在一次渗透测试中需要进行提权,而可参考的信息中只有“WingFTPServer”的管理员密码账号。这就使得我不得不思考,能不能借助“WingFTPServer”进行一下提权。

遍历了一下“WingFTPServer”管理界面中的所有功能,我们的目光集中到了一个名为“事件管理器”的功能上,如图2所示。

A6.png

图2

从图2中我们看到在“事件”一栏中有很多以“On”开头的函数名,这使得我们想到网页开发中的触发函数,也就是当某种动作发生时,就会执行某个“On”函数。以此类推,“OnUserLoggedIn”函数就是当用户成功登陆系统后所要执行的函数,那么它可以执行哪些具体动作呢?

A7.png

双击“OnUserLoggedIn”会出现图3的界面,在这个界面中我们发现“WingFTPServer”事件处理函数允许我们干很多事情,例如执行程序、写入日志、发送邮件、执行Lua脚本。

如此丰富的功能,其目的就是为了方便FTP管理人员,假设某个用户发送了邮件,借助事件处理函数,可以设定一个“发送邮件”,提醒管理员某个用户的邮件成功发送了。这是人性化软件设计的体现,但是这也意味着安全漏洞的发生。既然“WingFTPServer”事件处理函数允许我们在事件发生后执行程序,而“WingFTPServer”的进程又是以SYSTEM权限运

行,那不就可以直接借此机会提权了吗?废话不多,直接测试效果看看。这里设定用户成功登陆系统后,借助“OnUserLoggedIn”函数执行系统中的记事本程序即“NOTEPAD.EXE”。现在利用一个已知的FTP用户登陆系统,我们远程查看服务器上进程会发现令人惊喜的事情,如图4所示。

A8.png

是不是很酷!“NOTEPAD.EXE”进程不但被成功执行,而且就是“SYSTEM”权限,提权成在兴奋的同时,我还想告诉大家的是,“WingFTPServer”支持一种叫做“Lua”的脚功!

本语言,这是作者设计的一种脚本化语言,利用它可以干很多事情,例如执行命令、写入程序或者远程下载等等,这下我想渗透测试工作会丰富了

本文为网络安全技术研究记录,文中技术研究环境为本地搭建或经过目标主体授权测试研究,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,在挖掘、提交相关漏洞的过程中,应严格遵守相关法律法规。

相关推荐