Windows操作系统的帐号角色权限
1.Windows操作系统的帐户:
• Windows操作系统好比一间富丽堂皇的宫殿,大门的门锁是身份和权限鉴别器,到访人员是账户,钥匙是验证其身份和权限的措施。
<1.>本地系统帐户,Local System Account
本地管理员帐户,Local Administrator Account
特点:系统帐户和管理员帐户 (管理员组) 有相同的文件权限,但它们具有不同的功能:通过操作系统和在 Windows 下运行的服务使用系统帐户;系统帐号是内部帐户,不显示在用户管理器(lusrmgr.msc)中,不能添
加到任何组中,并且不能把用户权限分配给它;系统帐户,有时显示为SYSTEM,有时,显示为LocalSystem;本地系统帐户,在安全的角度看具有非常大的能力。
<2>.网络服务帐户,network service account
特点:用来提供给既希望利用计算机帐户来向网络上其他机器认证身份,但是,又不需要Administrators组的所属权这样的服务身份来被使用;只能访问很少量的注册表键、文件夹、文件;只赋予少量特权,限制能力范
围;运行在network service account的进程,不可能加载设备Driver或打开任意的进程;属于Network Service组。
<3>.本地服务帐户,local service account
特点:几乎等同于网络服务帐户;隶属于Local Service组。
<4>.本地系统帐户,Local System Account
特点:是核心的、Windows用户模式、操作系统组件运行时,所在的帐户;绝大多数文件和注册表键(HOST_LOCAL_KEYS),都赋予本地系统帐户,完全的访问权限;当系统是Windows域中的一个成员,本地系统帐户包含了一个服务进程运行时所在计算机的机器安全标识符(SID),因此,一个运行在本地系统帐户中的服务,通过利用它的计算机帐户,即可自动地在同一个域林中的其他机器,得到身份认证。
组件包括:
• 会话管理器(%SystemRoot%\System32\Smss.exe);
• Windows子系统进程(Csrss.exe);
• 本地权威进程(%SystemRoot%\System32\Lsass.exe);
• Logon进程(%SystemRoot%\System32\Winlogon.exe)。
<5>.服务账户的组成员关系图:
2.Windows操作系统的角色:
<1>.Administrators,管理员,对计算机/域有不受限制的完全访问权;
<2>.Users,普通用户,防止用户进行有意或无意的系统范围的更改,但是可以运行大部分应用程序;
<3>.Guests,来宾访客,来宾跟用户组的成员有同等访问权,但来宾帐户的限制更多;
<4>.Hyper-V Administrators,虚拟化管理员,对Hyper-V所有功能的完全且不受限制的访问权限;
<5>.IIS_IUSRS,Web服务,Internet 信息服务使用的内置组;
<6>.Power Users,超级管理员,包括高级用户以向下兼容,高级用户拥有有限的管理权限;
<7>.Remote Desktop Users,远程桌面使用,授予远程登录的权限;
<8>.Performance Monitor Users,性能监视,可以从本地和远程访问性能计数器数据。
• 通过lusrmgr.msc工具,查看角色设置。
3.Windows操作系统的权限:
• 理解Windows访问控制(Access Control)权限(Permissions),需要理解几个关键概念和工作机制,在应急响应工作中,才能事半功倍、掌握关键线索:安全标识符(SID)、访问令牌、安全描述符、访问控制管理(权限)、特权。
<1>.安全标识符
特点:每个用户和系统需要为之做出信任决策的每个实体,都会被赋予一个安全标识符(Security Identifier,SID);SID具有唯一性,具有多种不同的形式,伴随实体整个生命周期;Windows不以帐户名称来标识用户,使用
SID全局标识;用户、用户组、域用户组、本地计算机、域、域成员、服务,都有SID
格式:
S-Revision Level-Authority Value-Relative Identifier
• *Revision Level:结构版本号;
• *Authority Value:48位,标识符机构值;
• *Relative Identifier:可变数量的,32位子机构值或相对标识符。
著名的 SID:
• LocalSystem:S-1-15-18
• LocalService:S-1-15-19
• Netword Service:S-1-15-20
• Administrators:S-1-5-32-544
• Users:S-1-5-32-545
• Print Operators:S-1-5-32-550
• Nobody Group:S-1-0-0,Null SID,当SID未知时,使用;
• Everyone:S-1-1-0,包含了所有用户,但不包括匿名用户的组;
• Local:S-1-2-0,登录到本地终端的用户,NT AUTHORITY\本地帐户;
• Creator Owner:创建新用户的标识符来代替;
• Creator Group:S-1-3-1,由创建新对象的用户所属的主组SID来替代;
• Power Users:S-1-5-32-547
• Console Logon:S-1-2-1
• 可通过指令whoami /all 来查看SID
• 可使用psgetsid工具,解析、转换SID和实体之间的关系
• Process Explorer工具的Security标签,查看SID
<2>.访问令牌
• 访问令牌,SRM,标识进程、线程、文件、注册表、资源等的安全环境
• 访问令牌,包括:
• 用户帐号SID;
• 所属组SID;
• 标识当前登录会话的SID;
• 用户或其对应用户组所拥有的权限列表;
• 对权限或组成员身份的限制;
• 支持以较低权限身份运行的标志。
• 访问令牌的一些TIPS:
•Local:意味着进程以控制台方式登录;
• Authenticated Users:认证登录用户的令牌中都包含这个组;
• SeChangeNotifyPrivilege:开启;
• Logon Session:会话标识;
• 进程以工作站的方式运行;
• 内置的管理员,Built-In Administrators;
• 检查其他的特权
<3>.安全描述符:
•被请求、访问对象的安全描述符(Security Descriptor,SD),包含:被访问对象的所有者(Owner)、自主访问控制列表(Discretionary Access Control List,DACL)、系统访问控制列表(System Access Control,SACL)
安全描述符:ACE,访问控制项权限的情况
• N:no access;
• F:full access;
• M:modify;
• RX:read & execute;
• R:read;
• W:write;
• D:delete access;
• DE:delete;
• GR:generic read;
• GW:generic write;
• GE:generic execute;
• GA:generic access;
• X:execute;
• 访问权限的检查:accesschk64.exe
<4>.权限
• 权限:用户权限的分配:secpol.msc,本地安全策略分配
系统给用户分配权限的步骤:用户登录到系统,等待登录请求响应。本地安全权威中心(LSA),从LSA策略数据库(注册表键)获取已赋予该用户的权限。LSA根据分配给用户的权限,检查登录类型。如果“没有被允
许”,或“拒绝该操作”,则拒绝登录请求。
<5>.特权
• 特点:由OS定义的特权数量,随着时间推移,会不断增加;不同特权,由不同的组件来定义,并由这些组件强制使用;
• Windows特权列表:https://docs.microsoft.com/zh-cn/windows/desktop/secauthz/privilege-constants
• 有安全漏洞,被滥用的Windows特权列表:
• SeBackupPrivilege
• 描述:该特权导致拥有对所有文件的读访问权限,无视文件的访问控制链表(ACL)。
• 攻击情景:搜集
• SeCreateTokenPrivilege
• 描述:请求创建一个主令牌
• 攻击情景:特权提升
• SeDebugPrivilege
• 描述:通过任意账户请求调试和调整某个进程拥有的内存
• 攻击情景:特权提升;防护逃逸;凭据窃取
• SeLoadDriverPrivilege
• 描述:请求加载或卸载一个设备驱动。
• 攻击情景:渗透;防护逃逸
• SeRestorePribilege
• 描述:请求执行恢复操作。该特权使得系统授权对任意文件的写访问,无视文件的ACL。
• 攻击情景:渗透;防护逃逸
• SeTakeOwershipPrivilege
• 描述:无需授予任意访问权限,获得某个对象的拥有权。
• 攻击情景:渗透;防护逃逸;搜集
• SeTcbPrivilege
• 描述:表示它的持有者是可信计算基的一部分。一些被可信计算保护的子系统被授予这个权限。
• 攻击情景:特权提升
• 查看当前用户下特权的设置 : whoami /priv