一、用户与组介绍
1.1、用户账户
Windows的用户帐户是对计算机用户身份的识别,且本地用户帐户和密码信息是存储在本地计算机上的(即由:安全账户管理器【Security Accounts Manager】负责SAM数据库的控制和维护;SAM数据库则是位于注册表的【计算机\HKEY_LOCAL_MACHINE\SAM\SAM】下,受到ACL保护),SAM文件在【C:\Windows\System32\config】路径下。SAM对应的进程:lsass.exe 。通过本地用户和组,可以为用户和组分配权利和权限,从而限制用户和组执行某些操作的能力。 不同的用户身份拥有不同的权限 每个用户包含一个名称和一个密码,用户帐户拥有唯一的安全标识符(Security Identifier,SID)。
如果我们去进程管理里面杀死 lsass.exe 进程时,windows会提示遇到错误,然后关机。
1.2、组账户
组账户是一些用户的集合;且组内的用户自动拥有组所设置的权限。
- 组账户是用户账户的集合,用于组织用户账户;
- 为一个组授予权限后,则该组内的所有成员用户自动获得改组的权限;
- 一个用户账户可以隶属于多个组,而这个用户的权限就是所有组的权限的合并集。
二、用户账户与组账户
2.1、用户账户
用户账户分为两种类型:【本地用户账号】和【全局用户账号(也叫:域用户账号)】
- 本地用户账号是创建于本地计算机(它的作用范围:仅仅限于创建它的计算机,控制用户对本地计算机上的资源访问)。
- 全局用户账号创建于域服务器,可以在网络中的任意计算机上加入域后使用,使用范围是整个域网络。
2.1.1、Windows 默认用户账户
Windows的默认用户账户用于特殊用途,一般不用更修改其权限。
默认用户账户 | 含义 | 说明 |
---|---|---|
Administrator | 管理员用户 | 管理计算机(域)的内置帐户(默认禁用) |
DefaultAccount | 默认账户 | 系统管理的用户帐户(默认禁用) |
defaultuser0 | 默认用户 | (默认禁用) |
Guest | 来宾用户 | 提供给访客人员使用(默认禁用) |
WDAGUtilityAccount | Windows Defender用户 | 系统为Windows Defender应用程序防护方案管理和使用的用户帐户(默认禁用) |
Windows组件关联的用户 | 含义 | 说明 |
---|---|---|
System | 本地系统用户 | 为windows的核心组件访问文件等资源提供权限 |
Local Service | 本地服务用户 | 预设的拥有最小权限的本地账户 |
Network Service | 网络服务用户 | 具有运行网络服务权限的计算机账户 |
拥有的权限大小:System > Administrator > User > Guest
2.1.2、用户账户的查看、创建和提升权限
序号 | 命令 | 命令说明 |
---|---|---|
1 | net user | 查看系统账户 |
2 | net user Cm0001 12345 /add | 创建用户是:Cm0001 密码是:123456的账户 |
3 | net user Cm0001 987654 | 修改用户Cm0001的密码为987654 |
4 | net user Cm0001 | 查看用户Cm0001的属性 |
5 | net localgroup administrators Cm0001 /add | 提升用户Cm0001的权限为管理员 |
6 | net user Cm0001 123456 /del | 删除用户Cm0001 |
2.2、组账户
2.2.1、Windows内置的组账户
内置的组账户名称 | 含义 | 说明 |
---|---|---|
Administrators | 管理员组 | 默认情况下Administrator中的用户对计算机 / 域有不受限制的完全访问权,功能有: ①管理文件:Windows系统中,系统磁盘中的文件只能由Administrators组的账户进行更改 ②更改系统安全设置:安装新的功能、更改计算机网络设置、对服务器选项进行设置,这些操作都需要Administraotors组中的用户进行操作。如果用户的权限不够,选择管理员用户进行操作。 默认情况下,Adminiistrator账户处于禁用状态 当它处于请用状态时,Administrator账户具有对计算机的完全控制权限,并根据需要向用户分配权力和访问控制权限,该账户必须仅用于需要管理凭据任务 强烈建议Administrator设置为强密码 永远不可以从管理员组删除Adminsitrator账户,但是可以重命名或禁用该账户 |
Guests | 来宾用户组 | 提供给没有用户帐户但是需要访问本地计算机内资源的用户使用,该组的成员无法永久地改变其桌面的工作环境。该组最常见的默认成员为用户帐号Guest。 ①通常这个账户没有修改系统设置和进行安装程序的权限; ②也没有创建修改任何文档的权限,只能读取计算机系统信息和文件 在windows系统中,Guest账户被任务是不安全的权限账户。 ③默认情况下禁用Guest用户。而且此账户默认为Guests组成员,改组允许用户登陆计算机,其他权力及任何权限都必须由管理员组中的用户成员给与Guests组 |
Power Users | 功能用户组 | 组内的用户具备比Users组更多的权利,但是比Administrators组拥有的权利更少一些,例如,可以:创建、删除、更改本地用户帐户;创建、删除、管理本地计算机内的共享文件夹与共享打印机;自定义系统设置,例如更改计算机时间、关闭计算机等。 ①不可以更改Administrators; ②无法夺取文件的所有权;<br/>③无法备份与还原文件;<br/>④无法安装删除与删除设备驱动程序;<br/>⑤无法管理安全与审核日志。<br/> |
Users | 标准用户组 | Users组账户权限低于Adiministraotrs组的账户,但高于Guests组账户。<br/>①Users组用户可以进入“网络和共享中心”,并查看网络连接状态,但无法修改连接属性;<br/>②Users组用户也无法关闭防火墙;<br/>③Users组用户无法安装软件;<br/>④Users组用户也无法对该用户文件夹以为的C盘进行修改。 |
Remote Desktop Users | 远程桌面用户组 | 组内的成员拥有远程桌面登录的权限;默认Administrators组内的成员都拥有远程桌面的权限 。 Remote Desktop Users组的作用就是保障远程桌面服务的安全运行,一旦赋予Administrator组远程桌面的权限,就像是为入侵者省略了提权的步骤。相对于改变用户组权限,将需要连接远程桌面的用户分到Remote Desktop Users组中是一中更加安全的方式 |
动态包含成员内置组的成员由Windows程序“自动添加” ,Windows会根据用户的状态来决定用户所属的组 ,组内的成员也随之动态变化,无法修改 。
序号 | 动态包含成员内置组 | 说明 |
---|---|---|
1 | Interactive | 动态包含在本地登录的用户 |
2 | Authenticated Users | 何一个利用有效的用户帐户连接的用户都属于这个组;建议在设置权限时,尽量针对Authenticated Users组进行设置,而不要针对Everone进行设置。 |
3 | Everyone | 任何一个用户都属于这个组。注意,如果Guest帐号被启用时,则给Everone这个组指派权限时必须小心,因为当一个没有帐户的用户连接计算机时,他被允许自动利用Guest帐户连接,但是因为Guest也是属于Everone组,所以他将具备Everyone所拥有的权限。 |
2.2.2、组的查看、创建和删除
序号 | 组命令 | 说明 |
---|---|---|
1 | net localgroup | 查看系统的组 |
2 | net localgroup testgroup /add | 新建一个testgroup的组 |
3 | net localgroup testgroup Cm0001 /add | 将用户Cm0001加入testgroup组中 |
4 | net localgroup testgroup | 查看testgroup组内的成员 |
5 | net localgroup testgroup Cm0001 /del | 将用户Cm0001从testgroup组中移除 |
6 | net localgroup testgroup /del | 删除testgroup组 |
7 | net localgroup "remote desktop users" hack /add | 将用户hack加入remote desktop users组中 |
8 | net localgroup "remote desktop users" | 查看remote desktop users组内的成员 |
9 | net localgroup "remote desktop users" hack /del | 将用户hack从remote desktop users组中移除 |
三、访问控制
Windows的访问控制列表(Access Control List):访问权限决定着某个用户可以访问的文件和目录 对于每一个文件和文件夹,由安全描述符(SD)规定了安全数据、安全描述符决定安全设置是否对当前目录有效,或者它可以被传递给其他文件和目录。
当一个用户试图访问一个文件或者文件夹的时候,NTFS 文件系统会检查用户使用的帐户或者账户所属的组是否在此文件或文件夹的访问控制列表(ACL)中。如果存在,则进一步检查访问控制项 ACE,然后根据控制项中的权限来判断用户最终的权限。
3.1、Windows的访问控制
访问控制名称 | 含义 | 说明 |
---|---|---|
Access Control List | 访问控制列表(ACL) | 访问权限决定着某个用户可以访问的文件和目录 对于每一个文件和文件夹,由安全描述符(SD)规定了安全数据 安全描述符决定安全设置是否对当前目录有效,或者它可以被传递给其他文件和目录 |
Access Control environment | 访问控制环境(ACE) | 访问控制项ACE,是指访问控制实体,用于指定特定用户/组的访问权限,是权限控制的最小单位。<br/>①完全控制:对文件或者文件夹可执行所有操作;<br/>②修改:可以修改、删除文件或文件夹;<br/>③读取和执行:可以读取内容,并且可以执行应用程序;<br/>④列出文件夹目录:可以列出文件夹内容,此权限只针对文件夹存在,文件无此权限;<br/>⑤读取:可以读取文件或者文件夹的内容;<br/>⑥写入:可以创建文件或者文件夹;<br/>⑦特别的权限:其他不常用的权限,比如删除权限的权限; |
New Technology File System | 文件系统(NTFS) | 文件夹的NTFS权限 (文件夹内的文件或文件夹会默认继承上一级目录的权限)。<br/>①完全控制:对文件或者文件夹可执行所有操作<br/>②修改:可以修改、删除文件或文件夹<br/>③读取和执行:可以读取内容,并且可以执行应用程序<br/>④读取:可以读取文件的内容<br/>⑤写入:可以修改文件的内容<br/>⑥特殊权限:其他不常用的权限,比如删除权限的权限 |
Security Identifiers | 安全标识符(SID) | SID的说明: 安全标识符是标识用户、组和计算机帐户的唯一的号码。在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的 SID。Windows 2000 中的内部进程将引用帐户的 SID 而不是帐户的用户或组名。如果创建帐户,再删除帐户,然后使用相同的用户名创建另一个帐户,则新帐户将不具有授权给前一个帐户的权力或权限,原因是该帐户具有不同的 SID 号。安全标识符也被称为安全 ID 或 SID。<br/>SID的作用:<br/> 用户通过验证后,登陆进程会给用户一个访问令牌,该令牌相当于用户访问系统资源的票证,当用户试图访问系统资源时,将访问令牌提供给 Windows NT,然后 Windows NT 检查用户试图访问对象上的访问控制列表。如果用户被允许访问该对象,Windows NT将会分配给用户适当的访问权限。 访问令牌是用户在通过验证的时候有登陆进程所提供的,所以改变用户的权限需要注销后重新登陆,重新获取访问令牌。 |
3.2、可以使用命令查看账号的SID
//查看系统当前用户的SID
whoami /user
//查看所有用户的SID
wmic useraccount get name,sid
3.3、用户账户控制(UAC)
用户帐户控制(User Account Control,简称:UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。原理是:通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果。 UAC要求用户在执行可能影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供一个确认的对话框窗口,使用户可以在执行之前对其进行验证,UAC可以帮助防止恶意软件和间谍软件在未经许可的情况下在计算机上进行安装或对计算机进行更改。
3.4、Windows访问控制的其他详细资料
Windows访问控制 - Windows Access Control 【其他的详细资料】
https://rootclay.gitbook.io/windows-access-control/