https://3gstudent.github.io/3gstudent.github.io/%E6%B8%97%E9%80%8F%E6%8A%80%E5%B7%A7-Windows%E7%B3%BB%E7%BB%9F%E7%9A%84%E5%B8%90%E6%88%B7%E9%9A%90%E8%97%8F/
0x00 前言
在之前的文章《渗透技巧——Windows系统远程桌面的多用户登录》介绍过Windows系统远程桌面的利用技巧,实现了非服务器版本Windows系统的多用户远程登录,而最近我和Evilcg一起研究了通过帐户克隆实现隐藏帐户的利用技巧。如果将二者结合,会有什么利用技巧呢,本文将会一一介绍。
0x01 简介
本文将要介绍以下内容:
- 帐户隐藏的方法
- 编写脚本实现思路
- 结合远程桌面多用户登录的利用思路
0x02 帐户隐藏的方法
该方法在网上已有相关资料,本节只做简单复现
测试系统:·Win7x86
1、对注册表赋予权限
默认注册表HKEY_LOCAL_MACHINE\SAM\SAM\
只有system权限才能修改
现在需要为其添加管理员权限
右键-权限-选中Administrators,允许完全控制
如下图
重新启动注册表regedit.exe,获得对该键值的修改权限
2、新建特殊帐户
net user test$ 123456 /add
net localgroup administrators test$ /add
注:
用户名要以$结尾
添加后,该帐户可在一定条件下隐藏,输入net user
无法获取,如下图
但是,在控制面板能够发现该帐户
如下图
3、导出注册表
在注册表HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names
下找到新建的帐户test$
获取默认类型为0x3ea
将注册表HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\test$
导出为1.reg
在注册表下能够找到对应类型名称的注册表项HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000003EA
如下图
右键将该键导出为2.reg
,保存的文件信息如下图
默认情况下,管理员帐户Administrator对应的注册表键值为HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4
同样,右键将该键导出为3.reg
将注册表项HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000003EA
下键F的值替换为HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4
下键F的值,即2.reg中键F的值替换成3.reg中键F的值
替换后,如下图
4、命令行删除特殊帐户
net user test$ /del
5、导入reg文件
regedit /s 1.reg
regedit /s 2.reg
隐藏账户制做完成,控制面板不存在帐户test$
通过net user无法列出该帐户
计算机管理-本地用户和组-用户也无法列出该帐户
但可通过如下方式查看:
net user test$
如下图
无法通过net user test$ /del
删除该用户,提示用户不属于此组,如下图
删除方法:
删除注册表HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\
下对应帐户的键值(共有两处)
注:
工具HideAdmin能自动实现以上的创建和删除操作