前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >红队提权 - 基于RBCD的提权

红队提权 - 基于RBCD的提权

作者头像
Khan安全团队
发布于 2022-07-13 00:36:48
发布于 2022-07-13 00:36:48
2.1K00
代码可运行
举报
文章被收录于专栏:Khan安全团队Khan安全团队
运行总次数:0
代码可运行

本地主机 NTLM 中继技术概述

在这种情况下,我们利用这样一个事实,即从非特权用户上下文中,我们可以诱导以 NT AUTHORITY\SYSTEM 身份运行的本地服务通过 HTTP 对运行在 localhost 上的攻击者服务执行 NTLM 身份验证,使用主机的计算机帐户密码进行身份验证。然后,攻击者可以将该身份验证尝试中继到 LDAP 服务,以配置基于资源的约束委派 (RBCD) ,以允许攻击者控制的用户或计算机帐户冒充任何用户访问受害计算机。Elad Shamir 在他的文章“Wagging the Dog: Abusing Resource-Based Constrained Delegation to Attack Active Directory”中对这种攻击背后的理论基础进行了更深入的讨论。

在他的文章“Gone to the Dogs”中,Elad Shamir 概述了一种通过利用自定义 Windows 锁定屏幕的能力,以非特权用户身份获取“基于 HTTP 的计算机帐户 NetNTLM 身份验证”原语的方法。Simone Salucci 和 Daniel Jiménez 随后发布了 Change-LockScreen 工具,该工具允许通过 Cobalt Strike 的信标触发原语,而无需通过 RDP 或控制台访问 与 Windows 桌面进行手动交互。

要成功利用该漏洞,需要满足以下先决条件:

  1. 运行 Windows Server 2012 或更新操作系统的域控制器
  2. 攻击者必须有权访问具有服务主体名称集的用户或计算机帐户对象,或者能够将新计算机添加到域
  3. 域控制器不得配置为强制执行 LDAP 签名和 LDAP 通道绑定(默认设置)
  4. 受害计算机必须安装并运行“webclient”服务(默认安装在 Windows 10 上)
  5. 必须允许用户自定义 Windows 锁定屏幕(默认权限)

在随后的部分中,我们将描述操作员可以通过 Cobalt Strike 完全利用此问题的步骤。在我们的示例场景中,攻击者已成功对用户 JSMITH 进行网络钓鱼,结果在 CONTOSO.LOCAL 域内的 DESKTOP-KOERA35 上执行了代码。在此示例中,CONTOSO.LOCAL 域在运行 Windows Server 2019 的域控制器上以“Windows Server 2008”的域功能级别运行。

通过 Cobalt Strike Beacon 进行开发

操作员必须首先在 Cobalt Strike 中启用和配置 SOCKS 代理,并在 Cobalt Strike Team Server 上安装必要的依赖项。具体来说,利用该问题需要在主机上安装代理链、Python 3 和 Impacket。然后操作员启动一个 SOCKS 代理,在本例中我们利用端口 8889,然后proxychains.conf 文件中配置代理链以利用该端口。

配置 SOCKS 代理功能后,我们必须获得对具有服务主体名称或计算机帐户的用户的访问权限,该用户始终具有服务主体名称集,因为这是执行 S4U Self 和 S4U 代理操作所必需的。我们可以利用“SharpView” 实用程序通过执行程序集从域对象中读取“ms-ds-machineaccountquota”属性。下面给出了执行此操作的示例命令。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
execute-assembly /home/engineer/hgfs/tools/SharpTeam/SharpView.exe Get-DomainObject -Domain CONTOSO.LOCAL

运行此命令的结果输出如下图所示:

假设“ms-ds-machineaccountquota”设置不允许用户创建新的计算机帐户。在这种情况下,攻击者可能会尝试使用通过 Kerberoasting 配置的服务主体名称 (SPN) 来破坏用户。或者,攻击者可能会尝试在其当前用户帐户上设置 SPN。默认情况下,Active Directory 不允许这样做;但是,在某些情况下,管理员可能会修改默认架构权限以允许这样做。

然后我们可以利用下面给出的命令来执行 LDAP 中继攻击。在这种情况下,我们将 HTTP 侦听器配置为侦听端口 8080。然后我们指定“--serve-image”标志以及要设置为锁定屏幕背景的图像路径。需要注意的是,如果用户之前没有配置过锁屏图片,这个图片会在利用完成后显示在用户的锁屏上。如果用户配置了自定义锁屏图像,Change-LockScreen 工具会将该图像恢复为其原始值。默认的 Windows 锁定屏幕个性化图像位于 C:\Windows\Web\Screen\。这些图像可能会被用作新的锁屏图像,而不会提醒用户。我们还指定了“--escalate-user”标志,指示 ntlmrelayx 允许“DESKTOP-JSMITH”用户对任何中继计算机帐户执行 RBCD。我们将主机定位在 192.168.184.135,这是一个 Windows Server 2019 域控制器。此外,“–no-validate-privs”选项可以包含在代理连接速度较慢的环境中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo proxychains python3 examples/ntlmrelayx.py -t ldap://192.168.184.135 --http-port 8080 --
delegate-access --serve-image wallpaper.jpg --escalate-user 'DESKTOP-JSMITH$' --no-dump --
no-da --no-acl

rportfwd 和 Change-LockScreen 命令的预期输出如下所示:

然后,我们可以期望在收到身份验证时看到下面显示的输出。在这种情况下,当前用户帐户 JSMITH 将首先执行身份验证以获取图像。随后将使用计算机帐户密码通过 HTTP 执行后续身份验证。

接下来,我们利用带有 hash 子命令的 Rubeus 实用程序从 DESKTOP-JSMITH 计算机帐户的密码生成 AES256 密钥。此生成的密钥将在后续步骤中用于执行 S4U Self 和 S4U Proxy 操作。下面给出的命令可以与 Rubeus 一起使用,从生成的计算机帐户名和密码生成 AES256 密钥:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/
execute-assembly /home/engineer/hgfs/tools/Rubeus.exe hash /password:3UZBahMCcuTMsDF
/user:DESKTOP-JSMITH$ /domain:CONTOSO.LOCAL

该命令的预期输出如下所示,但有一个关键区别。在这种情况下,我们省略了 /nowrap 标志,以使示例屏幕截图中的命令输出更具可读性。

然后,操作员必须将 Rubeus 生成的票证的格式(代表 kirbi 格式的编码 TGS 票证的 base64 编码字符串)转换为 ccache 格式以与 Impacket 兼容。幸运的是,Impacket 通过利用 ticketConverter.py 实用程序本机支持此操作。操作员可以利用下面给出的命令序列将生成的 base64 编码的 kirbi 文件转换为 ccache 格式。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ vim administrator.kirbi.base64
$ cat administrator.kirbi.base64 | base64 --decode > administrator.kirbi
$ python3 examples/ticketConverter.py administrator.kirbi administrator.ccache

下图显示了在认证和后续执行信标负载时的预期输出。

在这种情况下,操作员会收到一个回调,指示作为管理员用户在高完整性模式下运行的信标已成功执行。检查与生成的信标相关的权限,我们可以看到我们现在在主机上拥有管理权限,如下所示。

我们现在可以使用“socks stop”和“rportfwd stop 80”命令关闭SOCKS代理和远程端口转发,如下图所示,利用完成。攻击者可能希望以管理员用户身份在主机上建立持久性并删除关联的 RBCD 配置,以避免在环境中留下配置更改的残余。

与 Kerberos 相关的常见错误

运营商试图执行“传递票证”或其他基于 Kerberos 的攻击的常见错误是指定 IP 地址或缩写主机名,而不是服务主体名称中指定的值(通常是完整的非缩写主机名) . 这个错误如下图所示。操作员指定了 IP 地址 (192.168.184.144),而不是与生成的 TGS 票证 (DESKTOP-KOERA35.CONTOSO.LOCAL) 关联的服务主体名称中指定的完整主机名。

我们观察到的另一个常见错误是,操作员可能会尝试使用 Rubeus 从主机生成新的信标,以将执行 S4U 时检索到的 TGS 票证导入其当前登录会话。虽然这种技术在针对其他主机时有效,但在尝试使用来自同一主机的 WMI 执行信标时似乎没有执行“完全网络登录”。相反,会利用与流程关联的安全令牌。该结果如下图所示。即使“管理员”用户的 TGS 令牌与他们的登录会话相关,辅助信标仍以“JSMITH”用户的身份产生。为了避免遇到这个问题,我们必须通过使用 SOCKS 将 Impacket 代理到主机来执行完整的网络登录。

整治指导

禁用对 msDS-AllowedToActOnBehalfOfOtherIdentity 字段的写访问似乎是一种有效的权宜之计,可以阻止利用 [1]。但是,此控制一般不能有效地修复 LDAP 中继攻击,仅适用于计算机帐户接管情况。执行 LDAP 签名和 LDAP 通道绑定是一般补救 LDAP 中继攻击风险的最有效的长期措施 [7]。

还存在充分的机会来实施专注于检测基于资源的约束委派或 LDAP 中继攻击的高保真检测。在某些环境中,额外的检测措施可能比实施进一步的技术控制更可取。例如,组织可能会利用许多不支持 LDAP 签名或 LDAP 通道绑定的第三方应用程序,从而使修复变得困难。

防御者可以考虑实施一个新的系统审计控制列表 (SACL),旨在检测对“msDS-AllowedToActOnBehalfOfOtherIdentity”字段的写入。在大多数环境中,基于资源的约束委派的合法用例非常少见。此外,包括 RBCD 在内的 Kerberos 委托通常仅由服务器使用,因此防御者应仔细考虑员工工作站计算机帐户对“msDS-AllowedToActOnBehalfOfOtherIdentity”属性的任何修改。

截至 2020 年 3 月,Microsoft 还支持启用可选的审核设置来审核 LDAP 签名和 LDAP 通道绑定 [10]。可以利用事件 ID 2889 和事件 ID 3039 来识别对 LDAP 进行身份验证的系统,而无需利用通道绑定或 LDAP 签名 [10]。在不支持这些措施的情况下,防御者可能会构建一个运行第三方应用程序的已知主机列表。可以调查与此已知基线的任何偏差,以识别潜在的 LDAP 中继攻击。

结论

本文介绍了在与适当的身份验证原语结合使用时,基于资源的约束委派 (RBCD) 允许本地权限提升(以及潜在的远程代码执行)的方法。我们还介绍了运营商可以使用 Cobalt Strike 执行网络旋转的标准方法。对于从内部渗透测试过渡到红队操作的工程师来说,这个领域经常很棘手,因为通过 Cobalt Strike 而不是客户提供的基于 Linux 的跳转主机使用这些工具很复杂。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Khan安全攻防实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
EasyNVS对接最新版EasyNVR,不显示快照该如何解决?
EasyNVR平台优秀的视频能力在于通过RTSP/ONVIF协议,将前端接入设备的音视频资源进行采集,并转码成适合全平台、全终端分发的视频流格式,包括RTSP、RTMP、FLV、HLS、WebRTC等格式。
TSINGSEE青犀视频
2022/08/11
2530
EasyNVR开启录像后,录像回看无数据的原因分析及解决办法
EasyNVR平台优秀的视频能力在于通过RTSP/ONVIF协议,将前端接入设备的音视频资源进行采集,并转码成适合全平台、全终端分发的视频流格式,包括RTMP、FLV、HLS、WebRTC等格式,从而实现视频监控直播、云端录像、检索与回看、告警等安防监控功能。平台部署轻快、操作便捷、可拓展性强,在安防视频监控市场应用十分广泛, 比如智慧景区、智慧工地、智慧港口、智慧水利等等。
TSINGSEE青犀视频
2022/03/31
6600
RTSP/Onvif协议安防视频平台EasyNVR服务频繁重启是什么原因?
EasyNVR平台优秀的视频能力在于通过RTSP/ONVIF协议,将前端接入设备的音视频资源进行采集,并转码成适合全平台、全终端分发的视频流格式,包括RTSP、RTMP、FLV、HLS、WebRTC等格式。平台可拓展性强、部署轻快,在安防监控领域有着广泛的使用场景,包括智慧工地、智慧工厂、智慧景区、智慧水利等等。
EasyNVR
2023/06/10
2670
RTSP/Onvif协议安防视频平台EasyNVR服务频繁重启是什么原因?
EasyNVR平台设备通道均在线,操作出现“网络请求失败”是什么原因?
EasyNVR平台优秀的视频能力在于通过RTSP/ONVIF协议,将前端接入设备的音视频资源进行采集,并转码成适合全平台、全终端分发的视频流格式,包括RTSP、RTMP、FLV、HLS、WebRTC等格式。EasyNVR既有软件版本也有硬件版本,用户可以根据实际项目场景予以选择。平台可拓展性强、部署轻快,在安防监控领域有着广泛的使用场景,包括智慧工地、智慧工厂、智慧景区、智慧水利等等。
TSINGSEE青犀视频
2022/06/29
3690
EasyNVR更新版本后如何同步RTSP通道?
EasyNVR平台优秀的视频能力在于通过RTSP/ONVIF协议,将前端接入设备的音视频资源进行采集,并转码成适合全平台、全终端分发的视频流格式,包括RTSP、RTMP、FLV、HLS、WebRTC等格式。平台可拓展性强、部署轻快,在安防监控领域有着广泛的使用场景,包括智慧工地、智慧工厂、智慧景区、智慧水利等等。
TSINGSEE青犀视频
2022/08/24
3950
EasyNVR接入300多路RTSP非按需直播视频流,频繁掉线是什么原因?
EasyNVR是一款支持RTSP接入同时也能支持ONVIF协议接入的视频平台,既有硬件设备,也有软件平台,能够实现设备接入、实时视频直播、录像、告警、级联等丰富灵活的视频功能。
TSINGSEE青犀视频
2022/05/07
4180
RTSP/Onvif协议视频平台EasyNVR如何修改运行服务描述?
EasyNVR是基于RTSP/Onvif协议接入的视频平台,可支持将接入的视频流进行全平台、全终端的分发,包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等。平台部署轻快、兼容性高、可拓展性强,功能丰富灵活,在安防视频监控市场上,受到的关注越来越多。
TSINGSEE青犀视频
2022/05/11
3060
通过RTSP协议接入EasyNVR平台的设备显示离线是什么原因?
EasyNVR安防视频云服务是基于RTSP/Onvif协议接入的视频平台,可支持将接入的视频流进行全平台、全终端的分发,分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等。平台丰富灵活的视频能力,可应用在智慧校园、智慧工厂、智慧水利等场景中。
TSINGSEE青犀视频
2023/03/28
2580
RTSP/ONVIF安防视频平台EasyNVR一直提示网络请求失败是什么原因?
EasyNVR平台优秀的视频能力在于通过RTSP/ONVIF协议,将前端接入设备的音视频资源进行采集,并转码成适合全平台、全终端分发的视频流格式,包括RTMP、RTSP、FLV、HLS、WebRTC等格式。
TSINGSEE青犀视频
2023/07/20
2520
通过RTSP协议接入EasyNVR平台的设备显示离线是什么原因?
EasyNVR安防视频云服务是基于RTSP/Onvif协议接入的视频平台,可支持将接入的视频流进行全平台、全终端的分发,分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等。平台丰富灵活的视频能力,可应用在智慧校园、智慧工厂、智慧水利等场景中。
EasyNVR
2023/03/30
2790
通过RTSP协议接入EasyNVR平台的设备显示离线是什么原因?
EasyNVR更新版本后如何同步RTSP通道?
EasyNVR平台优秀的视频能力在于通过RTSP/ONVIF协议,将前端接入设备的音视频资源进行采集,并转码成适合全平台、全终端分发的视频流格式,包括RTSP、RTMP、FLV、HLS、WebRTC等格式。平台可拓展性强、部署轻快,在安防监控领域有着广泛的使用场景,包括智慧工地、智慧工厂、智慧景区、智慧水利等等。
EasyNVR
2022/09/23
4670
EasyNVR更新版本后如何同步RTSP通道?
EasyNVR通过Onvif方式接入的设备云台控制无反应是什么原因?
EasyNVR平台可以通过Onvif协议与摄像头进行网络连接,并实现摄像头的PTZ云台控制,PTZ控制包含转动、变焦等(需要摄像头带云台功能)。与EasyGBS平台不同,EasyGBS是通过国标GB28181协议接入实现云台的控制功能。对EasyNVR云台控制功能感兴趣的用户可以参考我们此前的这篇文章:EasyNVR视频平台调用云台控制协议三大注意点。
TSINGSEE青犀视频
2022/03/11
3950
EasyNVR服务频繁重启是什么原因?
EasyNVR平台优秀的视频能力在于通过RTSP/ONVIF协议,将前端接入设备的音视频资源进行采集,并转码成适合全平台、全终端分发的视频流格式,包括RTSP、RTMP、FLV、HLS、WebRTC等格式。平台可拓展性强、部署轻快,在安防监控领域有着广泛的使用场景,包括智慧工地、智慧工厂、智慧景区、智慧水利等等。
TSINGSEE青犀视频
2023/06/09
2640
EasyNVR因为拉流失败导致反复出现大量视频不在线或不稳定的情况优化
对于EasyNVR来说,由于部署或者使用不当导致的拉流失败问题是常有发生的,本文我们分享一个EasyNVR出现大量的视频不在线的情况,并且这种情况会反复出现,视频的在线和离线很不稳定。
TSINGSEE青犀视频
2021/07/20
6750
EasyNVR因为拉流失败导致反复出现大量视频不在线或不稳定的情况优化
EasyNVR使用FLV格式播放视频流出现302报错是什么原因?
EasyNVR是基于RTSP/Onvif协议的视频平台,拥有视频监控直播、录像、云存储、检索与回看、国标级联等视频能力,可支持将接入的视频流进行全平台、全终端的分发,分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式。
TSINGSEE青犀视频
2022/08/23
4950
EasyNVR平台视频流在iOS端显示黑屏,无法正常播放是什么原因?
EasyNVR平台是基于RTSP/Onvif协议的视频接入、处理及分发平台,可以分发出RTSP、RTMP、WS-FLV、HTTP-FLV、HLS 、WebRTC等格式的视频流,可实现在全终端(PC、手机、平板、电子大屏/电视墙等)播放监控视频。
TSINGSEE青犀视频
2022/06/27
6280
EasyNVR进程启动正常,但是无法以服务方式启动是什么原因?
EasyNVR平台是基于RTSP/Onvif协议的视频平台,可实现的能力有视频监控直播、录像、视频转码分发、检索与回放、存储、智能告警、国标级联等。平台可拓展性强、部署轻快、操作便捷,API简单易用,在安防监控领域有着广泛的使用场景,包括智慧工地、智慧工厂、智慧景区、智慧水利等等。
TSINGSEE青犀视频
2022/05/27
6980
EasyNVR使用FLV格式播放视频流出现302报错是什么原因?
EasyNVR是基于RTSP/Onvif协议的视频平台,拥有视频监控直播、录像、云存储、检索与回看、国标级联等视频能力,可支持将接入的视频流进行全平台、全终端的分发,分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式。
EasyNVR
2022/09/23
7180
EasyNVR使用FLV格式播放视频流出现302报错是什么原因?
安防监控RTSP视频平台EasyNVR不显示通道、无法创建角色是什么原因?
安防视频监控平台EasyNVR可支持设备通过RTSP/Onvif协议接入,并能提供视频实时监控、录像、回放、云存储、告警、平台级联等功能,平台还具备设备管理、用户管理、权限管理、流媒体接入与转发管理等,可对外分发多格式的视频流,包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等。为了便于用户集成调用与二次开发,我们也提供了丰富的API接口供大家使用。
TSINGSEE青犀视频
2023/12/05
2360
EasyNVR如何关闭匿名登录?
EasyNVR是基于RTSP/Onvif协议的安防视频能力平台,它可实现设备接入、实时直播、录像、检索与回放、存储、视频分发等视频能力服务,可覆盖全终端平台(pc、手机、平板等终端),在智慧工厂、智慧工地、智慧社区、智慧校园等场景中有大量落地应用。
TSINGSEE青犀视频
2023/06/16
2870
推荐阅读
EasyNVS对接最新版EasyNVR,不显示快照该如何解决?
2530
EasyNVR开启录像后,录像回看无数据的原因分析及解决办法
6600
RTSP/Onvif协议安防视频平台EasyNVR服务频繁重启是什么原因?
2670
EasyNVR平台设备通道均在线,操作出现“网络请求失败”是什么原因?
3690
EasyNVR更新版本后如何同步RTSP通道?
3950
EasyNVR接入300多路RTSP非按需直播视频流,频繁掉线是什么原因?
4180
RTSP/Onvif协议视频平台EasyNVR如何修改运行服务描述?
3060
通过RTSP协议接入EasyNVR平台的设备显示离线是什么原因?
2580
RTSP/ONVIF安防视频平台EasyNVR一直提示网络请求失败是什么原因?
2520
通过RTSP协议接入EasyNVR平台的设备显示离线是什么原因?
2790
EasyNVR更新版本后如何同步RTSP通道?
4670
EasyNVR通过Onvif方式接入的设备云台控制无反应是什么原因?
3950
EasyNVR服务频繁重启是什么原因?
2640
EasyNVR因为拉流失败导致反复出现大量视频不在线或不稳定的情况优化
6750
EasyNVR使用FLV格式播放视频流出现302报错是什么原因?
4950
EasyNVR平台视频流在iOS端显示黑屏,无法正常播放是什么原因?
6280
EasyNVR进程启动正常,但是无法以服务方式启动是什么原因?
6980
EasyNVR使用FLV格式播放视频流出现302报错是什么原因?
7180
安防监控RTSP视频平台EasyNVR不显示通道、无法创建角色是什么原因?
2360
EasyNVR如何关闭匿名登录?
2870
相关推荐
EasyNVS对接最新版EasyNVR,不显示快照该如何解决?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档