安全公告

Microsoft 安全公告 MS00-095 - 严重

可用于“注册表权限”漏洞的工具

发布时间: 2000 年 12 月 6 日 |更新时间:2004 年 6 月 4 日

版本: 1.2

最初发布: 2000 年 12 月 6 日

总结

Microsoft 发布了一个工具,用于更正 Microsoft® Windows NT® 4.0 中多个注册表值的权限。 默认权限可能允许恶意用户获取受影响计算机上的其他权限。

受影响的软件:

  • Microsoft Windows NT 4.0 工作站
  • Microsoft Windows NT 4.0 Server
  • Microsoft Windows NT 4.0 Server,企业版
  • Microsoft Windows NT 4.0 Server, Terminal Server Edition

漏洞标识符

常规信息

技术详细信息

技术说明:

三个注册表项具有不当松散的默认权限。 键及其构成的风险如下所示:

  • “SNMP 参数”键(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters)提供 SNMP 社区名称和 SNMP 管理工作站标识符(如果存在)。 SNMP 社区字符串可以允许对 SNMP 服务的读取或读写访问。 如果不存在读写访问字符串,则用户只能使用此漏洞通过通常可供本地用户使用的 SNMP 读取信息。 如果存在读写访问字符串,恶意用户可以使用此漏洞对使用同一社区字符串进行读写访问的任何系统进行更改。 请务必记住,SNMP v1.0 没有设计的安全性,任何可以监视网络流量的用户也可以获取 SNMP 社区字符串。 默认情况下,SNMP 不会安装在 Windows NT 4.0 计算机上。
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RAS 的“RAS 管理员istration”密钥提供了一种安装与 Windows NT 本机 RAS 服务配合使用的第三方 RAS 产品的方法。 通过更改此键中的某个值,恶意用户可以将所选代码指定为第三方管理工具。 然后,代码将在 LocalSystem 安全上下文中运行。 尽管可能远程进行所需的注册表更改,但恶意用户的代码需要驻留在受影响的计算机本身上。 默认情况下,RAS 不会安装在 Windows NT 4.0 计算机上。
  • “MTS 包管理员istration”密钥(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Transaction Server\Packages)包含有关允许哪些用户安装和更改 MTS 包的信息。 通过将自己添加为 MTS 管理器,恶意用户可以获得添加、删除或更改 MTS 包的能力。 尽管在某些情况下可能远程进行所需的注册表更改,但恶意用户仍需要能够以交互方式登录到受影响的计算机,以便行使她的新特权。 默认情况下,MTS 不会安装在 Windows NT 4.0 计算机上。

除了更正这些密钥的权限之外,该工具还更改了以前讨论过的多个其他密钥的权限。 具体而言,该工具会进行 Microsoft 安全公告 MS00-008MS00-024 中讨论的所有更改。

常见问题解答

此公告的内容是什么?
Microsoft 安全公告 MS00-095 宣布提供一个工具,该工具可消除 Microsoft® Windows NT® 4.0 中的三个安全漏洞。 Microsoft 致力于保护客户的信息,并提供公告,告知客户有关漏洞及其可执行的操作。

为什么此修补程序中解决了三个漏洞?
这三个漏洞的基础问题是相同的 - 注册表值,其默认权限太宽松。 同样,这三项的修复措施是将权限重置为适当的值。 为了最大程度地减少客户需要应用的修补程序数量,我们提供了一个修补程序来重置所有三个密钥的权限。

三个注册表项是什么?
密钥包括:

  • “SNMP 管理”密钥。
  • “RAS 管理员istration”密钥。
  • “MTS 包管理员管理”密钥。

与“SNMP 管理”密钥关联的漏洞的范围是什么?
此漏洞可能允许恶意用户管理或配置网络上的设备。 她可能获得的特定特权因网络到网络而异,并取决于简单网络管理协议(SNMP)的使用程度。 然而,在最坏的情况下,该漏洞可能使她能够错误配置路由器和防火墙、更改 Web 服务器和数据库服务器上的内容、停止或启动计算机上的服务,等等。 SNMP 是设计上不是安全的协议。 即使缺少不适当的注册表权限,恶意用户仍可以监视网络并获取管理网络上 SNMP 设备所需的所有信息。 默认情况下,SNMP 不会安装在 Windows NT 4.0 系统上。

什么是 SNMP?
SNMP (简单网络管理协议)允许管理员远程管理服务器、工作站、路由器、网桥、防火墙等网络设备。 SNMP 是一种行业标准协议,允许许多不同供应商通过协议管理设备。

SNMP 的工作原理是什么?
TechNet 网站详细说明了 SNMP 在 Microsoft 网络中的工作原理,但下面是一个高级说明。 SNMP 中的核心概念之一 是社区 - 具有相同权限级别的通用管理员的设备集合。 例如,如果网络上有 10 个路由器,并且有 3 个人批准管理这些路由器,路由器和用户的计算机将属于同一社区。 如果还有一个仅有权监视路由器的其他用户,则路由器和此用户需要是单独的社区的成员。 正如你猜到的,特定设备是许多社区的成员并不罕见。 社区中的每个设备都有一组有关社区本地存储的信息。 例如,必须将每台计算机配置为 社区名称,该名称基本上充当预共享密码。 此外,每台计算机都知道 SNMP 管理器可能从中发出命令的计算机。 当某个命令从其中一台计算机(包含正确的社区名称)到达时,设备将处理该命令。 管理器的 SNMP 软件可以通过引用名为 MIB (管理信息库)的本地数据库向设备发送有意义的命令。 MIB 包含指定如何与每个设备通信的信息 - 要调用哪些函数、应如何传递命令信息等。通过引用 MIB,经理计算机上的软件(称为 SNMP 分析中的管理站 )可以发出对设备有意义的命令。

当你说 SNMP 可用于管理设备时,你意味着什么?
它因多种因素而异,包括设备类型、已授予 SNMP 管理器的特权级别以及其他因素。 但是,下面是可在各种设备上执行的管理功能的一些示例。

  • 在工作站或服务器上启动或停止服务
  • 监视应用程序服务器上的 CPU 和内存使用情况
  • 在 Web 服务器或数据库服务器上添加、更改或删除内容
  • 重新配置路由器
  • 更改防火墙的筛选规则

什么是“SNMP 管理”注册表项,以及它的作用是什么?
“SNMP 管理”密钥HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters。 此键中有两个感兴趣的值:

  • PermittedManagers,用于指定社区的管理工作站的 IP 地址或计算机名称。
  • 有效社区,它指定计算机所属的所有社区。

SNMP 管理注册表项的权限有什么问题?
如果受影响的计算机是社区的一部分,则能够读取 SNMP 参数键中的两个值将使恶意用户充当 SNMP 管理器。 她可能会欺骗真正的管理站的 IP 地址或计算机名称,然后提供社区名称,以便向社区中的其他设备发出命令。

这会让恶意用户做什么?
最准确的答案是“这取决于”。 恶意用户将获得该社区内 SNMP 经理拥有的任何特权。 例如,如果社区内的 SNMP 经理可以重新配置路由器,恶意用户也可以执行此操作,一旦她了解了社区名称和管理站的标识信息。 回想一下,SNMP 经理从了解社区字符串(如密码)中派生其特权,并且不同的社区字符串提供不同级别的访问。 恶意用户可能做的精确损害取决于她可能泄露的社区字符串,以及它授予的权限。 例如,如果她在仅包含路由器的社区中学习了社区名称,并且只允许经理监视这些路由器,则漏洞带来的风险会稍有一些。 另一方面,如果社区由 Web 服务器和数据库服务器组成,而 SNMP 管理器具有允许他们在服务器上更改内容的权限,风险可能更高。

她是否可以更改注册表项的值,以创建自己的社区或更改现有社区?
否。 即使处于默认状态,对注册表项的权限也不提供对密钥的写入访问权限。

是否可以远程利用此漏洞?
在回答这个问题之前,我们应该再次澄清漏洞是什么。 漏洞在于恶意用户可以读取或更改包含 SNMP 信息的注册表值。 该漏洞不在于恶意用户读取或更改信息后才能管理网络设备的能力。 根据 SNMP 的设计,拥有此信息的任何人将有权管理设备。 是否可以远程访问计算机的注册表,具体取决于名为 Winreg 密钥的注册表项的设置。 默认情况下,Windows NT 4.0 服务器上的 Winreg 密钥设置为阻止远程访问。 但是,在 Windows NT 4.0 工作站上,Winreg 密钥的默认设置允许远程访问注册表。 Microsoft 安全公告 中提供的工具 MS00-008MS00-024 对此进行了更正,正如此处提供的工具一样。

SNMP 有多安全?
SNMP 是设计上不是安全的协议。 通过此漏洞(社区名称和管理站的身份)在协议正常操作期间以明文形式通过网络传输的信息。 因此,能够监视网络通信的确定攻击者可以执行上述非常相同的攻击,即使缺少此漏洞也是如此。

默认情况下,SNMP 是否安装在 Windows NT 4.0 计算机上?
否。 仅当管理员安装了 SNMP 时,才会存在于计算机上。

与“RAS 管理员管理”注册表项关联的漏洞的范围是什么?
这是 特权提升 漏洞。 通过更改此注册表项中的某个值,恶意用户可以以交互方式登录到受影响的计算机,这可能会导致她选择的代码在具有操作系统特权的计算机上运行。 这将使代码能够在计算机上执行几乎任何操作,包括添加、删除或更改数据、重新格式化硬盘驱动器、创建本地用户帐户等。 尽管该漏洞可用于获取本地计算机的控制权,但它不能直接用于获取域的权限。 此外,只能在安装了远程访问服务(RAS)的计算机上利用该漏洞。 如以下所述,这往往会将漏洞限制为配置错误的计算机,或者未遵循最佳做法。

什么是“RAS 管理员管理”密钥?
“RAS 管理员istration”密钥HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RAS。 其用途是允许管理员安装扩展 Microsoft 本机 RAS 服务功能的第三方产品。

密钥有什么问题?
密钥的权限太松散,此密钥中的值可由非特权用户修改。 这会带来安全风险,因为其中一个值可以在密钥中指定。 如果已安装第三方 RAS 管理工具,则此值提供启动该工具时应使用的 DLL 的名称。 RAS 管理员管理密钥上的过于松散的权限将允许恶意用户更改此值,以指定她想要的任何 DLL 的名称。

为什么有人想偷偷地在其计算机上安装 RAS 管理工具?
这一点不是安装 RAS 工具,而是使用漏洞获取计算机上的特权。 此 RAS 中指定的 DLL 管理员istration 密钥使用 LocalSystem 特权运行,即,它作为本地计算机上的操作系统的一部分运行。 通过 RAS 管理员istration 密钥指定自己选择的代码,恶意用户可以使该代码作为操作系统的一部分运行。 不过,请务必注意,代码会有一些约束。 恶意用户需要安装一个 DLL,其入口点与正确的 RAS 管理工具的入口点匹配。 这意味着需要开发代码,特别是出于此目的。

恶意用户可以使用此漏洞执行哪些操作?
如果恶意用户利用了此漏洞,她可能会完全控制本地计算机。 她可以在计算机上执行所需的任何操作,从更改数据到重新格式化硬盘驱动器、安装新系统组件、创建本地用户。

是否可以远程利用此漏洞?
在某些情况下,恶意用户可能远程更改注册表值。 通过 Winreg 密钥对计算机的注册表进行远程访问。 默认情况下,Windows NT 4.0 服务器上的 Winreg 密钥设置为阻止远程访问。 但是,在 Windows NT 4.0 工作站上,Winreg 密钥的默认设置允许远程访问注册表。 Microsoft 安全公告 中提供的工具 MS00-008MS00-024 对此进行了更正,正如此处提供的工具一样。 但是,即使恶意用户可以远程更改注册表值,它仍然不足以允许她运行代码。 通过注册表值指定的 DLL 必须驻留在本地计算机上,即恶意用户攻击的 DLL,因此她需要远程将代码加载到计算机上。 即使她能够做到这一点,她也需要一种方法来说服操作员启动 RAS 管理工具并运行代码。

漏洞是否会允许恶意用户获得域的其他权限?
否。 代码仅在本地计算机上运行。 无法通过此漏洞直接获取域的其他权限。

必须在计算机上安装 RAS 才能利用此漏洞?
是的。 除非已在计算机上安装 RAS,否则密钥不存在。 默认情况下,RAS 不会安装在 Windows NT 4.0 工作站或服务器上。 这是一个重要点,因为它意味着漏洞可能只发生在三种方案中,每个方案显然已经与最佳做法背道而驰:

  • 如果将非特权用户的计算机用作 RAS 服务器,则可能会发生此情况。 显然,这将是一个坏主意 - 用户可以通过取消插拔调制解调器来执行拒绝服务攻击。
  • 如果非特权用户可以以交互方式登录到 RAS 服务器,则可能会发生此情况。 但是,关键服务器应始终受到物理保护,并且只允许管理员登录到它们。
  • 如果一个不特权的用户能够在其计算机上安装 RAS 作为利用漏洞的前奏,则可能会发生此情况。 但是,需要管理权限才能安装 RAS,因此,如果用户可以执行此操作,她就已经完全控制了计算机。

与“MTS 包管理员管理”注册表项关联的漏洞的范围是什么?
此漏洞可能导致恶意用户在计算机上安装新的 Microsoft Transaction Server (MTS) 包,或者更改已在 Windows NT 4.0 计算机上存在的包。 如果她可以以交互方式登录到业务关键型计算机,她可以以任何方式更改其上的业务逻辑。 默认情况下,MTS 不会安装在 Windows NT 4.0 上。

什么是 MTS?
MTS 是 Microsoft Transaction Server。 但是,在讨论 MTS 之前,我们应该定义事务的含义。 事务是一个原子工作单元,也就是说,它是一个一次性或根本不执行的工作单元。 事务也会成功或失败,如果事务失败,则必须将系统还原到尝试事务之前所在的相同状态。 交易的一个示例是银行账户之间的资金转移。 此类转移将包括从帐户 #1 提取和存款到帐户 #2。 但是,只有在相应的存款也发生(即转移必须是原子操作)时才应进行取款,如果存款失败,应回滚取款。 MTS 是一种技术,支持在 Windows 服务器产品中开发和使用基于事务的组件。 它允许管理员创建 MTS 包,这些包是作为事务一起运行的软件模块组。 管理员指定软件组件、应处理的顺序、事务失败时应执行的操作以及其他参数。

什么是“MTS 包管理员管理”密钥?
“MTS 包管理员istration”密钥HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Transaction Server\Packages。 此密钥及其从属密钥为计算机上的事务包提供了许多操作参数。

MTS 包管理员管理密钥有什么问题?
对它的权限太松散了。 根据设计,用户应需要管理权限才能修改此密钥下的值。 不过,实际上,此密钥的权限允许任何可以以交互方式登录到计算机的用户更改设置。 此密钥中存储的值包括计算机上每个 MTS 包的 MTS 管理器列表。 具体而言,只要计算机上安装 MTS,称为系统包的特殊包就会出现,并且此包的管理器可以设计管理计算机上的所有 MTS 包。 通过将自己的 userid 添加到系统包上的经理列表中,恶意用户可以获得重新配置计算机上的任何 MTS 包或添加新的 MTS 包的能力。

这会让恶意用户执行哪些操作?
让我们从不允许她做什么开始。 它不会给她一种在高特权安全上下文中在自己的计算机上运行代码的方法。 安装新包时,MTS 管理器必须为运行包的帐户提供 userid 和密码。 因此,引入到计算机上的恶意用户的任何代码仍只能运行在她自己的帐户或其他凭据已知道的帐户的上下文中。 换句话说,恶意用户只能像管理员istrator一样运行包,如果她已经知道管理员密码,在这种情况下,只需以 管理员istrator 身份登录会更容易。 此漏洞构成的风险在于恶意用户可能会利用它来更改计算机上的现有 MTS 包。 例如,如果她能够以交互方式登录到处理工资数据的服务器,她可能会将现有的 MTS 包替换为一个,例如,将每个员工的工资中的一分钱发送给她的银行账户检查。 但是,应强调最佳做法强烈建议不要允许非特权用户以交互方式登录到关键服务器。

是否可以远程利用此漏洞?
在某些情况下,恶意用户可能远程更改注册表值。 通过 Winreg 密钥对计算机的注册表进行远程访问。 默认情况下,Windows NT 4.0 服务器上的 Winreg 密钥设置为阻止远程访问。 但是,在 Windows NT 4.0 工作站上,Winreg 密钥的默认设置允许远程访问注册表。 Microsoft 安全公告 中提供的工具 MS00-008MS00-024 对此进行了更正,正如此处提供的工具一样。 但是,即使恶意用户可以远程更改注册表值,它仍然不足以允许她添加或更改 MTS 包。 MTS 资源管理器(用于管理 MTS 包的工具)仅在本地计算机上运行。 因此,即使她设法把自己添加为 MTS 经理,她仍然需要能够登录到目标计算机,才能实际使用她新获得的特权。

MTS 是否默认安装?
否。 MTS 作为 Windows NT 4.0 选项包的一部分提供。 只有管理员才能安装 MTS。

该工具的作用是什么?
该工具设置此处讨论的注册表项的适当权限。 此外,它还更正了 Microsoft 安全公告 MS00-008MS00-024 中讨论的不当权限。

在哪里可以获取该工具?
该工具的下载位置在安全公告的“修补程序可用性”部分中提供。

如何实现运行该工具?
该工具可以通过交互方式或脚本针对本地计算机或远程计算机运行。 用法为:regacl40 [-v ] [-m remotecomputername]

  • 如果指定了 -v,则会返回有关处理每个键的信息。
  • 如果指定了 -m,则必须在命令行上提供远程计算机名称。 当前必须登录到在远程计算机上具有管理权限的帐户,或者之前必须在此类帐户下与目标计算机建立会话。 例如,可以通过“net using”到 IPC$ 并提供适当的凭据来完成此操作。

我是否需要重新运行该工具?
仅当执行重置某个受影响注册表项的任何权限的操作时,才需要重新运行该工具。

如何判断该工具是否正常运行?   如果使用详细选项(-v),该工具将指示是否已成功保护每个密钥。 此外,如果无法设置任何键,该工具将提供返回代码 1;否则为 0。 还可以使用 regedt32 手动验证工具是否正常运行,并验证注册表权限是否如上表所示。

工具设置哪些权限?
该工具针对以下键及其子项设置以下权限:

配置单元 密钥 权限
HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet Services\SNMP\Parameters\ PermittedManagers 管理员istrators, System, Creator Owner: Full
HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet Services\SNMP\Parameters\ ValidCommunities 管理员istrators, System, Creator Owner: Full
HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\RAS 管理员istrators, System, Creator Owner: Full
HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Transaction Server\Packages 管理员istrators, System, Creator Owner: Full
HKEY_LOCAL_MACHINE\SOFTWARE Microsoft\Cryptography\Offload|经过身份验证的用户:Read\ 管理员istrators、System、Creator 所有者:Full
HKEY_LOCAL_MACHINE\SOFTWARE Microsoft\Windows NT\CurrentVersion\ AeDebug 经过身份验证的用户:Read\ 管理员istrators、System、Creator 所有者:Full
HKEY_LOCAL_MACHINE\SOFTWARE Microsoft\Windows\CurrentVersion\ Explorer\User Shell 文件夹 经过身份验证的用户:Read\ 管理员istrators、System、Creator 所有者:Full
HKEY_LOCAL_MACHINE\SOFTWARE Microsoft\DataFactory 经过身份验证的用户:Read\ 管理员istrators、System、Creator 所有者:Full
HKEY_LOCAL_MACHINE\SOFTWARE CurrentControlSet\Services\W3SVC\ Parameters\ADCLaunch 经过身份验证的用户:Read\ 管理员istrators、System、Creator 所有者:Full
HKEY_LOCAL_MACHINE\SOFTWARE CurrentControlSet\Control\SecurePipe Servers\ winreg 管理员istrators: FullBackup 运算符: 读取

Microsoft 对此有何操作?

  • Microsoft 提供了一个可消除漏洞的工具。
  • Microsoft 提供了一份 安全公告 和本常见问题解答,可让客户详细了解漏洞和消除漏洞的过程。
  • Microsoft 已将安全公告的副本发送给所有订阅者到 Microsoft 产品安全通知服务,这是一项免费的电子邮件服务,客户可以使用该服务随时了解 Microsoft 安全公告。
  • Microsoft 发布了知识库文章,更详细地介绍了漏洞和过程。

在哪里可以找到有关安全性的最佳做法的详细信息?
Microsoft TechNet 安全 网站是获取有关 Microsoft 安全性的信息的最佳位置。

如何实现获得此问题的技术支持?
Microsoft 产品支持服务可以协助解决此问题或任何其他产品支持问题。

修补程序可用性

下载此修补程序的位置

有关此修补程序的其他信息

安装平台:有关此问题的详细信息, 请参阅以下参考。

其他信息:

确认

Microsoft 感谢 以下人员与我们合作来保护客户:

  • @stakeChris Anley 报告“SNMP 参数”漏洞。
  • 米兰达多克报道了“RAS管理员歧视”漏洞。
  • Glenn Larsson 报告“MTS 包管理员istrator”漏洞。

支持: 这是完全支持的修补程序。 有关联系 Microsoft 产品支持服务的信息,请参阅 https:

安全资源:Microsoft TechNet 安全网站提供有关 Microsoft 产品安全性的其他信息。

免责声明

Microsoft 知识库中提供的信息“按原样”提供,不提供任何形式的担保。 Microsoft 不明确或暗示所有保证,包括适销性和针对特定用途的适用性和适用性的保证。 在任何情况下,Microsoft Corporation 或其供应商都应对任何损害负责,包括直接、间接、附带、后果性、业务利润损失或特殊损害,即使 Microsoft Corporation 或其供应商被告知存在此类损害的可能性。 某些州不允许排除或限制后果性或附带性损害的责任,因此上述限制可能不适用。

修改:

  • 2000 年 12 月 6 日:已创建公告。
  • 2001 年 3 月 27 日:公告更新,以建议终端服务器修补程序的可用性。
  • 2004 年 6 月 4 日:更新了修补程序可用性链接。

构建于 2014-04-18T13:49:36Z-07:00</https:>