当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 识别和保护您的特权帐户的 10 种方法

作者:精品下载站 日期:2024-12-14 06:19:40 浏览:13 分类:玩电脑

识别和保护您的特权帐户的 10 种方法


危及特权帐户是大多数网络攻击的倒数第二个目标——一旦攻击者获得特权访问权限,他们就可以实现最终目标,无论是窃取或加密信息资产还是扰乱业务运营。通常,网络犯罪分子通过破坏本地计算机上的低级帐户来在网络中获得立足点。然后,他们使用各种技术尝试夺取访问组织敏感数据和系统所需的更高特权帐户的控制权。在 Active Directory (AD) 环境中,真正的奖品是域管理员帐户,但任何特权帐户通常就足够了。

权限管理的关键要素

拥有特权访问权限的攻击者几乎可以在您的 AD 域中自由移动并访问您最有价值的 IT 资源。因此,为了维护安全性和合规性,必须对 AD 环境中的所有特权帐户建立强大的身份治理和访问管理。

具体来说,确保系统和数据的安全涉及两个关键组成部分:

  • 确定哪些用户对哪些 IT 资产拥有哪些权限
  • 检测任何帐户首次获得特权访问权限的时间

重要的是要了解特权访问管理不是一次性的工作。随着用户的加入和角色的转变以及 IT 环境的发展,组权利和成员资格会发生变化,安全团队需要发现任何可能是恶意的或其他不当的更改。

以下是您可以用来保护您的特权用户帐户免遭泄露的 10 种主要方法。它们是全面安全策略的一部分,旨在防止未经授权的用户获得对 AD 的特权访问。

1.密切管理内置特权组,例如域管理员。

内置的 AD 特权组(例如管理员、域管理员、企业管理员和架构管理员)是一个明显的起点。接下来是每个 Windows 端点上的本地管理员组,它提供对这些系统的特权访问。

识别每个组的成员就像在 Active Directory 用户和计算机 (ADUC) 中查看该组的“成员身份属性”选项卡一样简单。另一种方法是使用 Get-ADGroupMember PowerShell cmdlet,如下面的屏幕截图所示。当您需要快速分析多个组时,这是首选方法。

[玩转系统] 识别和保护您的特权帐户的 10 种方法

请记住,对小组成员的定期审查只能让您了解小组当时的状态。尽管如此,这仍然是一个很好的起点。

2. 检查嵌套在特权组内的组。

检查特权组是否有任何组作为成员至关重要,因为这些嵌套组向其成员授予特权组的所有访问权限。例如,在下面的屏幕截图中,您可以看到 Domain Admins 组的成员之一是一个名为 LabPowerUsers 的组,这意味着 LabPowerUsers 组的任何成员都具有跨域的管理权限。

[玩转系统] 识别和保护您的特权帐户的 10 种方法

只要有可能,您就应该避免组嵌套,尤其是在特权组内,因为它为攻击者提供了一种访问关键资源和数据的方法,同时触发警报的风险较小 - 他们将自己控制的帐户添加到嵌套组中,而不是直接将其添加到嵌套组中。给父特权组,这可能会受到更密切的监视。

如前所述,Get-ADGroupMember cmdlet 仅显示所查询组的直接成员,因此它将列出所有嵌套组,但不会列出其成员。显示任何嵌套组的成员的一种方法是使用下面以红色显示的 LDAP 过滤器:

param([string]$groupDn )
$s = new-object system.directoryservices.directorysearcher
$s.searchroot = new-object system.directoryservices.directoryentry
$s.filter = “(&(memberOf:1.2.840.113556.1.4.1941:=$groupDn))”
$s.propertiestoload.add(“name”)
$s.propertiestoload.add(“objectclass”)
$r = $s.FindAll()
foreach ($e in $r)
{Write-Host
$e.Properties.objectclass[$e.Properties.objectclass.Count-1]:
$e.properties.name

如果此代码保存为脚本 (GetNestedMembers.ps1),则可以按如下方式执行,并指定所需组的专有名称:

.GetNestedMembers.ps1 -groupDn “CN=Administrators,CN=Builtin,DC=lab,DC=local”

输出显示组的名称并列出其成员:

group : Domain Admins
user : bosshogg
user : azuresync
user : Barry Vista
user : Randy Smith
user : AdminService

为了快速了解提升的特权,而无需编写脚本的所有麻烦和费用,许多组织选择投资第三方特权访问管理 (PAM) 工具,例如 Netwrix PAM 解决方案。

3. 注意组织单位(OU)权限。

除了通过组成员资格获得权限之外,还可以在组织单位级别向用户委派控制权。下面的屏幕截图显示了一个组被委派给 Sales OU 的权限;该组的每个成员都能够完成选定的任务,包括修改销售 OU 中任何组的成员身份。

[玩转系统] 识别和保护您的特权帐户的 10 种方法

继承使跟踪 OU 权限变得复杂。与 NTFS 安全性一样,父 OU 的权限向下传播到子 OU 和叶对象。这可能会导致许多用户拥有难以发现的提升权限,如以下屏幕截图所示,其中显示了 Sales OU 的所有子 OU 和叶对象:

[玩转系统] 识别和保护您的特权帐户的 10 种方法

虽然您可以中断从父 OU 的继承,但这样做可能会导致问题,例如管理者无法管理他们负责的对象。

要在每次访问目录对象时生成审核事件,您可以使用 AD 组策略。转至计算机配置 > Windows 设置 > 安全设置 > 高级审核策略配置 > 审核策略 DS 访问并配置审核目录服务更改,如下所示。

[玩转系统] 识别和保护您的特权帐户的 10 种方法

请记住,打开此审核将生成大量日志条目,因此手动检查审核日志需要花费大量时间。此外,日志条目不会说明正在分配哪些权限;它们只是表明需要审查特定 OU 的权限。

4. 在域控制器 (DC) 上查找与管理员等效的权限。

域控制器是运行 Windows Server 操作系统并提供重要的身份验证和授权服务的特殊机器。因此,在 DC 上寻找具有管理员级别权限的帐户非常重要。例如,服务帐户可能被授予在 DC 上备份或恢复文件的权限。攻击者可以通过使用 Mimikatz 等开源工具来发现其密码哈希值,然后破解其明文密码,从而危及这些帐户。

您可以根据以下内容确定哪些帐户拥有这些权利:

  • 查看默认域控制器策略
  • 使用 PowerShell 脚本
  • 使用 PAM 工具,例如 Netwrix PAM 解决方案

5. 发现对其他帐户具有密码重置权限的用户。

重置用户帐户密码的能力受到威胁行为者的高度追捧,因为重置帐户密码使他们能够获得对该帐户的控制权。此权利包含在完全控制权限中。您还可以使用控制委派向导委派特定权限为其他用户重置密码,如下所示:

[玩转系统] 识别和保护您的特权帐户的 10 种方法

在下面的示例中,PC 支持组的成员有权重置域管理员的密码。因此,通过危害 PC 支持组任何成员的帐户,攻击者可以轻松获得提升的域范围权限。

[玩转系统] 识别和保护您的特权帐户的 10 种方法

手动搜索每个 OU 和用户对象以查看谁拥有此权限非常耗时且容易出错,并且尝试手动审核所有密码重置活动同样不切实际。 Netwrix AD 安全产品可以轻松查看哪些帐户具有密码重置权限。下面的屏幕截图显示了一个环境,其中 prod.net 域中的 1,000 个用户可以由 15 个不同的人重置密码:

[玩转系统] 识别和保护您的特权帐户的 10 种方法

6. 监控特权服务帐户的使用。

早期的提示提到需要注意在 DC 上具有与管理员相同的访问权限的服务帐户。但与服务帐户相关的风险不仅限于 DC。 Exchange、SQL Server、备份解决方案和其他业务应用程序等工作负载在通常具有管理权限的服务帐户下运行,任何知道此类帐户凭据的人都可以将其用于恶意目的。

服务帐户密码通常不会定期更改,甚至永远不会更改,因此通常不清楚到底谁知道它们。即使服务帐户密码定期轮换,也应审核这些帐户的登录活动,以确保它们仅用于分配的服务,而不用于非法活动,例如交互式登录域控制器。

使用 DC 上的安全日志来确定服务帐户是否使用不当需要组合多个拼图。例如,事件 4768 显示请求了 Kerberos 身份验证票证,4672 表示为新登录分配了特殊权限,但它们需要与事件 4624(帐户已成功登录)相关联。

7. 发现对 GPO 具有写入权限的用户,这些 GPO 应用于运行具有域特权访问权限的应用程序的 DC 或服务器。

组策略是一个强大的工具,用于管理用户和计算机(例如 DC、应用程序服务器和 Windows 端点)。这就是为什么攻击者试图获得对其的控制权,以及为什么您必须监视谁对任何组策略对象 (GPO) 具有可写访问权限。

一个好的起点是检查链接到域根或域控制器 OU 的所有 GPO 的权限。通过查看默认域控制器策略的委派选项卡可以轻松完成此操作,如下所示:

[玩转系统] 识别和保护您的特权帐户的 10 种方法

8. 识别有权访问任何 AD 管理解决方案的所有用户帐户。

许多组织使用第三方解决方案来简化 AD 管理任务。这些解决方案有时可以为寻求特权访问的威胁行为者提供两种攻击方法。

  • 第一种涉及使用服务或代理帐户,该帐户被授予对全部或部分 AD 的特权访问权限,以启用解决方案的管理功能。
  • 第二种方法使用在管理解决方案中分配了权限的任何帐户。在这里,低级别用户可能被授予对 AD 帐户子集执行特权任务(例如重置另一个用户的密码)的能力。根据委派级别,获得对此类帐户的控制与成为域管理员一样好。

为了了解这些风险,您必须清点所有正在使用的管理应用程序。请注意,它们通常不驻留在域控制器上。然后,您需要识别具有特权访问权限的所有服务和代理帐户,并监视这些帐户正在执行的操作。大多数管理解决方案都提供了一些建立审计跟踪的方法来监控不当行为。这些应用程序生成的任何警报也可以通过管道传输到 SIEM 解决方案(如果可用)。

或者,Netwrix Auditor 可以发送每日活动摘要,详细说明 Windows 服务器上硬件和软件、计划任务、应用程序、网络设置等的所有更改。下面是显示所有已安装应用程序的屏幕截图:

[玩转系统] 识别和保护您的特权帐户的 10 种方法

9. 不要忘记虚拟化基础设施管理员。

为了保护您的虚拟 AD 环境,您必须知道哪些帐户有权访问您的虚拟基础架构。请记住,管理托管 DC 或成员服务器的虚拟环境的任何人都拥有对物理机的同等管理访问权限。

例如,如果您运行的是 Hyper-V,则 Hyper-V 管理员本地组的成员拥有来宾操作系统的管理员级别访问权限。同样,在 VMware 环境中,ESXi 系统上的 root 用户具有相同级别的访问权限。虽然成员服务器可能不托管 AD,但任何具有 AD 权限的管理应用程序或服务帐户都会带来相同的风险。

10. 防止管理员留下凭证工件。

当用户登录到系统时,凭证信息通常会在用户注销后保留下来。此信息可以包括明文密码、密码哈希值、NTLM 哈希值和 Kerberos 票证。使用 Mimikatz 等工具,攻击者可以轻松利用服务器和工作站内存中留下的这些工件来将自己验证为特权帐户。例如,可以简单地重复使用明文密码,并且可以将哈希值作为身份验证请求的一部分传递,使用额外的黑客工具来访问其他系统。

不幸的是,识别哪些机器上有特权凭证工件几乎是不可能的。因此,您需要重点确定特权用户登录的位置。

如前所述,您可以监视任何当前 Windows 系统上已知具有特权的组的事件 ID 4627(分配给新登录的特殊权限)。您还可以监视 DC 上的事件 ID 4769(请求了 Kerberos 服务票证)以识别特权登录。

了解特权帐户的使用方式后,请确保 WDigest 设置防止将明文密码存储在内存中。您还应该禁止在用户工作站上使用特权帐户以保证其凭据的安全,并使用具有本地管理员权限的帐户来解决最终用户问题。

严格控制特权帐户

特权用户帐户(从具有一台计算机的本地管理权限的帐户到具有完整域管理权限的帐户)经常成为攻击者的目标。为了防止违规和停机,您需要知道您的特权用户是谁,并监控可能影响特权访问的更改。然而,如果您依赖本机工具,评估和监控将是一个耗时且容易出错的过程。为了进行可靠的 24/7 监控,您需要保护您的特权帐户免遭泄露和滥用,您需要自动化的第三方工具。 Netwrix 解决方案套件为您提供检测和阻止权限升级尝试和权限所需的可见性

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯