当前位置: 首页 > news >正文

Avira优化器本地权限提升漏洞深度剖析

Avira Optimizer Local Privilege Escalation

August 29, 2019 by enigma0x3

版本: Avira Optimizer < 1.2.0.367
测试操作系统: Windows 10 1803 (x64)
漏洞: Avira优化器通过不安全的命名管道导致的本地权限提升

漏洞概述

当用户安装最新的Avira杀毒软件时,它会附带几个不同的组件,其中之一是Avira优化器。简而言之,“Avira.OptimizerHost.exe”以“NT AUTHORITY\SYSTEM”权限运行,并通过名为“AviraOptimizerHost”的命名管道(\.\pipe\AviraOptimizerHost)接收命令。该服务对调用客户端以及所启动的可执行文件验证不当,导致恶意代码可以向“Avira.OptimizerHost.exe”发出进程创建调用,从而实现本地权限提升。

识别与利用

在评估软件的权限提升漏洞时,找到切入点往往令人不知所措,因为存在许多不同的原语和漏洞类别。我的方法通常从基础开始,逐步提高复杂度。这个过程通常包括运行像PowerUp这样的工具,它会识别各种琐碎(但常见)的配置错误。

如果没有发现有趣的结果,下一步通常是寻找逻辑漏洞。这些漏洞更难自动识别,需要更多手动探查。我的工作流程通常包括分析全局可写目录、可写的注册表位置、通过NTObjectManager发现的暴露的命名管道和RPC接口。在分析现有命名管道时,我发现某个Avira进程创建了一个具有NULL DACL的命名管道。这实际上意味着任何请求访问的用户都被授予了完全控制权限:

虽然这很有趣,但如果这个管道没有被某个特权Avira进程以某种方式使用,那么它就没有什么用处。检查该管道的使用进程ID,发现一个SYSTEM权限的Avira进程正在使用它:

下一步是弄清楚“Avira.OptimizerHost.exe”实际上在使用这个命名管道做什么。这是一个值得深入探究的细节,因为一个特权进程正在与低权限用户可以控制的资源交互。既然“Avira.OptimizerHost.exe”持有该管道的句柄,那么该进程很可能正在接收通过管道传递的某种数据。为了验证这一点,下一步是在IDA中打开“Avira.OptimizerHost.exe”。经过一番探查,很明显,该服务会接收任何连接到“AviraOptimizerHost”命名管道的客户端,并验证其是否为有效的Avira文件。

为了滥用此命名管道,我们需要绕过此检查,以便能成功通过命名管道向服务发送数据。该服务通过GetNamedPipeClientProcessID()获取连接客户端,然后通过QueryFullProcessImageNameW()提取完整的映像路径来进行检查。

一旦获取到路径,服务会提取调用客户端的证书,并确保其由Avira签名且未被篡改。此处的设计理念是确保只有有效的Avira进程才能向服务发出命令。为了绕过此检查,我们可以简单地将我们的代码注入到正在运行的Avira进程中(或者可能只是克隆一个现有证书)。

下一步是弄清楚我们可以通过命名管道向服务发出什么指令。在这种情况下,我通常喜欢调查任何潜在的合法客户端,并观察它们在正常操作期间的行为。由于这个管道是Avira优化器的一部分,我开始查看已安装的Avira组件。经过一些死胡同,Avira的“System Speedup”应用浮出水面,因为优化和加速是同义词。查看了Avira的“System Speedup”文件夹后,我偶然发现了Avira System Speedup库。然后,我将System Speedup文件夹中的所有文件加载到DnSpy中,并开始搜索命名管道引用。这让我找到了“Avira.SystemSpeedup.Core.Client.Services.dll”,特别是其中的“StartServiceHost()”方法。

正如所料,这是连接“AviraOptimizerHost”命名管道的代码。在此函数下,它调用了Avira.Optimizer.Common.Tools.OptimizerHostClient类中的“OptimizerHostCommandsClient.Connect()”,这听起来非常有趣。查看此函数,它只是调用WaitNamedPipe()等待管道准备就绪。一旦就绪,就使用CreateFile获取命名管道的句柄。

回过头来看“StartServiceHost”方法,它实例化了Avira.Optimizer.Common.Tools.OptimizerHostClient类的一个实例,连接到“AviraOptimizerHost”命名管道,然后继续调用一个名为“StartParentProcess()”的有趣方法。

查看那个实例化的类,有许多有趣的方法。包括:StartProcess、StartParentProcess、StopProcess、AddTask和RemoveTask。这些方法接受各种参数,并在将任务转换为JSON后继续调用“SendMessage”:

“SendMessage()”方法接收命令的JSON,并将其发送到“AviraOptimizerHost”命名管道,在那里SYSTEM进程“Avira.OptimizerHost.exe”接收它:

查看“Avira.OptimizerHost.exe”,我们可以看到服务读取JSON并解析出参数的位置:

在这种情况下,如果我们通过命名管道发送“StartProcess()”方法,服务将从通过命名管道发送的JSON blob中提取“procid”、“exec”(可执行路径)、“args”(参数)等。然后,它遵循用于验证命名管道客户端的相同逻辑,即从“exec”参数获取可执行路径,并检查文件的证书以确保其属于Avira。该服务依赖于主题和证书序列号(这两者都可以由攻击者控制),因此可以使用像SigPirate这样的工具从有效的Avira可执行文件克隆证书,并将其应用到自定义载荷上。

为了利用此漏洞,我们需要完成几件事:

  1. 准备我们的载荷。在本例中,它是一个名为Avira.SystemSpeedup.RealTime.Client.exe的.NET可执行文件,用于启动cmd.exe
  2. 从有效的Avira文件克隆证书并将其应用到我们的载荷
  3. 编写代码注入到有效的Avira进程中,加载Avira.Optimizer.Common.Tools.dll并实例化OptimizerHostClient类
  4. 使用暴露的方法连接到“AviraOptimizerHost”命名管道,并向服务发出我们的命令

对于载荷创建和证书克隆,我将其留给读者作为练习。为了连接到命名管道并发送命令,我们可以通过添加对Avira.Optimizer.Common.Tools.dll的引用并导入Avira.Optimizer.Common.Tools.OptimizerHostClient命名空间来重用现有的Avira库。完成后,我们可以直接创建OptimizerHostCommandsClient类的一个实例,并调用任何有趣的方法,例如“StartProcess”。

为了实现LPE,我们只需将此程序集注入到Avira进程中并调用我们的入口点。同样,这也是留给读者的练习……但有各种项目使这个过程变得简单(https://github.com/ChadSki/SharpNeedle)。

在注入Avira进程并执行上述C#代码后,当程序集连接到“AviraOptimizerHost”命名管道并发送“StartProcess()”方法,且“exec”参数设置为带有克隆Avira证书的载荷(在本例中,是一个名为Avira.SystemSpeedup.RealTime.Client.exe的载荷)时,cmd.exe将以SYSTEM权限启动。

此漏洞已在Avira优化器版本1.2.0.367中修复。在查看了修复方案后,Avira现在使用WinVerifyTrust()和一个明显的路径白名单,以确保启动的进程不受影响。

披露时间线

我想花点时间给Avira及其开发团队点个赞。该团队保持持续联系,并能快速修复问题。在本报告中,初始报告提交后大约30天内,就开发并发布了面向公众的修复程序。与认真对待漏洞报告并遵循社区设定的90天修复期望的供应商合作,令人耳目一新。

尽管SpecterOps致力于透明化,我们也承认攻击者在新技术公开后采用新攻击技术的速度。这就是为什么在发布新漏洞或攻击技术之前,我们通常会通知相应的供应商,提供充足的时间来缓解问题,并通知选定的、受信任的供应商,以确保尽快向其客户提供检测能力。

  • 2019年7月23日:漏洞发送给Avira安全团队
  • 2019年7月24日:Avira确认报告,指出PoC存在一些编译问题
  • 2019年7月26日:Avira使用提供的PoC重现了该漏洞
  • 2019年8月6日:Avira指出开发人员已修复问题,询问我是否愿意测试修复程序
  • 2019年8月6日:回复Avira,提供了绕过了补丁的方法、更新后的PoC和详细信息
  • 2019年8月16日:Avira回复指出开发人员实施了新的修复程序,并询问我是否愿意测试
  • 2019年8月16日:测试了新修复程序。告知Avira看起来足够好
  • 2019年8月27日:修复程序推送到线上
  • 2019年8月29日:详细信息发布
    更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
    对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

http://www.zskr.cn/news/74687.html

相关文章:

  • 【小工具】详细比较微信小程序的 onLoad 和 onShow
  • CSP-S2025游记
  • 2025年半导体点胶机与切割机品牌年度排名:信誉高/品质可靠
  • NOI2018 归程 题解
  • 2026 石家庄 KET/PET 课外教育机构口碑排行榜:权威测评推荐
  • 2025年箱式可控气氛炉五大品牌排行榜,气氛炉精密型厂家推荐
  • 太原 KET/PET 辅导机构口碑排行榜:这两家小程序成家长首选,权威测评告诉你为啥靠谱
  • 第三次作业
  • 2025年深圳企业AI智能体官网源头厂家TOP5排行榜,看哪
  • 滴虫性阴道炎2025年药物推荐,安全有效是关键
  • Redo / Undo / WAL(为什么 MySQL 写比读复杂)
  • 基于SAGA与CQRS实现的自用架构
  • 2025年全国井式炉十大源头厂家排行榜,正规厂商专业制造商新
  • 10411_基于Springboot的物业管理系统
  • 2025年12月APP开发公司权威推荐榜:创新技术与用户体验双轮驱动,精选实力派开发团队深度解析
  • 2025年上海十大民事纠纷处理机构推荐:看哪家口碑好
  • 2N7002K-ASEMI智能家居控制专用2N7002K
  • 20232411 2025-2026-1 《网络与系统攻防技术》实验八实验报告
  • 2025年中国口碑好的包装箱木箱公司推荐:木头包装箱定制厂家
  • 【QT/C++】Qt基础控件详解:输入与显示控件(超详细) - 详解
  • 2025年12月YJV电力电缆,YJY电力电缆,橡套电力电缆厂家最新推荐:耐温性能测评与选购建议
  • MySQL 基本原理和架构(通俗易懂)
  • 实测openGauss 6.0 LTS向量版:国产数据库的 RAG 实践之路 - 教程
  • 2025年度天津短视频代运营TOP5权威推荐:力企业流量破局
  • 2025年天津关键词SEO机构排行榜,五大专业服务商测评推荐
  • 2025年12月鸡肠粉加工设备厂家推荐:权威排行榜单与选购指南
  • 对话式AI竞赛Alexa Prize新平台上线
  • 2025年度天津抖音代运营专业公司五大推荐:甄选口碑好的抖音
  • 2025年12月肉粉加工设备厂家推荐:五大品牌深度对比评测榜
  • 2025年12月肉粉加工设备厂家综合实力排行榜推荐及选购策略分析