一个霸道的bug——不经同意就控制你的桌面

背景

周二,远程支持软件公司TeamViewer发布热修复,解决能让用户在未获得权限的情况下,通过共享桌面控制他人计算机的bug。

 

已为Windows版本发布补丁

一名昵称为 “xpl0yt” 的Reddit用户在本周一首先公开了这个bug,并且贴出链接,指向GitHub用户“gellin” 创建的漏洞PoC。周一,TeamViewer证实该bug存在并在周二为Windows用户发布补丁。这个bug影响TeamViwer的Windows、macOS和Linux版本。

TeamViwer的高级公关经理表示将在周二晚些时候或周三为macOS和Linux版本推出补丁。审议过PoC的研究员TJ Nelson和ASERT研究团队表示,这种漏洞能让攻击者在未获得权限的前提下控制演示者或查看者的会话。

 

攻击者可控制用户鼠标

Nelson表示,作为演示者利用这个漏洞能让你打开一个“切换角色 (switch sides)”功能(通常需要客户端的批准)并且更改会话双方,从而控制查看者的计算机。如果作为查看者利用这个漏洞,那么不管演示者设置了什么状态或权限,都能控制演示者计算机的鼠标。

Gellin在一篇博客中指出,该漏洞存在的根因在于一个可被注入的C++ dll,它使用未覆盖的内联钩 (naked inline hooking) 和直接内存修改TeamViwer的权限。这样用户就能启用 “切换角色”功能,而这个功能在正常情况下只有在你跟客户端验证控制并且触发了对控制/角色 (controls/sides) 更改的情况下才是激活状态。他指出,这样不管服务器的当前控制设置和权限是什么,攻击者都能控制鼠标。Gellin还指出,这个bug要求用户首先进行验证,而且攻击者必须通过DLL注入器或某种代码映射器将PoC代码注入到自己的进程中,将代码注入进程后会按照程序设定修改启用可切换会话控制的GUI元素进程中的内存值。当你提出切换控制的请求后,它在给予授权前不会对服务器端做出额外检查。”如果攻击者确实获得对目标计算机的未授权控制,那么受害者能通过结束会话的方式检测并阻止攻击者。然而,Gellin指出在部署补丁之前,用户能轻易利用这个bug禁用主机的视觉输入并强迫目标计算机黑屏从而隐藏恶意活动。

如用户已配置TeamViewer接收自动更新,则会收到自动传输的补丁。未配置自动更新的用户需要三到七天收到更新通知。Schmidt表示,用户能通过客户端请求获得更新。

 

用户应尽快应用补丁

Nelson建议用户快速更新补丁,一般而言这类bug会在打上补丁前遭快速且大规模利用。对于开展恶意技术支持欺诈活动的攻击者来说,这个bug的诱惑力尤其大。攻击者无需诱骗受害者交出系统的控制权限或运行恶意软件,而只需利用这个bug就可获得权限。

(完)