如何利用 SID History 创建域控权限后门?

本文讲的是如何利用 SID History 创建域控权限后门?,本文的内容描述了一种方法,通过该方法,攻击者可以在拥有域管理级别的权限的5分钟后,就可以持续的对Active Directory进行管理访问。

SID历史记录是支持迁移方案的属性。每个用户帐户都有一个关联的安全标识符(SID),用于跟踪安全主体和连接到资源时的帐户及访问权限。SID历史记录允许另一个帐户的访问被有效的克隆到另一个帐户。这是非常有用的,其目的是确保用户在从一个域移动(迁移)到另一个域时能保留原有的访问权限。由于在创建新帐户时用户的SID会发生更改,旧的SID需要映射到新的帐户。当域A中的用户迁移到域B时,将在DomainB中创建新的用户帐户,并将DomainA用户的SID添加到DomainB的用户帐户的SID历史记录属性中。这样就可以确保DomainB用户仍可以访问DomainA中的资源。

其中有趣的部分是SID历史在同一个域中的作用与SID在跨越多个域的同一个林中的是相同的,这意味着DomainA中的常规用户帐户可以包含DomainA 的SID,如果DomainA 的SID用于特权帐户或组,就可以授予常规用户帐户域管理员权限,而不需要成为域管理员组的成员。

注意:域中的常规用户可以在其Active Directory林中的其他域中的SID历史记录中包含企业管理员SID,从而将用户帐户的权限“升级”为域或林的管理员权限,这对林中的所有域都有效。如果你没有启用SID筛选(也称为隔离区)的林信任,则可以从另一个林中注入SID,并在进行身份验证后将其用于访问评估时将其添加到用户令牌。

Mimikatz支持SID历史注入到任何用户帐户(需要域管理员或等效的权限)。在这种情况下,攻击者创建用户帐户“bobafett”,并将该域的默认管理员帐户“ADSAdministrator”(RID 500)添加到帐户的SID历史记录属性中。

当bobafett帐户登录时,与该帐户相关联的所有SID都将添加到用于确定对资源的访问权限的用户令牌中。与帐户相关联的SID是用户的SID,用户是其成员的组SID(包括组成员的组)和SID历史记录中包含的SID。

使用PowerShell Active Directory cmdlet“Get-ADUser”,我们可以看到没有分配给bobafett帐户的组成员身份,尽管它在SIDHistory(ADSAdministrator帐户)中具有其SID。

当bobafett登录时,将对与该帐户相关联的SID进行评估,并根据这些SID来确定访问权限。由于bobafett帐户与ADSAdministrator帐户(RID 500)相关联,因此,bobafett帐户具有ADSAdministrator帐户的所有访问权限,包括域管理员权限。

利用bobafett用户帐户和通过SID历史授予的权限,可以使用PowerShell远程处理从域控制器中提取KRBTGT帐户密码数据。

检测方法

检测SID历史记录帐户提权的最佳方法是枚举所有具有SID历史记录属性的用户的数据,并标记包含同一域*中的SID的用户。如果用户尚未迁移,你可以使用SIDHistory属性中的数据来搜索所有用户。这就是为什么要在迁移完成后清除SID历史记录(并将用户添加到正确的组以获得所需的资源的访问权限)的原因。

PowerShell AD Cmdlet“Get-ADUser”对于检测“同一域的SID历史记录”非常有用:

# Detect Same Domain SID History Import-Module ActiveDirectory [string]$DomainSID = ( (Get-ADDomain).DomainSID.Value )
Get-ADUser -Filter “SIDHistory -Like ‘*'” -Properties SIDHistory | ` Where { $_.SIDHistory -Like “$DomainSID-*” }

下图显示了运行“相同域的SIDHistory”检测PowerShell脚本的结果。请注意,用户的SIDHistory属性中的SID以“500”结尾,默认的域管理员帐户是 Administrators, Domain Admins, Schema Admins 和Enterprise Admins这些用户组的成员。

*注意:在多个域的林中,建议在林中的每个域以及受信任的域或林中查找管理组SID(和成员帐户SID)。

通过域控制器事件进行检测

使用以下事件ID进行日志记录可以检测出成功修改或尝试修改SIDHistory属性却失败的操作:

在帐户管理下配置子类别审核,并在域控制器上的“审核用户帐户管理”(成功)中选择以下事件ID:

·  4765:SID历史记录被添加到一个帐户。

·  4766:尝试将SID历史记录添加到帐户的失败事件。

原文发布时间为:2017年7月3日

本文作者:丝绸之路

本文来自合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。

原文链接

时间: 2024-09-11 21:23:38

如何利用 SID History 创建域控权限后门?的相关文章

利用css对shiny页面优化及利用htmlwidgets包创建HTML控件

内容来源:2017年5月20日,乐逗游戏高级数据分析师在"第十届中国R会议软件工具专场"进行<HTTPS最佳安全实践>演讲分享.IT大咖说作为独家视频合作方,经主办方和讲者审阅授权发布. 阅读字数: 753 用时: 3分钟 摘要 本演讲将介绍如何利用CSS对shiny页面进行个性化设计及在网页中嵌入视频:并通过一个详细案例介绍了利用htmlwidgets包开发HTML控件,基于D3.JS库创建简单的交互桑基图,包括控件创建.函数修改.数据调用及与shiny结合的演示. 嘉宾

基于VC++中ATL创建ActiveX控件的探讨

引言 ActiveX控件是微软公司提供的功能强大的程序设计和开发技术,是COM组件开发技术的重 要组成部分.它是OLE的第三个版本,对原先OLE控件的最大扩展是增加了Internet功能,它 不仅可以在支持OLE控件的容器中使用,更可以作为一个Internet控件,直接成为网页的一部 分.另外,ActiveX控件作为一种可重用的组件,相当于一个封装好的代码模块,它是通过其 方法.属性.事件来与应用程序进行通信的,此外,ActiveX控件是与开发语言无关的.用户 在使用控件时不必考虑它是VC还是用

如何利用Windows Server Backup备份数据进行域控裸机还原

在<利用Windows Server Backup功能备份活动目录 >一文中我讲解了如何进利用Windows Server Backup功能来对域控进行备份,在本次的博文中,我们就一起来看看如何还原之前利用Windows Server Backup备份的域控信息来进行裸机还原操作: 操作步骤可参考如下: 1) 开机加载Windows Server 2008 R2 SP1光盘至服务器光驱,从光盘启动: 2) 在下图所示页面中,单击"下一步"按钮: 3) 在下图所示页面中,选择

组合利用AdminSDHolder和SDProp打造隐蔽域控后门

本文讲的是组合利用AdminSDHolder和SDProp打造隐蔽域控后门,本文中的内容描述了一种方法,通过该方法,攻击者可以在拥有域管理员级别的权限的5分钟后,就可以持续对Active Directory的进行管理访问. AdminSDHolder概述 AdminSDHolder是位于Active Directory中的系统分区(cn = adminsdholder,cn = system,dc = domain,dc = com)中的一个对象,通常作为某些特权组成员的对象的安全模板.枚举这些

利用存储过程创建表提示权限不足,但是单独创建就可以

问题描述 利用存储过程创建表提示权限不足,但是单独创建就可以 利用存储过程创建表提示权限不足,但是单独创建就可以 create or replace procedure PRC_GZF_BZ_YWSLID(ywslid in verchar2) as L_YWSLID verchar2(30); tpg_gzfspbnum verchar2(30);begin L_YWSLID:=ywslid; tpg_gzfspbnum:='tpg_gzfspb'||L_SLIDID;execute imme

从活动目录中获取域管理员权限的6种方法

本文讲的是从活动目录中获取域管理员权限的6种方法,通常,在大多数企业当中,攻击者根本不需要太长的时间,就可以将域中普通用户的权限提升到域管理员的权限.公司运维人员会困惑,"这一切都是怎么发生的?" 一次攻击,往往开始于公司中的一个或多个用户打开了恶意邮件,使得攻击者可以在目标网络中的计算机上执行恶意代码.一旦恶意代码被运行,攻击者就会利用恶意代码对企业内网进行侦查,以便于发现有用的资源进行提权,进行持久控制,当然,他们还有可能进行信息掠夺. 虽然整体的细节以及流程大多不同,但是他们的目

在阿里云ECS上轻松实现无域控的SQL Server AlwaysOn可用性组

在阿里云ECS上轻松实现无域控的SQL Server AlwaysOn可用性组 前言 SQL Server AlwaysOn功能在SQL Server 2012版本就已经出来了,AlwaysOn 可用性组功能是一个提供替代数据库镜像的企业级方案的高可用性和灾难恢复解决方案,可最大程度地提高一组用户数据库对企业的可用性.从我的角度来看,这个功能提供的是革命性的改变,首先他实现了多个副本并且可读,非常方便实现读写分离方案,比起使用Database Mirroring +Relication实现读写分

Samba 系列(五):将另一台 Ubuntu DC 服务器加入到 Samba DC 实现双域控主机模式

这篇文章将讲解如何使用 Ubuntu 16.04 服务器版系统来创建第二台 Samba4 域控制器,并将其加入到已创建好的 Samba AD DC 林环境中,以便为一些关键的 AD DC 服务提供负载均衡及故障切换功能,尤其是为那些重要的服务,比如 DNS 服务和使用 SAM 数据库的 AD DC LDAP 模式. 需求 这篇文章是 Samba4 AD DC 系列的第五篇,前边几篇如下: 1.在 Ubuntu 系统上使用 Samba4 来创建活动目录架构 2.在 Linux 命令行下管理 Sam

通过ASP.net程序创建域帐户故障

asp.net|程序|创建 我曾经成功地使用windows程序成功的创建了一批带邮箱的域帐户,但是,当我把这段代码交给我的一个同事(她负责开发Web应用)迁移到asp.net中后,只能创建域帐户,不能创建邮箱.为什么呢? 我们咨询了微软的工程师,他告诉我们,这是由于asp.net的权限不够,我们应该在asp.net模拟用户,这样就可以成功创建. 我将微软的相关文章摘录下来: 模拟 IIS 验证的帐户或用户 若要在收到 ASP.NET 应用程序中每个页的每个请求时模拟 Microsoft Inte