[ 应急响应基础篇 ] Windows系统隐藏账户详解(Windows留后门账号)
🍬 博主介绍
👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
文章目录
- 🍬 博主介绍
- 一、Windows系统添加隐藏用户介绍
- 二、Windows系统添加隐藏用户步骤
- 1、环境介绍
- 2、创建一个隐藏账号
- 3、隐藏不彻底
- 1.管理账户查看
- 2.管理工具查看
- 3.注销登录页面查看
- 4、修改注册表
- 1.首先打开注册表编辑器
- 2.确保可以看到SAM路径下的文件
- 3.找到用户对应的表
- 4.替换F值
- 5.导出需隐藏用户的表
- 6.删除需要隐藏的用户
- 7.导入需隐藏用户的表
- 8.隐藏状态
- 5、登陆界面隐藏账户
- 6、用户被完全隐藏
- 7、用户正常登录
- 三、应急响应发现隐藏账户
- 1、注册表中用户
- 2、管理账户中用户
- 3、管理工具中用户
一、Windows系统添加隐藏用户介绍
系统隐藏账户是一种最为简单有效的权限维持方式,其做法就是让攻击者创建一个新的具有管理员权限的隐藏账户,因为是隐藏账户,所以防守方是无法通过控制面板或命令行看到这个账户的。
二、Windows系统添加隐藏用户步骤
1、环境介绍
前提条件:
假设在攻击的过程中通过利用各种getshell,已经拿到目标服务器administrator权限
环境:windows Server2012
IP:192.168.223.182
2、创建一个隐藏账号
net user powershell$ w123456! /add
添加powershell$隐藏用户
net localgroup administrators powershell$ /add
将powershell$用户添加进管理员组中
创建完成之后,输入net user 查看账户,发现我们创建的隐藏用户隐藏成功
net user
3、隐藏不彻底
虽然用net user 看不到,但是还有其他方式可以看到
1.管理账户查看
通过控制面板–>用户账户–>管理账户查看
2.管理工具查看
通过管理工具–>计算机管理–>本地用户和组–>用户也可以看到
3.注销登录页面查看
这里也可以看到创建的隐藏账户
4、修改注册表
为了更好的隐藏新建的账户,还需要进行修改注册表文件操作。
1.首先打开注册表编辑器
regedit
2.确保可以看到SAM路径下的文件
找到HKEY_LOCAL_MACHINE\SAM\SAM,点击右键,选择“权限”将Administrator用户的权限,设置成“完全控制”,
重新打开注册表,确保可以看到SAM路径下的文件
3.找到用户对应的表
其次前往SAM/Domains/Account/Users/Names处,选择Administrator用户,在右侧的键值处可以找到对应的值如0x1f4,然后从左侧的Users目录下可以找到对应的文件。
其次前往SAM/Domains/Account/Users/Names处,选择Administrator用户,在右侧的键值处可以找到对应的值如0x3ec,然后从左侧的Users目录下可以找到对应的文件。
4.替换F值
然后从对应的000001F4文件中将键值对F的值复制出来。然后同理找到隐藏账户powershell 所对应的文件,并将从 A d m i n i s t r a t o r 文件中复制出来的 F 值粘贴进 p o w e r s h e l l 所对应的文件,并将从Administrator文件中复制出来的F值粘贴进 powershell 所对应的文件,并将从Administrator文件中复制出来的F值粘贴进powershell文件中。
把之前复制的f值粘贴到0x3ec的f值中
5.导出需隐藏用户的表
最后将powershell$ 和000003EC从注册表中右键导出,并删除powershell 用户,然后将刚刚导出的两个文件重新导入进注册表中即可实现 p o w e r s h e l l 用户,然后将刚刚导出的两个文件重新导入进注册表中即可实现powershell 用户,然后将刚刚导出的两个文件重新导入进注册表中即可实现powershell用户的隐藏。
导出powershell$表
导出000003EC表
导出来的表如下
6.删除需要隐藏的用户
net user powershell$ /del
此时注册表
7.导入需隐藏用户的表
导入000003EC表
导入powershell$表
此时注册表
8.隐藏状态
管理账户下看不到隐藏用户
计算机管理用户下看不到隐藏用户
注销登录页面查看任然可以看到创建的隐藏账户
5、登陆界面隐藏账户
在注册表中进行设置,使用户不在登录界面显示。
终端中输入: regedit 回车打开注册表编辑器。
regedit
依次定位到:进入注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\
右键新建项SpecialAccounts
右键新建项UserList
右键新建项DWORD32值
名称为需要隐藏的账户,值为0
值为0表示隐藏,值为1表示显示
最终如下
6、用户被完全隐藏
登录界面也看不到了
7、用户正常登录
采用powershell$登录,成功登录
登陆进来用的是administrator的身份
三、应急响应发现隐藏账户
对比以下三张表数量及名称,发现powershell$隐藏用户
1、注册表中用户
查看注册表中HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names 位置的用户名
2、管理账户中用户
控制面板–>用户账户–>管理账户
3、管理工具中用户
管理工具–>计算机管理–>本地用户和组–>用户