鉴于之前发布的内容阅读量数据还不错,从今天开始更加深入的跟大家探讨Windows安全的相关内容,当然之前编写的比较仓促,很多的内容有所缺失,本次会对Windows安全加以更新和扩展,同时会更加结合大家实际网络安全工作的需求,增加了等保合规性说明和安全场景演示示例,帮助新手小白就能理解安全场景的应用效果,并在实际工作中进行应用,有啰嗦的地方希望多多包涵,演示仅使用Windows10企业版单机部署,不考虑域场景。如果Windows安全分享的数据比较好后面会逐步更新Linux安全、网络设备安全、数据库安全和渗透测试及安防工具和产品等网络安全相关内容。希望大家多多点赞收藏和转发,你们的支持是我更新的全部动力!


1、Windows三权分立配置

说在前面的车轱辘话:在配置Windows三权分立的时候或者看网上分享的三权分立配置示例的时候,你是否总是感觉配置的很不舒服,难受,感觉怎么配置好像都不是那么回事,配置的三权分立很难适应实际的工作场景,如果你有这种感觉,那这篇文章你一定要好好的看一下。今天就带你来了解一下,其实Windows三权分立在某种程度上来说是一个“伪概念”,为什么?因为Windows内置的权限模型并不是按我们国内的三权分立的概念来设计的,要想了解Windows的安全模型你就必须要了解本地用户和组、内置安全主体、DACL和Se特权等,在安全配置的后面内容会有详细介绍,内容比较多,通过介绍你差不多能了解个大概了。我们先说会所谓的“三权分立”,这个概念的的源头来自于国家保密标准(BMB20-2007)——《涉及国家秘密的信息系统分级保护管理规范》,其核心定义是涉密信息系统必须废除超级管理员,将权限拆分为三类相互独立、相互制约的管理员角色。

系统管理员:负责系统运行、配置、维护。

安全保密管理员:负责用户、权限、安全策略。

安全审计员:负责日志审计、监督、溯源。

这是国内三权分立方案的原始依据,后面这个概念逐渐被某些行业和一些安全合规性的要求所逐渐采纳,有意思的是我们在等保2.0的三级计算环境安全要求中并没有出现所谓“三权分立”的要求,对应的描述是“访问控制”,以等保三级为例。

8.1.4.2访问控制

本项要求包括:

a)应对登录的用户分配账户和权限;

b)应重命名或删除默认账户,修改默认账户的默认口令;

c)应及时删除或停用多余的、过期的账户,避免共享账户的存在;

d)应授予管理用户所需的最小权限,实现管理用户的权限分离;

e)应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则;

f)访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级;

g)应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问。

所以我对于等保的要求是表示深度认可的,它的提法更符合实际。而本文要考虑的东西就是尽可能的将所谓“三权分立”和“访问控制”的要求结合起来,这个到底该怎么做?所以我们实际上是要在Windows系统已有的账户权限上做相应的合规适配,核心是将传统超级管理员Administrator的权限,拆分给系统管理员、安全管理员、审计管理员三个独立角色,实现运维、授权、审计相互制约,将不同的用户分配给不同的组进而实现权限的划分,满足等保/分保要求(但实际很难百分百符合,尤其是针对安全管理员)。

PS:我们必须要明白,安全是一个相对的概念,所以Windows三权分立并没有完全绝对的用例,网上大部分的配置很简单,在我看来并不能真正完全满足所谓“三权分立”的要求,包括我之前Windows加固的文章中的用例也是特定行业的特定配置要求,是极其简单化的,这里是更深入的进行探讨,本文的用例也是自己探索了一定时间后自认为相对合适的三权分立划分方法,你可以按照我的来,也可以在看完本文了解更深入的权限配置规则后自定义你自己的合理的三权划分方式。

PS:建议任何账户分配权限时都根据账户权限等级至少属于Users组或者Power Users组,否则该账户无法本地桌面登录。

1.1系统管理员(sysadmin)的权限范围及配置方式

1.1.1权限划分

1)允许进行系统的安装、配置和维护;

2)允许设备、网络及服务管理;

3)允许软件安装及备份恢复;

4)不得负责用户创建及用户授权、安全策略和审计日志

1.1.2配置方式

1)新建一个系统管理员(sysadmin)

WIN+R---->lusrmgr.msc---->用户---->空白处右键---->新用户

2)给系统管理员(sysadmin)分配相应的组

WIN+R---->lusrmgr.msc---->用户---->sysadmin---->右键---->属性---->隶属于---->添加---->高级---->立即查找---->加入到“Backup Operators”、“Network Configuration Operators”和“Users”组中。

“Backup Operators”能无视所有权限读写整个硬盘和注册表,但不能直接管理系统、改权限或提权,默认仅本地登录,不能远程RDP登录。

“Network Configuration Operators”有部分管理权限来管理网络功能的配置,但禁止管理系统、用户和安全等;可以改IP地址、子网掩码、禁用网卡、重启网络连接等,不能远程桌面登录,不能安装软件和驱动、不能开关机和重启系统等,典型的针对网络运维的“最小权限”。

“Users”防止用户进行有意或无意的系统范围的更改,但是可以运行大部分应用程序,能正常登录、运行软件、关机重启。

将sysadmin加入上述组以后,已经能够基本满足系统维护、设备管理、网络管理、服务管理、备份恢复。

3)针对SE特权,给与显示的允许或者拒绝,在之前配置好组的基础上进一步确认、优化和强化权限。

允许的SE特权:允许本地登录、从网络访问此计算机、关闭系统、配置单一进程性能、配置系统性能、提高计划优先级、为进程调整内存配额、备份文件和目录、还原文件和目录、创建一个页面文件。

拒绝的SE特权:管理审核和安全日志、生成安全审核、取得文件或对象所有权、调试程序、

加载和卸载设备驱动、替换进程级令牌、信任计算机和用户账户可以执行委派。

PS:缺省情况下,在你分配账户相应的组后,只需要允许配置系统性能、为进程调整内存配额、提高计划优先级、配置单一进程性能、创建一个页面文件。其他允许或拒绝的SE特权默认都是OK的,除非你自己之前对SE特权做了变更。

WIN+R---->secpol.msc---->用户权限分配---->选中对应的SE特权---->右键---->本地安全设置---->添加用户或组---->高级---->立即查找---->sysadmin---->确定。

4)配置DACL权限策略

这个我一般不去进行配置,保持默认就好,你只要把上面的权限分配好,这里的DACL一般已经很有保障了。比如Windows的NTFS文件权限其实就是DACL的针对文件和文件夹的一个ACL呈现方式,DACL是更底层的实现,并且支持Windows系统的所有对象。我们大部分时候配置DACL其实说的只是改NTFS文件权限,这只是DACL的一部分而已,你可以先这么理解,除你自己生成或者业务系统生成的特殊重要数据和配置文件外一般没有必要改;因为很多Windows系统自身非常重要的对象都是有较强的保护的,即使你是属于Administrators组你也改不了或者权限不够,比如你可以尝试系统管理员去修改lusrmgr.msc,你会发现要想修改就要更换文件的所有者,而且改起来很麻烦,还要先禁用继承这些东西,最后给它做了NTFS文件权限分配后也很容易出现异常,系统出问题,这是我一直强调的安全永远都是相对的。

1.1.3权限验证

这里我们验证主要是验证sysadmin同secadmin和sysaudit权限差异的地方。

1)sysadmin是否可以创建账户(否)

2)sysadmin是否可以修改自身的权限,把自己加到administrators中。(否)

3)sysadmin可以修改网卡,但需要UAC提权,演示虚拟机中缺省没有配置网卡信息(是)

4)sysadmin是否可以查看安全日志和删除安全日志(但它可以查看其他日志,这是应该的,只要不动安全日志就好)(否)

5)sysadmin是否可以查看和配置本地安全策略(否)

验证结论:从以上验证来看,sysadmin的权限的划分基本满足(这里只是以几个它最核心的权限简单验证)。

1.2安全管理员(secadmin)的权限范围及配置方式

1.2.1权限划分

1)用户账户管理(增删改)

2)权限分配、授权管理

3)安全策略配置

4)密码策略管理

5)安全事件处置

6)不得操作系统配置、不得查看审计日志

1.2.2配置方式

1)新建一个安全管理员(secadmin)

WIN+R---->lusrmgr.msc---->用户---->空白处右键---->新用户---->创建一个属于users组的secadmin账户。

PS:这里务必要了解一件事就是,在Windows10中除了administrator和administrators组中的用户,没有其他任何账户能够做账户的创建和权限的分配,针对这一点,我自己做了各种各样结合本地用户和组、SE特权、注册表、组策略和DACL的方式都没法实现,豆包、deepseek给的所谓的配置方式也全是扯淡,毕竟它参考的也是以前其他人写的所谓的“三权分立”,根本没有什么意义。密码策略和安全策略其本质都在注册表和安全数据库中,其修改时的权限同样需要administrator和administrators组中的用户,所以基于Windows自身的权限管理体系,是没法真正意义上脱离超级管理员去创建一个满足安全管理员权限的账户的,只能是普通管理员登录,待到需要权限的时候提权到超级管理员。

1.2.3权限验证

权限验证就不做了,因为这个根本就没什么意义,想要了解Windows账户权限模型请往后看。

1.3审计管理员(sysaudit)的权限范围及配置方式

1.3.1权限划分

1)审计系统管理员、安全管理员操作行为

2)日志查阅、分析、留存

3)监督违规行为

4)不得参与任何系统管理、授权管理

5)不得修改、删除日志,只能查看导出

1.3.2配置方式

1)新建一个安全管理员(sysaudit)

WIN+R---->lusrmgr.msc---->用户---->空白处右键---->新用户---->创建一个属于Access Control Assistance Operators、Event Log Readers、Performance Monitor Users、Users组的sysaudit账户。

1.3.3权限验证

1)sysaudit无法创建新用户

2)无法为已有用户分配组

3)无法使用组策略编辑器和本地安全策略进行安全策略变更

4)可以查看安全日志

5)不能删除安全日志

验证结论:从以上验证来看,sysaudit的权限的划分基本满足(这里只是以几个它最核心的权限简单验证)。

2、Windows禁用或者重命名超级管理员Administrator

说明:重命名或禁用超级管理员一般而言是指禁用Administrator用户,当我们系统已存在属于Administrstors组的系统管理员用户时,我们可以予以禁用或重命名。否则不建议禁用或重命名Administrator,否则系统风险很大。如需禁用或重命名请先创建另一个超级管理员,并将其设置属于Admnistrators组。

配置方法:WIN+R—>“输入compmgmt.msc”打开"计算机管理"—>“系统工具”—>“本地用户和组”—>“用户”—>"Administrator"右键——重命名(重命名)或点击属性—>勾选“账户已禁用”(禁用)

3、WINDOWS禁用Guest账户且Guests组无多余成员

禁用配置方法同WINDOWS禁用超级管理员,同时将Guests组中的成员全部删除。


4、WINDOWS删除无用账户

说明:删除无用账户前请仔细核实该账户是否有用

配置方法:点击选中你要删除的账户—>右键—>删除即可

5、账户密码策略(设置密码复杂度要求、密码最小长度要求、密码最短使用期限、密码最长使用期限、强制密码历史、用可还原的加密来存储密码)

说明:账户密码策略开启后,并不会实时影响当前使用账户的密码强度,也就是说如果你使用123456作为账户密码,登录时使用123456任然有效;只有当创建账户或修改账户密码时才会强制要求依据密码策略设置密码。

PS:许多时候,在安全检查或等保时,对于本地账号密码复杂度要求我们往往需要从两个部分检查,一是你本身设置或使用的密码的密码复杂度,二是本地安全策略中密码策略是否启用、参数是否合理,二者缺一不可。以往许多安全检查或等保密码策略不看实际使用的密码是什么,主要就是按照本地安全策略密码策略中的配置为检查标准,这是不合理的。

配置方法:WIN+R—>输入secpol.msc打开本地安全策略,依次设置。
设置密码必须符合复杂性要求,开启后密码必须符合下列最低要求:(不能包含用户的帐户名,不能包含用户姓名中超过两个连续字符的部分、至少有六个字符长、包含以下四类字符中的三类字符:、英文大写字母(A 到 Z)、英文小写字母(a 到 z)、10 个基本数字(0 到 9)、非字母字符(例如 !、$、#、%)、在更改或创建密码时执行复杂性要求。

设置密码长度最小值>=8个字符

设置密码最短使用期限为1
如果希望“强制密码历史”有效,则需要将密码最短使用期限设置为大于 0 的值。如果没有设置密码最短使用期限,用户则可以循环选择密码,直到获得期望的旧密码。

设置密码最长使用期限为90天
天数设置为 0,指定密码永不过期。如果密码最长使用期限介于 1 和 999 天之间,密码最短使用期限必须小于密码最长使用期限。如果将密码最长使用期限设置为 0,则可以将密码最短使用期限设置为介于 0 和 998 天之间的任何值。

强制密码历史为5
意味着新密码与旧密码不能有超过5个字符的重复

禁止使用可还原的加密来存储密码(建议禁用,默认就是禁用的)
此策略为某些应用程序提供支持,这些应用程序使用的协议需要用户密码来进行身份验证(如通过远程访问或 Internet 身份验证服务(IAS)使用质询握手身份验证协议(CHAP)验证时需要设置此策略。在 Internet 信息服务(IIS)中使用摘要式身份验证时也需要设置此策略。)。使用可还原的加密储存密码与储存纯文本密码在本质上是相同的。因此,除非应用程序需求比保护密码信息更重要,否则绝不要启用此策略。

6、账户登录失败锁定策略(设置账户锁定时间、账户锁定阈值和重置账户锁定计数器时间)

说明:防止账户密码暴力破解
配置方法:
设置账户锁定阈值为5(ps:当设置锁定阈值为5后,系统默认会将账户锁定时间和重置账户锁定计数器时间设置为30分钟)

修改账户锁定时间为10分钟

修改重置账户计数器时间为3分钟(此时间设置需小于等于账户锁定时间)

7、本地安全审核策略(策略更改、登录事件、对象访问、进程跟踪、目录服务访问、特权使用、系统事件、账户登录事件、账户管理)

说明:在一个完整的信息系统里面,日志系统是一个非常重要的功能 组成部分 。它可以记录下系统所产生的所有行为,并按照某种规范表达出来。我们可以使用日志系统所记录的信息为系统进行排错,优化系统的性能,或者根据这些信息调整系统的行为,是安全审计方面最主要的工具之一。所以我们需要对重要事件进行审核记录,方便日后出现问题时查找问题根源,这也是划分审计管理员实现安全审计必须开启的项目,否则安全审计员没有内容可以审计。

配置方法:设置审核策略更改(成功,失败),设置审核登录事件(成功,失败),设置审核对象访问(成功,失败),设置审核进程跟踪(成功,失败),设置审核目录服务访问(失败),设置审核特权使用(失败),设置审核系统事件(成功,失败),设置审核账户登录事件(成功,失败),设置审核账户管理(成功,失败)。
示例:设置审核策略更改(成功,失败),其它相同。

8、漫谈Windows权限模型

8.1、整体架构:自主+强制的混合访问控制模型

自主访问控制(DAC):资源所有者可自主分配对象权限(如文件所有者可修改 ACL)。

强制访问控制(MAC):系统级强制规则(如特权、安全策略、完整性级别),所有者无法绕过。

审计机制:SACL 记录所有访问行为,支撑权限的审计。

8.2、核心安全组件

安全主体

安全主体指的是任何可被系统认证的实体,包括用户账户、组、服务、计算机和内置安全主体。每个主体存在唯一标识,格式为“S-1-5-21-xxx-xxx-RID”,标识符不会重复,与名称无关。

访问令牌(Access Token)

访问令牌是权限判断的核心凭证,用户登录成功后,由 LSASS.exe(本地安全 authority)生成,令牌内包含:用户的 SID、用户所属所有组的 SID、用户拥有的系统特权列表、UAC 过滤标记(管理员账户会拆分出标准令牌);所有用户启动的进程 / 线程,都会默认携带这个令牌,全程标识用户身份。

安全描述符(Security Descriptor)

每个可安全对象(文件、注册表、服务、进程等)都自带一个安全描述符,包含:

所有者 SID:对象的创建者 / 所有者,永远可以修改自己的权限;

DACL(自主访问控制列表):定义谁能访问这个对象,由多个 ACE 组成;

SACL(系统访问控制列表):定义哪些访问行为需要被审计到安全日。

ACE(访问控制条目)

ACE(访问控制条目):DACL 里的单个规则,格式为「主体 SID + 允许 / 拒绝 + 具体权限」

核心规则:拒绝优先于允许(微软官方强制规则)只要有一条针对该用户的拒绝 ACE,无论有多少允许 ACE,都会直接拒绝访问

继承机制:容器对象(如文件夹、注册表项)的权限会自动继承给子对象,减少配置成本

安全引用监视器(SRM)

SRM 是内核模式的安全网关,是所有访问检查的最终执行者:

位于 ntoskrnl.exe 中,用户模式无法篡改

所有对系统对象的访问请求,都会先经过 SRM

核心函数:SeAccessCheck:对比访问令牌和对象的 DACL,验证权限;SePrivilegeCheck:验证用户是否拥有执行系统操作的特权

8.3、完整访问检查流程

8.4、Windows本地组和内置安全主体的简介及权限

8.4.1、本地组

Access Control Assistance Operators

此组的成员可以远程查询此计算机上资源的授权属性和权限。

权限:是一个只读审计组,唯一的权限是远程读取各类对象(文件、注册表、AD、服务)的ACL权限信息,无任何修改、登录或管理特权,适合最小权限原则下的权限排查与审计角色。如果一个用户只属于这个组,它既不能本地登录系统也不能远程RDP登录系统,因为它没有权限,这里的远程读取权限信息基本上仅限于AD和共享中的账户。

Administrators

对计算机/域有不受限制的完全访问权,仅次于SYSTEM,是Windows用户中的“超级用户组”。

权限:最高权限,几乎无所不能。

Backup Operators

备份操作员为了备份或还原文件可以替代安全限制

权限:能无视所有权限读写整个硬盘和注册表,但不能直接管理系统、改权限或提权,默认允许本地登录和关闭系统,默认没有远程RDP权限,是一个高权限的组,可能由于具备无视ACL直接备份系统和注册表的能力进而导致系统账户密码被破解,风险高。

Cryptographic Operators

授权成员执行加密操作。

权限:无直接分配的敏感Se特权,不拥有 SeBackupPrivilege、SeRestorePrivilege、SeDebugPrivilege 等,仅继承普通用户的基础特权关键权限不在“特权”,而是在对系统加密资源的ACL访问权,主要用于管理证书、配置IPsec、操作密钥存储、运行证书服务(AD CS)可以本地登录和一般的目录遍历。

Distributed COM Users

成员允许启动、激活和使用此计算机上的分布式COM对象,是DCOM远程调用专用组。

权限:允许标准用户在不授予管理员权限的前提下,进行远程 DCOM 对象的启动、激活与调用,是实现远程 WMI、OPC、COM + 跨机通信的最小权限载体。不能远程桌面、不能改系统、不能读敏感文件、不能安装软件、不能提权。

Event Log Readers

此组的成员可以从本地计算机中读取事件日志

权限:允许成员无需管理员权限,即可读取系统所有事件日志(含敏感的安全日志)

Guests

按默认值,来宾跟用户组的成员有同等访问权,但来宾帐户的限制更多

权限:给临时、匿名、不受信任的用户用,权限极低、限制极严,碰不了系统核心,而且用完就走,不留痕迹

Hyper-V Administrators

此组的成员拥有对 Hyper-V 所有功能的完全且不受限制的访问权限。

权限:专门用于管理 Hyper-V 虚拟化功能的内置本地安全组,权限极高,仅次于 Administrators,核心是完全控制所有虚拟机与 Hyper-V 服务。

IIS_IUSRS

Internet 信息服务使用的内置组。

权限:IIS_IUSRS 是 IIS 专用的内置用户组,专门给网站应用程序池运行账号用的,默认权限极低、非常安全。IIS 里每个网站都跑在一个应用程序池(AppPool)里每个应用程序池默认用一个虚拟服务账号运行,就是用来给网站进程分配最小权限,让网站能正常跑起来,但不能乱搞系统。

Network Configuration Operators

此组中的成员有部分管理权限来管理网络功能的配置

权限:是 Windows 内置的半高权限本地组,权限介于普通用户和管理员之间,专门用于最小权限网络管理场景,就是能够用来管理网络配置,但禁止管理系统、用户和安全等;可以改IP地址、子网掩码、禁用网卡、重启网络连接等,不能远程桌面登录,不能安装软件和驱动、不能开关机和重启系统等,典型的针对网络运维的“最小权限”

Performance Log Users

该组中的成员可以计划进行性能计数器日志记录、启用跟踪记录提供程序,以及在本地或通过远程访问此计算机来收集事件跟踪记录

权限:专门用来读性能计数器、写性能日志的最小权限组,安全、低风险,适合监控程序使用,就一句话,它的权限就是用来搞性能监视器的。

Performance Monitor Users

此组的成员可以从本地和远程访问性能计数器数据

权限:专门给只需要查看性能数据、不需要记录性能日志的账号用的最小权限组。

和上面那个 Performance Log Users 是一对 “兄弟组”,和上面相比不能创建、修改和停止性能日志。

Power Users

包括高级用户以向下兼容,高级用户拥有有限的管理权限

权限:历史遗留的半管理员权限组,现代 Windows 中已基本废弃,权限≈标准用户,权限介于 Administrators 和 Users 之间,现在这个组基本上已经没有实际意义。

Remote Desktop Users

此组中的成员被授予远程桌面登录的权限

权限:允许成员远程桌面登录这台电脑(RDP),但不给管理员权限。不能开关机、不能装软件改系统设置、不能创建用户等,不能读安全日志等,权限不大。

Remote Management Users

此组的成员可以通过管理协议(例如,通过 Windows 远程管理服务实现的 WS-Management)访问 WMI 资源。这仅适用于授予用户访问权限的 WMI 命名空间。

权限:允许通过 WinRM / PowerShell Remoting 远程管理,但不给桌面登录与管理员权限,适合自动化与运维后台管理。可以远程连接、执行命令脚本和远程WMI调用,可以查看系统状态、服务、事件日志、性能和配置等,可以理解成命令行管理系统的方式。

Replicator

支持域中的文件复制

权限:专供系统服务(FRS/DFS Replication)执行域与文件复制,不用于普通用户,仅限服务账号使用,绝对不用于人类用户,默认没有任何登录权限,不能开关机

System Managed Accounts Group

权限:专为 Windows 系统内部托管的低权限系统账户而设,完全由系统自动维护。此组的成员由系统管理。仅含 DefaultAccount、严禁人工修改,用于安全运行非核心系统组件。

Users

防止用户进行有意或无意的系统范围的更改,但是可以运行大部分应用程序

权限:Windows 最基础、最安全、默认最常用的内置本地组,所有手动新建的本地用户、域用户,默认都属于这个组。可以进行登录,运行权限内的软件,访问公共目录、普通文件,开关机和重启,读取自己的用户目录等;不能安装软件、驱动,不能修改系统设置、注册表关键项等,不能管理服务,不能改IP和网卡等等。是Windows标准受限用户,只能用电脑,不能改系统。日常办公、开发、上网和运行软件,建议都是用Users组。

8.4.2、内置安全主体

ALL APPLICATION PACKAGES

全称:NT AUTHORITY\ALL APPLICATION PACKAGES

代表:所有UWP / 微软商店应用

权限:运行应用、访问公共目录

判定:Win10/11才有,给应用商店软件用

安全:低风险

ANONYMOUS LOGON

全称:NT AUTHORITY\ANONYMOUS LOGON

代表:未登录、匿名访问(没输账号密码)

判定:共享、IIS 匿名访问、空会话

安全:高风险,禁止给写入/完全控制

Authenticated Users

全称:NT AUTHORITY\Authenticated Users

代表:所有通过身份验证的用户

包含:本地用户 + 域用户

不包含:匿名、来宾

判定:最常用的 “合法用户” 范围

安全:中风险,谨慎给写入

BATCH

全称:NT AUTHORITY\BATCH

代表:批处理 / 任务计划程序运行的任务

判定:任务计划执行时的身份

安全:低

CONSOLE LOGON

全称:NT AUTHORITY\CONSOLE LOGON

代表:直接本地物理登录(接显示器键盘)

判定:本地控制台登录,非远程

安全:低

CREATOR GROUP

全称:CREATOR GROUP

代表:文件 / 对象创建者所在的组

判定:极少用,继承权限占位符

安全:低

CREATOR OWNER

全称:CREATOR OWNER

代表:文件 / 文件夹的创建者本人

判定:谁创建谁自动获得权限

用途:目录权限继承模板

安全:中

DIALUP

全称:NT AUTHORITY\DIALUP

代表:拨号上网用户

判定:几乎淘汰,现代系统不用

安全:无

Everyone

全称:Everyone

代表:所有用户,包括匿名 + 来宾 + 服务

判定:权限范围最大

安全:极高风险,严禁给完全控制 / 写入

INTERACTIVE

全称:NT AUTHORITY\INTERACTIVE

代表:交互式登录用户(本地登录 + 远程桌面)

判定:人坐在机器上操作

安全:中

IUSER

全称:NT AUTHORITY\IUSR

代表:IIS 匿名访问用户

判定:网站匿名访问时的身份

属于:IIS_IUSRS 组

安全:低

LOCAL SERVICE

全称:NT AUTHORITY\LOCAL SERVICE

代表:本地服务账户

权限:比标准用户还小,无网络身份

判定:运行轻量系统服务

安全:较低

NETWORK

全称:NT AUTHORITY\NETWORK

代表:从网络访问本机的用户

判定:非本地登录,如访问共享

安全:中

NETWORK SERVICE

全称:NT AUTHORITY\NETWORK SERVICE

代表:需要网络身份的服务

访问域时身份:域\计算机名$

判定:IIS、DHCP 等服务常用

安全:中

OWNER RIGHTS

全称:OWNER RIGHTS

代表:对象所有者单独权限

作用:分离 “所有者权限” 和管理员权限

判定:高级权限设置里出现

安全:中

REMOTE INTERACTIVE LOGON

全称:NT AUTHORITY\REMOTE INTERACTIVE LOGON

代表:远程桌面(RDP)登录

判定:通过 mstsc 远程登录

安全:中高

SERVICE

全称:NT AUTHORITY\SERVICE

代表:所有 Windows 服务

判定:任何以服务运行的程序

安全:中

SYSTEM

全称:NT AUTHORITY\SYSTEM

代表:操作系统内核级最高权限

权限:高于管理员

判定:系统进程、大部分系统服务

安全:极高权限,严禁滥用

TERMINAL SERVICE USER

全称:NT AUTHORITY\TERMINAL SERVER USER

代表:远程桌面 / 终端服务用户

判定:多会话远程用户

安全:中

This Organization Certificate

代表:本机构颁发的数字证书

判定:证书策略、加密文件系统使用

安全:低

本地账户

全称:本地账户

代表:这台机器上的所有本地用户

不包含:域用户

判定:本地账号范围

安全:中

本地账户和管理员组成员

代表:本地管理员组的所有成员

判定:本地管理员集合

安全:高风险

服务声明的标识

全称:SERVICE ASSERTED IDENTITY

代表:服务自身声明的身份

判定:服务隔离、虚拟账户

安全:低

身份验证机构声明的标识

全称:AUTHENTICATION AUTHORITY ASSERTED IDENTITY

代表:由认证机构(CA / 域)认证的身份

判定:高可信身份

安全:中高

8.5、Windows中的Se特权简介

Windows 中的 Se 特权(Privileges) 是系统级 “超级权限”,用于执行超越普通 ACL 的敏感操作(如调试、提权、绕过文件权限、关机、加载驱动等)。

8.5.1、核心高危特权(最常被滥用 / 提权)

SeDebugPrivilege(调试程序)

权限:可附加 / 打开任意进程(含 SYSTEM、lsass.exe)、读写内存、注入代码、提权至 SYSTEM

默认:Administrators

风险:极高(提权之王)

滥用:注入 lsass 读密码、劫持 SYSTEM 进程、Dump 凭证

SeTakeOwnershipPrivilege(取得对象所有权)

权限:夺取任何文件 / 注册表 / 服务 / 进程的所有权

默认:Administrators

风险:极高

滥用:接管系统文件、替换服务 exe、篡改敏感配置

SeBackupPrivilege(备份文件和目录)

权限:绕过所有 DACL 只读任何文件

默认:Administrators, Backup Operators

风险:高

滥用:复制 SAM、SYSTEM、NTDS.dit、敏感配置

SeRestorePrivilege(还原文件和目录)

权限:绕过所有 DACL 写入任何文件

默认:Administrators, Backup Operators

风险:极高

滥用:覆盖系统文件、植入后门、替换服务执行文件

SeImpersonatePrivilege(身份验证后模拟客户端)

权限:模拟任意用户令牌(含管理员 / SYSTEM)

默认:Administrators, LOCAL SERVICE, NETWORK SERVICE, SERVICE

风险:极高(土豆 / 烂土豆 / RottenPotato 家族)

滥用:服务账号→SYSTEM 提权

SeAssignPrimaryTokenPrivilege(替换进程级令牌)

权限:直接替换进程主令牌(比模拟更强)

默认:LOCAL SERVICE, NETWORK SERVICE

风险:极高

滥用:服务账号直接提权为 SYSTEM

SeTcbPrivilege(作为操作系统的一部分)

权限:Trusted Computing Base,近乎不受限:创建令牌、跳过访问检查Microsoft Learn

默认:SYSTEM

风险:最高(内核级)

滥用:直接构造任意权限令牌

SeLoadDriverPrivilege(加载和卸载设备驱动)

权限:加载内核驱动(Ring0)

默认:Administrators

风险:极高

滥用:安装 rootkit、关闭防护、提权

SeSecurityPrivilege(管理审核和安全日志)

权限:查看 / 清除安全日志、设置 SACL(对象审核)

默认:Administrators

风险:高

滥用:清除入侵痕迹、关闭审计

8.5.2、系统 / 运维类特权(常用但风险可控)

SeShutdownPrivilege(关闭系统)

权限:本地关机 / 重启

默认:Administrators, Users

SeRemoteShutdownPrivilege(从远程系统强制关机)

权限:远程关机

默认:Administrators

SeSystemtimePrivilege(更改系统时间)

权限:修改系统时钟

默认:Administrators, LOCAL SERVICE

SeTimeZonePrivilege(更改时区)

权限:仅改时区,不改时间

默认:Users

SeCreatePagefilePrivilege(创建页面文件)

权限:管理虚拟内存

默认:Administrators

SeLockMemoryPrivilege(内存中锁定页)

权限:禁止内存页被交换到磁盘(数据库 / 实时应用)

默认:无(需手动分配)

SeIncreaseBasePriorityPrivilege(增加进程优先级)

权限:提升进程调度优先级

默认:Administrators

SeProfileSingleProcessPrivilege(配置文件单一进程性能)

权限:监控单个进程性能

默认:Users

SeSystemProfilePrivilege(配置文件系统性能)

权限:全局系统性能监控

默认:Administrators, NT SERVICE\Wbem

SeIncreaseQuotaPrivilege(为进程调整内存配额)

权限:修改进程内存 / IO 配额

默认:Administrators

SeCreateTokenPrivilege(创建令牌对象)

权限:直接创建访问令牌(极强)

默认:SYSTEM

风险:极高

SeEnableDelegationPrivilege(启用账户委托)

权限:将账户 / 计算机标记为 “可信任委派”(域环境)

默认:Administrators

8.5.3、登录 / 会话 / 网络特权

SeInteractiveLogonRight(本地登录)

权限:允许控制台登录

默认:Administrators, Users

SeNetworkLogonRight(从网络访问此计算机)

权限:SMB / 共享 / RPC 网络访问

默认:Everyone, Administrators, Users

SeRemoteInteractiveLogonRight(通过远程桌面服务登录)

权限:RDP 远程登录

默认:Administrators, Remote Desktop Users

SeServiceLogonRight(作为服务登录)

权限:账户可用于 Windows 服务登录身份

默认:无(手动分配)

SeBatchLogonRight(作为批处理作业登录)

权限:任务计划程序(Task Scheduler)运行身份

默认:Administrators

8.5.4、低风险 / 默认启用特权(几乎无害)

SeChangeNotifyPrivilege(绕过遍历检查)

权限:可遍历目录(即使无该目录权限)

默认:Everyone 启用

安全:无风险

SeAuditPrivilege(生成安全审核)

权限:进程可写入安全日志

默认:LOCAL SERVICE, NETWORK SERVICE, SYSTEM

SeCreatePermanentPrivilege(创建永久共享对象)

权限:创建永久对象(如 \BaseNamedObjects)

默认:Administrators

SeUndockPrivilege(从扩展坞中取出计算机)

权限:笔记本安全弹出坞站

默认:Users

SeSyncAgentPrivilege(目录服务同步)

权限:域控制器 LDAP 同步

默认:Domain Controllers

8.6、内置安全主体和组的区别

两者是Windows权限里最容易混淆、但又最核心的一对概念,两者都是对权限的控制,在权限里的用法完全一样,但他们两个是完全不同的东西,或者说是两种在不同维度上权限控制的具体实现。

组可以理解成是容器和角色,可以给组手动添加或者删除成员,而组中的每个成员都是一个具体账户,是用来根据人来进行权限划分的,也就是说它权限划分的维度在于人。

而内置安全主体则不是容器或角色的概念,不能加人,是系统动态判定的一种底层系统身份;内置安全主体是根据登录方式、身份类型、运行环境来进行划分的,它的本质是系统自动根据登录场景/身份类型打上标签,进而根据你打上的标签来判断你的权限。

内置安全主体的权限相对于本地组来的更底层更基础,比如内置安全主体SYSTEM的权限比administrators(系统管理员组)更大;内置安全主体Everyone包含所有用户+匿名+服务账户,它标识的范围比本地组administrators和users要大得多,是系统底层身份。

8.7、内置安全主体和组的联系

在Windows本地用户和组中我们可以看到,可以将内置安全主体添加为组中的成员,这就是两者核心联系的地方,但通常不建议这么做,因为会带来较大的风险,既然两者是从不同维度对权限的管理,就让他们各自作用比较好。比如在本地管理员组Administrators中添加Authenticated Users安全主体,那就会导致所有已验证授权登录的用户都会是管理员,会造成非常严重的权限泛滥。

8.9、Windows本地组的权限是怎么来的?

Windows 本地组的权限,本质上来自 “系统预设 + 安全策略指派 + DACL 授权” 三层叠加,不是组天生自带,而是系统与管理员共同赋予的。

系统预设 + 安全策略指派 其实就可以理解成系统安装时和根据实际需求,给用户组分配的Se特权,相当于强制访问控制。

DACL 授权包括对文件、注册表和服务的访问控制,主要来自于系统默认的ACL+管理员手动授权,相当于自主访问控制。

简单来说,两者是Windows系统的两大权限体系,DACL管的是能不能访问某个对象(这里的对象包含文件、文件夹、注册表项、进程、服务、打印机、共享目录、AD对象等);而SE特权管的是能不能做系统级操作。SE特权可以绕过DACL,不受DACL的限制,这就是它强制访问控制中的强制性的体现。

8.10、你的权限是如何真正取得的?

我们假设一个系统管理员账户本地登录操作系统,它的权限是怎么得到的,首先要看他所属组权限及的用户和所属组的SE特权,还要看它内置安全主体的权限,比如你登录输入了账号密码就有Authenticated Users的内置安全主体的权限,还要看你是本地还是远程登录,你又会有其他内置安全主体的权限,接着还要看DACL的权限,最终这些共同构成你登录系统时候的权限。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐