赛门铁克Altiris权限提升漏洞分析(CVE-2018-5240)

栏目: 编程工具 · 发布时间: 5年前

内容简介:在近期的一项渗透测试实践中,我们在最新版本赛门铁克Management Agent(Altiris)中发现了一个安全漏洞,而这个安全漏洞将允许攻击者实现提权。当Altiris代理执行任务扫描时(例如软件扫描),SYSTEM级服务会在扫描任务执行完毕之后向NSI和OutBox目录重新申请权限。即:

前言

在近期的一项渗透测试实践中,我们在最新版本赛门铁克Management Agent(Altiris)中发现了一个安全漏洞,而这个安全漏洞将允许攻击者实现提权。

概述

赛门铁克Altiris权限提升漏洞分析(CVE-2018-5240)

当Altiris代理执行任务扫描时(例如软件扫描),SYSTEM级服务会在扫描任务执行完毕之后向NSI和OutBox目录重新申请权限。即:

C:\ProgramFiles\Altiris\Inventory\Outbox
C:\ProgramFiles\Altiris\Inventory\NSI

申请到的权限会给‘Everyone’组成员提供这两个文件目录的完整控制权,并允许任何一名标准用户创建其他代替目录的链接。因此,‘Everyone’权限将会赋予给其他代替目录,从而该目录下的任何一份文件或文件夹都会继承这种完全控制权限。

这也就意味着,任何一名低权限用户都可以在安装了Symantec Management Agent v7.6, v8.0或v8.1RU7的终端设备上实现权限提升。

分析&发现

在执行渗透测试的过程中,我们经常会遇到各种各样安装了不同类型终端软件的主机设备。这些软件很可能就是我们的切入点,因为我们可以利用它们来实现提权,或者实现横向渗透。

在这些终端管理软件中,我们经常会见到的就是赛门铁克的Altiris。这个软件是一款终端管理框架,它不仅可以帮助组织或管理员确保设备及时安装了最新版本的操作系统补丁或软件更新,还可以检查用户或组权限。

我们这一次测试的版本是v7.6,不过赛门铁克方面也证实了,在最新补丁发布之前的所有Altiris版本都会受到这个问题的影响。

赛门铁克Altiris权限提升漏洞分析(CVE-2018-5240)

我们发现,Altiris文件架构中的目录都应用了‘Everyone-完整控制’权限。这些目录看起来存储的是合法内容,例如扫描配置文件和XML文件等等。但是这些目录和文件的权限都使用了一行简单的PowerShell代码,并允许我们查看任意Windows主机的ACL权限:

Get-ChildItemC:\ -Recurse -ErrorAction SilentlyContinue | ForEach-Object {try {Get-Acl -Path$_.FullName | Select-Object pschildname,pspath,accesstostring}catch{}}|Export-Csv C:\temp\acl.csv -NoTypeInformation

在查看这些文件目录的时间戳时,我们发现这些目录中的文件时间戳每天都会发生变化。深入研究之后,我们发现这些文件会在Altiris执行完系统或软件扫描之后被修改。现在,根据不同组织对配置和扫描任务的需求,这样的情况每天还有可能发生若干次。

接下来的事情就非常有趣了,当我们发现了这种特性之后,我们打算看看Cylance近期披露的攻击方式在这里是否有效【 参考资料 】。

下面给出的是NSI文件夹的目录权限,这个目录的权限跟Outbox目录是相同的:

赛门铁克Altiris权限提升漏洞分析(CVE-2018-5240)

接下来,我们可以尝试使用James Forshaw的符号连接测试 工具 来将该目录重定向到其他位置,然后创建一个其他目录的挂载点,看看这个目录下的文件是否会被改写,而事实是我们成功了。当然了,我们还可以使用 sysinternals 的链接工具,但是这个工具要求源目录不存在,但是我们这里的目录已经存在并拥有‘Everyone’权限了。比如说:

赛门铁克Altiris权限提升漏洞分析(CVE-2018-5240)

如果我们把这个目录删除,我们就没有权限去实现这种攻击了。而James Forshaw的工具允许覆盖已存在的目录:

赛门铁克Altiris权限提升漏洞分析(CVE-2018-5240)

在这种攻击技术中还可以使用另一个名叫mklink.exe的Windows工具,但是该工具需要高级权限,这里就不适用了,因为我们要做的就是提权。

攻击分析

我们应该如何实现攻击呢?别担心,我们有很多种方法来利用这个漏洞,但是最简单的方法就是去尝试覆盖整个Altiris根目录(“C:\Program Files\Altiris\AlritisAgent\”)权限,这样我们就可以修改SYSTEM账号下运行的服务代码了,也就是AeNXSAgent.exe。

下面的截图显示的是在挂载点修改权限之前Altiris Agent目录以及AsNXSAgent.exe服务代码的权限:

赛门铁克Altiris权限提升漏洞分析(CVE-2018-5240)

赛门铁克Altiris权限提升漏洞分析(CVE-2018-5240)

接下来,我们创建一个指向Altiris Agent目录的挂载点,运行之后我们就可以让每一个文件拥有完整权限了,实现起来非常简单。这里我们可以使用James Forshaw的 符号链接测试工具 来创建和验证挂载点。

赛门铁克Altiris权限提升漏洞分析(CVE-2018-5240)

接下来,我们只需要目标主机再次执行扫描任务,下面的截图显示的就是我们的成果:

赛门铁克Altiris权限提升漏洞分析(CVE-2018-5240)

当我们拿到了AeXNSAgent.exe的完整控制权之后,我们就可以替换服务代码,然后重启主机来获取SYSTEM权限了。

总结

Altiris Management Agent v7.6, v8.0和8.1 RU7均会受到该漏洞的影响,我们强烈建议大家尽快升级更新自己的软件。

如果大家还有利用该漏洞的新姿势,欢迎大家在下方评论区踊跃讨论。

* 参考来源: nettitude ,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM


以上所述就是小编给大家介绍的《赛门铁克Altiris权限提升漏洞分析(CVE-2018-5240)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Scratch少儿趣味编程

Scratch少儿趣味编程

[ 日] 阿部和广 / 陶 旭 / 人民邮电出版社 / 2014-11 / 59.00元

Scratch 是麻省理工学院设计开发的一款编程工具,是适合少儿学习编程和交流的工具和平台,有中文版且完全免费。本书结合孩子们学习的语文、数学、科学、社会、音乐、体育等科目,手把手地教大家如何用Scratch 设计程序(如设计一个自动写作文的程序),配合各式卡通形象,通俗易懂,寓教于乐。麻省理工学院教授米切尔•瑞斯尼克作序推荐。 本书图文并茂,生动风趣,适合中小学生等初学者自学或在家长的帮助......一起来看看 《Scratch少儿趣味编程》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码