首页 > 其他分享 >域内权限维持:AdminSDHolder

域内权限维持:AdminSDHolder

时间:2023-01-29 10:23:35浏览次数:56  
标签:ACL https AdminSDHolder bypass 权限 com 维持

01、简介

AdminSDHolder是一个特殊的AD容器,通常作为某些特权组成员的对象的安全模板。Active Directory将采用AdminSDHolder对象的ACL并定期将其应用于所有受保护的AD账户和组,以防止意外和无意的修改并确保对这些对象的访问是安全的。如果攻击者能完全控制AdminSDHolder,那么它就能同时控制域内的许多组,这可以作为域内权限维持的方法。

 

02、利用方式

(1)AdminSDHolder对象添加ACL

使用PowerView,地址如下:

https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1

添加用户bypass对AdminSDHolder的完全访问权限,命令如下:

Add-ObjectAcl -TargetADSprefix 'CN=AdminSDHolder,CN=System' -PrincipalSamAccountName bypass -Verbose -Rights All

 

(2)执行SDProp

SDProp进程每60分钟(默认情况下)在包含域的PDC模拟器(PDC)的域控制器上运行一次,SDProp将域的AdminSDHolder对象的权限与域中受保护的帐户和组的权限进行比较。如果任何受保护帐户和组的权限与AdminSDHolder对象的权限不匹配,则将受保护帐户和组的权限重置为与域的AdminSDHolder对象的权限匹配。

配置完成后ACL 中的更改将在 60 分钟后自动传播,可通过更改注册表的方式设置SDProp 的时间间隔,该值的范围是从60到7200,单位为秒,键类型为DWORD可以直接使用命令行更改:

reg add hklm\SYSTEM\CurrentControlSet\Services\NTDS\Parameters /v AdminSDProtectFrequency /t REG_DWORD /d 60

 (3)登录bypass用户,可疑看到bypass非域管用户,却可以将自己添加到“域管理员”组。

 

 

 03、检测方法

(1) 查看AdminSDHolder对象属性

 在域控上运行窗口中输入adsiedit.msc,通过查看AdminSDHolder对象的属性,可以看到用户bypass已拥有完全控制的权限,找到异常用户。

(2)这个攻击手法的核心点在于需要修改AdminSDHolder的ACL,因此我们只需要检测对AdminSDHolder的ACL的修改行为即可,可以通过5136日志来监控。

注意点:由于AdminSDHolder对象的机制,即使在 60 分钟内检测到一个帐户并将其从高特权组中删除(除非强制执行),这些权限也将被推回。

 

 

 

 

 参考连接:

https://learn.microsoft.com/zh-cn/windows/security/threat-protection/auditing/event-4780

https://blog.csdn.net/qq_41874930/article/details/111595319

https://www.chuanpuyun.com/article/5364.html

https://cloud.tencent.com/developer/article/1929866

https://anquan.baidu.com/article/877

标签:ACL,https,AdminSDHolder,bypass,权限,com,维持
From: https://www.cnblogs.com/xiaozi/p/17049245.html

相关文章

  • 域内权限维持:SID History后门
    01、简介每个用户都有一个关联的安全标识符(SID),SIDHistory的作用是在域迁移过程中保持域用户的访问权限,即如果迁移后用户的SID改变了,系统会将其原来的SID添加到迁移后用户......
  • 域内权限维持:Skeleton Key(万能密码)
     01、简介SkeletonKey(万能密码),是一种可以对域内权限进行持久化的操作,通过将SkeletonKey注入到lsass进程,无需重启域控即可生效,而且能够在不影响当前域用户正常登录的情......
  • 更改linux文件/目录的权限、拥有者及用户组
    在Linux中,创建一个文件时,该文件的拥有者都是创建该文件的用户。该文件用户可以修改该文件的拥有者及用户组,root用户可以修改任何文件的拥有者及用户组。在Linux中,对于文......
  • linux文件权限命令学习
    ls命令可以查看Linux系统上的文件、目录和设备的权限。上述ls-l命令中显示的第一列就是文件权限信息,共11位字符,分5部分。第1位表示存档类型,d表示目录,-表示一般文件。......
  • Linux笔记03: Linux常用命令_3.5权限管理命令
     3.5权限管理命令3.5.1权限介绍1.为什么需要权限绝大多数用户使用的是个人计算机,而使用个人计算机的用户一般都是被信任的用户(如家人、朋友等)。在这种情况下,大家都可......
  • ASP.NET2.0运行时提示:以一种访问权限不允许的方式做了一个访问套接字的尝试
    在调试ASP.NET的时候常出现如下错误错误消息框:   未能开始侦听端口xxxxx以一种访问权限不允许的方式做了一个访问套接字的尝试解决方法:找到该项目的sln......
  • PHP语言Laravel9+Layui后台权限管理系统
    项目介绍一款PHP语言基于Laravel9.x、Layui、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建前后端分离后台管理系统,本着......
  • Linux系统入门-用户身份与文件权限
    用户身份与文件权限现在操作系统具有权限功能用户身份1、管理员UID为02、系统用户UID一般为1-9993、普通用户UID从1000开始创建新用户---useradduseraddeve查看ideve创建......
  • C++ 基础语法5(封装、访问权限)
    #include<iostream>usingnamespacestd;//标注空间#include<string>#include<time.h>#include<cstdlib>//C++当中面向对象三大特性:封装、继承、多态//C++当中万事万物都能......
  • mongodb权限配置
    1、mongodb的mongo.conf文件启动参数(1)./mongod--port=27017--host=127.0.0.1--dbpath=db--logpath=27017.log--fork=truehttps://blog.csdn.net/GY325416/article/......