组策略与ACL

组策略的部署及下发原理​

  • 本地组策略和域内组策略
  • 域服务器如何存储组策略
  • 组策略的下发和获取
  • 客户端如何存储组策略

Server Manager 的组策略管理工具​

更专业的组策略管理工具GPMC,可以管理多个域 创建并编辑组策略的内容 组策略分作主机策略和用户策略,machine和users目录; 脚本类型和非脚本类型, script目录 管理组策略的应用范围(演示)

组策略的存储​

存储在服务器中,\domain\sysvol\policies,以明文方式存储为xml、ini、inf等文件 对域内所有用户开放读权限

组策略的更新​

  • 客户端每90分钟主动获取一次组策略,检查组策略是否发生变更
  • 客户端使用gpupdate /force强制立即检查组策略
  • 参数可以分为主机和用户,gpupdate /force /target:computer

组策略的下发和获取​

组策略的查询原理: LDAP检索所有的组策略,那些属于自己的 查询组策略,服务器决定需要返回哪些策略(版本号是决定的重要因素)

ACL 访问控制链​

Access Control Link​

  • Windows安全对象的ACL
  • 所有的Windows对象都称为安全对象,文件、进程、注册表、内存等
  • 为每个安全对象赋予一个安全描述符(Security descriptor)
  • Security identifiers (SIDs)for the owner and primary group of an object
  • A DACL that specifies the access rights allowed or denied to particular users or groups
  • a SACL that specifies the types of access attempts that generate audit records for the object

DACL​

DACL由多个ACE(Access Control Entry)组成
siidocbhhkl7304.jpg

Windows 的访问控制​

  • Windows的访问控制包括三部分:访问令牌、对象安全描述符和访问检查
  • 访问令牌作为一个容器,通过Token体现
  • 对象安全描述符表示目标对象的安全属性,通过安全矩阵详细描述该对象赋予不同用户组的权限
  • 访问检查表示通过比较访问令牌和ACL,以决定该进程是否具有访问时申请的相应权限
    5wjq2df2hrg7305.jpg
Windows中高权限服务、进程所拥有的文件、目录如果存在着ACL设置不当,对低权限用户开放了“写”甚至“执行”权限,低权限用户可以通过修改、替换文件内容来达到执行指定代码的目的。例如Windows的System332目录如果开放了写权限,则可以向目录写入一个DLL,等待系统重新启动是,由 Svchost等程序加载即可实现权限提升(演示)

ACL 安全审计​

Sysinternalsuit提供的accesschk.exe可以对指定的目录、文件进行ACL检查,命令为accesschk.exe -w -s directory 其中directory为需要检测的目录
accesschk.exe,可以审计进程对所有用户组开放的权限。采用规则accesschk.exe -ppid可以获取某个进程开放的权限,其中pid可以用‘*’代,表示检测所有进程对不同用户组开放的权限。为了保证正常运行,运行Taccesschk.exe时需要较高的权限
2fr5ffy2xm07306.jpg

利用​

进程ACL漏洞的利用方法

第一种​

通过OpenProcess获取进程句柄,并将目标代码写入该进程空间中,以该进程的权限运行这些代码,运行代码权限为该进程权限;

第二种​

通过OpenProcess获取进程句柄,再通过OpenProcessToken获取该进程的Token,并利用该Tokeni通过CreateProcessAsUser新的进程,新的进程权限和目标进程权限一致。
gqndldth0pb7307.jpg
msg1jppuutf7308.jpg

注册表的 ACL​

注册表中的启动项、服务加载项如果对低权限用户开发了写权限,低权限用户可以向这些表项写入指定的文件,等待系统重新启动后实现权限提升 使用命令accesschk.exe -w -s -k HKLM,表示递归的扫描HKLM中开放了写权限的表项
 
뒤로
상단