一.Windows 提权基础
- 介绍:Windows 提权(Privilege Escalation)是指通过某些漏洞或配置错误,从低权限账户提升到更高权限账户(如管理员或系统级权限)。
1.用户和权限模型
-
用户账户(User Account):Windows 系统中,用户可以拥有不同的权限和角色。
- 管理员账户(Administrator):拥有系统的完全控制权限。
- 标准用户(Standard User):具有受限的权限,不能对系统进行重要的更改。
- 受限用户(Restricted User):权限更少,几乎不能修改系统设置。
- 系统账户(SYSTEM):这是 Windows 操作系统内核的权限级别,比管理员更高。攻击者通过提升权限,往往会争取系统权限。
-
UAC(用户帐户控制):Windows 的一个安全特性,用于防止恶意软件通过获得管理员权限来破坏系统。即使是管理员账户,也需要额外确认才能执行高权限操作。
2.访问控制列表 (ACL)
Windows 访问控制列表(ACL)是用于控制对计算机资源(如文件、文件夹、注册表项等)访问权限的机制。它帮助定义哪些用户或组可以访问特定资源,以及他们可以执行哪些操作(如读取、写入、修改等)。ACL 由一系列 访问控制条目(ACE) 组成,每个 ACE 包含以下信息:
- 主体(Subject):请求访问资源的用户、组或计算机。
- 访问权限掩码(Access Mask):定义允许或拒绝的权限(如读取、写入、执行等)。
- 继承标志(Inheritance Flag):指示子对象是否继承父对象的 ACL。
2.1 查看和编辑 ACL:
-
查看文件的 ACL:
icacls 文件路径
-
更改文件的 ACL:
icacls 文件路径 /grant 用户名:权限 /deny 用户名:权限 /inheritance:级别
-
其中:
- /grant:授予权限。
- /deny:拒绝权限。
- /inheritance:设置继承标志。
-
权限可以是:
- F:完全控制。
- M:修改。
- RX:读取和执行。
-
继承级别可以是:
- N:无继承。
- R:只继承读取权限。
- D:继承所有权限。
-
3.安全标识符 (SID)
在 Windows 操作系统中,安全标识符(SID) 用于唯一标识用户、组或计算机。SID 是一种字符串,用来标识与资源访问相关的主体。
3.1 查询 SID:
-
使用以下命令可以查询用户的 SID:
wmic useraccount get name,sid
-
例如:
Vultop S-1-5-21-1205915028-4293886087-4092552726-1001
3.2 SID 解析:
-
S-1-:这是 SID 的通用前缀,表示这是一个修订版为 1 的 SID。
- 修订版本:SID 是为 Windows NT 4.0 及以后的版本创建的。
-
5:修订级别,表示这是 NT 4.0 以后的版本。
-
21:表示颁发 SID 的领域(在 Active Directory 环境中,通常是域的相对标识符)。
- 领域信息:该 SID 可能属于一个具有相对标识符(RID)为 "21" 的域。
-
1205915028:颁发机构的安全标识符(通常是一个 GUID)。
- 颁发机构:由具有 GUID "1205915028" 的颁发机构创建。
-
4293886087 和 4092552726:表示与颁发机构 SID 相关联的子权威值。
- 子权威值:说明 SID 如何进一步细分和管理。
-
1001:这是特定主体的唯一标识符,如用户、组或服务账户。
- 唯一标识符:最后的数字(如 "1001")标识特定的用户或服务账户。
二.常见的提权方法
-
漏洞利用:攻击者可以利用操作系统中的已知漏洞来获取更高的权限。例如:
- DLL 劫持(DLL Hijacking):通过注入恶意的 DLL 文件来提升权限。
- 缓冲区溢出(Buffer Overflow):通过溢出缓冲区覆盖内存数据,达到执行恶意代码的目的。
- 本地提权漏洞(Local Privilege Escalation Vulnerabilities):例如,Windows 的某些服务存在权限配置错误,攻击者可以通过操纵这些服务来提升权限。
-
不当配置:
- 不当的文件和目录权限:某些文件或目录没有正确的权限控制,攻击者可以利用这些权限漏洞,修改文件或执行恶意脚本。
- 弱口令或未保护的账户:弱密码或默认密码使得攻击者可以通过暴力破解或字典攻击等方法获取权限。
-
计划任务和服务:
- 计划任务:Windows 允许通过计划任务以特定时间或事件触发程序。攻击者可以通过创建具有更高权限的任务来提升权限。
- 服务漏洞:许多 Windows 服务在不安全的环境中运行,攻击者可以通过替换、修改或操控这些服务的执行文件或权限,获取管理员权限。
-
权限提升的工具和技术:
- Sticky Keys(粘滞键):通过修改系统的可访问性设置来获取管理员权限。
- Windows 沙箱和登录绕过:攻击者可以利用沙箱和登录界面的设计缺陷来绕过身份验证。