思路分享:windows权限维持场景中如何隐藏服务信息
字数 1403 2025-08-20 18:18:40
Windows权限维持中隐藏服务信息的技术详解
1. 技术背景
在红蓝对抗中,攻击者经常需要在目标Windows系统上建立持久化后门。常规的服务创建方法容易被安全检测工具发现,因此需要更隐蔽的技术来隐藏服务信息。
2. 传统方法的局限性
常见的服务伪装方法包括:
- 使用可信的服务名称(如伪装成杀毒软件服务)
- 修改服务显示名称
但这些方法存在明显缺陷:
- 宽松的安全检查可能忽略,但严格检查仍会发现
- 服务信息仍然可以通过常规工具查询到
3. SDDL服务隐藏技术
Windows服务支持使用安全描述符定义语言(SDDL)来控制服务权限。通过修改服务的SDDL语法,可以实现完全隐藏服务的目的。
3.1 SDDL基本概念
SDDL使用DACL和SACL组件中的ACE字符串来声明或控制权限。ACE字符串格式如下:
ace_type;ace_flags;rights;object_guid;inherit_object_guid;account_sid;(resource_attribute)
关键组件说明:
| 成员 | 含义 |
|---|---|
| ace_type | 标识ACE类型(A=允许,D=拒绝) |
| ace_flags | 标识ACE标志 |
| rights | 标识由ACE控制的访问权限 |
| object_guid | 对象类型GUID |
| inherit_object_guid | 继承对象类型GUID |
| account_sid | 目标用户/组的SID |
| resource_attribute | 可选值 |
3.2 关键ACE权限说明
在服务隐藏场景中,主要使用以下权限控制:
| 权限代码 | 对应权限 |
|---|---|
| DC | SERVICE_CHANGE_CONFIG (更改服务配置) |
| LC | SERVICE_QUERY_STATUS (查询服务状态) |
| WP | SERVICE_STOP (停止服务) |
| DT | SERVICE_PAUSE_CONTINUE (暂停和继续服务) |
| SD | DELETE (删除服务) |
3.3 隐藏服务的SDDL配置
实现服务隐藏的SDDL配置示例:
D:(D;;DCLCWPDTSD;;;IU)(D;;DCLCWPDTSD;;;SU)(D;;DCLCWPDTSD;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
这个配置:
- 拒绝(D)交互式用户(IU)、系统用户(SU)和管理员组(BA)查询、修改、停止、删除服务的权限
- 保留(A)必要的默认权限
- 系统(S)部分设置审计规则
4. 实施步骤
4.1 隐藏服务
使用sc.exe工具修改服务的SDDL:
sc.exe sdset 服务名 "D:(D;;DCLCWPDTSD;;;IU)(D;;DCLCWPDTSD;;;SU)(D;;DCLCWPDTSD;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
4.2 验证隐藏效果
隐藏后,以下命令都无法查询到服务信息:
Get-Service -Name 服务名
Get-Service | Select-Object Name | Select-String -Pattern '服务名'
Get-WmiObject Win32_Service | Select-String -Pattern '服务名'
sc.exe query | Select-String -Pattern '服务名'
4.3 检测隐藏服务的方法
虽然服务被隐藏,但可以通过尝试停止服务来检测是否存在:
- 不存在的服务:返回
InvalidOperationException - 存在但隐藏的服务:返回
ServiceCommandException(访问被拒绝)
4.4 恢复服务可见性
使用以下命令恢复服务可见性:
sc.exe sdset 服务名 "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
5. 技术特点
- 持久性:系统重启后隐藏效果仍然保持
- 全面隐藏:所有常规服务查询工具都无法发现
- 权限维持:服务仍能正常运行并保持权限
6. 防御建议
- 监控sc.exe对服务SDDL的修改操作
- 定期使用低级别API检查服务列表,与常规工具结果对比
- 对尝试停止不存在的服务的行为进行监控
- 限制非管理员用户修改服务配置的权限