基本介绍
在windows操作系统中攻击者可以通过创建隐藏账户来实现权限维持的目的,由于创建的隐藏账户无法通过命令行或者图形化界面的方式被检索到,所以此类权限维持的方式极为隐蔽,本篇文章将对隐藏账户的创建方式和检索方式进行复现
隐藏账户
(1) 创建隐藏账户admin使用管理员权限运行命令行并建立一个用户名为“al1ex”,密码为“abc123!”的隐藏账户,随后把该隐藏账户提升为管理员权限:
代码语言:javascript复制net user al1ex$ abc123! /add
(2) 添加隐藏账户至管理员组
在命令行中执行以下命令将隐藏账户"al1ex$"添加到管理员组
代码语言:javascript复制net localgroup administrators al1ex$ /add
此时我们在CMD命令行使用"net user",看不到"al1ex$"这个账号
但是我们可以在控制面板和本地用户和组是可以查看到此隐藏账户
克隆账户
在window中点击"开始"-输入"regedit32"后进入到注册表,随后找到"HKEY_LOCAL_MACHINESAMSAM",单击右建权限把名叫"administrator"的用户给予"完全控制以及读取"的权限
随后关掉注册表并重新在命令行中输入"regedt.exe"后回车重新打开注册表
随后来到注册表编辑器的"HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsersNames"处,点击al1ex$用户,得到在右边显示的键值中的"类型"一项显示为0x3e9,找到箭头所指目录
随后找到administrator所对应的的项为"000001F4",将"000001F4"的F值复制到"000003E9"的F值中,保存
分别将al1ex和"0000003E9"导出到桌面
然后删除al1ex$用户:
代码语言:javascript复制net user al1ex$ /del
随后将刚才导出的两个后缀为.reg的注册表项导入注册表中,这样所谓的隐藏账户就创建好了
此时不管你是在命令提示符下输入net user或者在系统用户管理界面都是看不到al1ex$这个账户:
账户使用
在外部window中使用远程连接的方式连接window 7操作系统,并使用隐藏账户进行登录操作
随后成功远程连接到服务器
检测方法
检测方法1:查看注册表中系统账号,检索以"$"结尾的用户
代码语言:javascript复制reg query HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsersNames
检测方法2:使用D盾查杀工具进行检测可以检测出隐藏的账户、克隆账户