目录

组策略与ACL

组策略的部署及下发原理

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

Server Manager 的组策略管理工具

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

组策略的存储

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

组策略的更新

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

组策略的下发和获取

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

ACL 访问控制链

  • 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)组成 https://geekby.oss-cn-beijing.aliyuncs.com/MarkDown/20190724213505.png-water_print

Windows 的访问控制

  • Windows的访问控制包括三部分:访问令牌、对象安全描述符和访问检查
  • 访问令牌作为一个容器,通过Token体现
  • 对象安全描述符表示目标对象的安全属性,通过安全矩阵详细描述该对象赋予不同用户组的权限
  • 访问检查表示通过比较访问令牌和ACL,以决定该进程是否具有访问时申请的相应权限 https://geekby.oss-cn-beijing.aliyuncs.com/MarkDown/20190724213519.png-water_print

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时需要较高的权限

https://geekby.oss-cn-beijing.aliyuncs.com/MarkDown/20190724213529.png-water_print

利用

进程ACL漏洞的利用方法

第一种

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

第二种

通过OpenProcess获取进程句柄,再通过OpenProcessToken获取该进程的Token,并利用该Tokeni通过CreateProcessAsUser新的进程,新的进程权限和目标进程权限一致。 https://geekby.oss-cn-beijing.aliyuncs.com/MarkDown/20190724213426.png-water_print https://geekby.oss-cn-beijing.aliyuncs.com/MarkDown/20190724213552.png-water_print

注册表的 ACL

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