研究人员披露Avast和McAfee等杀软中的8个0-day漏洞 – 作者:偶然路过的围观群众

网名为“halov”的安全研究人员12月26日发表了一篇博客文章,公开了Avast和McAfee等杀毒软件中的8个0-day漏洞。该名研究人员表示,这些0-day漏洞均未向厂商报告,厂商可能会发布紧急补丁,修复漏洞,所以这些漏洞大概能存活一两周的时间。

  1. Avast杀毒软件沙箱逃逸和提权漏洞

Avast杀毒软件(任何付费版本)存在一个沙箱逃逸漏洞。研究人员表示,Avast杀软中有一个叫做Avast sandbox的功能,该功能允许用户在沙箱内测试可疑文件。Avast sandbox创建了一个虚拟化的文件流,且注册表hive文件几乎和真实文件完全一样,同时它还强制沙箱化的app,通过hook每一个WINAPI调用,使用该虚拟化流,然而任何不完整的hook都会导致沙箱逃逸。该虚拟化流存在于“C:\avast! sandbox”中。

1609233696_5feaf520dc223aa86a725.png!small

该研究人员表示已将该漏洞报告给厂商,但目前未得到回复。

此外,Avast杀毒软件还受到一个提权漏洞的影响。该提权漏洞涉及Avast的REPAIR APP功能。

1609233712_5feaf5309e40174e033e1.png!small

点击该功能,Avast Antivirus Engine会创建一个叫做“Instup.exe”的新子进程。该子进程查找某些不存在的目录C:\stage0和c:\stage1。研究人员创建了c:\stage1目录,其中包含一个子文件,发现Instup.exe并未删除或忽略该文件,而是创建了该文件的硬链接。在创建硬链接的进程末尾,它们都被标记为“删除”。研究人员指出,该漏洞可被用于删除任意文件。

  1. McAfee Total Security本地提权漏洞

该名研究人员此前曾在McAfee Total Security中发现两个安全漏洞(CVE-2020-7279和CVE-2020-7282),并获得致谢。

CVE-2020-7282是一个任意文件删除漏洞,而CVE-2020-7279是一个自我防御绕过漏洞。

厂商此前已修复了漏洞,但是该名研究人员发现McAfee对CVE-2020-7279的修复方式存在问题。McAfee未使用GENERIC_WRITE防止C:\ProgramData\McAfee\Update目录被打开,而是阻止以下控制代码FSCTL_SET_REPARSE_POINT和FSCTL_SET_REPARSE_POINT_EX在受保护的文件系统组件中被调用。

该修复方案适用于所有具有文件系统过滤功能的杀毒软件,但是该名研究人员通过从受保护组件中请求访问权限,找到了一个绕过过滤器的新方法。

McAfee通过在删除目录前对重解析点进行简单的检查,修复CVE-2020-7282。研究人员发现,如果目录上的FSCTL_GET_REPARSE_POINT控制代码返回除STATUS_NOT_A_REPARSE_POINT之外的内容,目标将被移除,否则updater将以NT AUTHORITY\SYSTEM权限删除子内容。借此,该名研究人员构造并利用了一个exp,阻止重解析点删除。

  1. Avira本地提权漏洞

研究人员测试了Avira公司的Avira Prime组合套件,该套件包括Avira Connect Installer、Avira Antivirus以及Avira VPN。

研究人员指出,启动Avira System Speedup Pro GUI时,“Avira.SystemSpeedup.Service.exe”服务会执行初始化操作。该服务是用C#编写的,更容易逆向。研究人员发现,该服务启动初始化进程时,将在未检查重解析点的情况下创建并移除C:\Windows\Temp\Avira.SystemSpeedup.Service.madExcept中的某个目录。

研究人员构造了一段PoC,在无任何用户交互的情况下,利用该漏洞删除了目标目录子内容。

  1. Trend Micro Maximum Security本地提权漏洞

该名研究人员在查看Trend Micro Maximum Security的PC Health Checkup组件时,发现其中的Clean Privacy Data功能存在一个本地提权漏洞。

1609233733_5feaf545a5481bbca8785.png!small

研究人员发现,Trend Micro Platinum Host Service以“NT AUTHORITY\SYSTEM”权限运行,且在未对重解析点进行适当检查的情况下,删除了位于用户可写的位置中的一个目录。研究人员指出,该漏洞可被用于删除任意文件。

  1. MalwareBytes本地提权漏洞

该名研究人员称,他在5个月前发现MalwareBytes存在一个漏洞,虽然已向厂商报告,且已获得赏金,但是厂商至今仍未修复该漏洞。

虽然该研究人员无法披露详细的信息,但是指出他通过绕过该杀软的自我防御机制,实现本地提权,进而删除任意文件。

  1. Kaspersky任意文件重写漏洞

该名研究人员向Kaspersky报告了11个漏洞,其中3个已修复。该研究人员此次披露了Kaspersky产品中的一个任意文件重写漏洞。该漏洞可导致在无需用户交互的情况下覆盖任意文件。根据该研究人员公开的信息,当任意用户启动Mozilla Firefox时,Kaspersky在%Firefox_Dir%\defaults\pref中写入特殊内容,但未模拟用户,甚或未执行正确的链接检查。成功利用该漏洞,可导致在无用户交互的情况下,覆盖任意文件。

  1. Windows Installer提权漏洞

该研究人员此前曾报告了Windows Installer中的一个提权漏洞(CVE-2020-16902)。Windows Installer是Microsoft Windows的一个软件组件和应用程序编程接口,用于安装、维护和移除软件。本地攻击者可利用该漏洞在Windows中将权限提升至System。

虽然Microsoft已在今年10月份修复了该漏洞,但是研究人员发现该漏洞仍未完全修复。

Microsoft通过检查c:\config.msi是否存在修复该漏洞,如果不存在,则该文件会被用于生成回滚目录;如果存在,则c:\windows\installer\config.msi会被用作生成回滚文件的文件夹。

研究人员Sanbox Escaper曾在推特上表示,如果在安装开始时,存在注册表项“HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders\C:\Config.Msi”,则Windows Installer将使用c:\config.msi作为目录回滚文件。作为一名低权限用户,halov认为,没有办法防止删除或创建“HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders\C:\Config.Msi”。

halov发现,当目录被删除时,installer会进一步检查该目录是否存在。因此,该研究人员认为还存在另一个漏洞。

当installer删除目录时,该研究人员创建了该目录,发现如果该目录存在,installer会执行检查,并返回该目录存在的结果,因此Windows installer不会删除注册表项“HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders\C:\Config.Msi”,因为该目录并未被删除。

在下一次安装过程中,将会使用C:\Cofig.Msi保存回滚文件,而这一点可被轻易滥用。

来源:freebuf.com 2020-12-29 17:22:49 by: 偶然路过的围观群众

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论