影子账户权限维持
通过$创建隐藏用户
net user
命令查看目前的用户
通过命令创建一个以$结尾的用户名,则这个用户为隐藏用户,这里创建一个名为hacker1$的用户
net user hacker1$ password /add
创建完成后,使用命令net user
并没有找到刚刚创建的用户
使用命令net user hacker1$
可以查看到这个隐藏用户的具体信息,证明了该隐藏用户创建成功
不过在计算机管理中,本地用户和组中可以发现该用户
在本地登陆页面中,也会有该隐藏用户的登陆选项,如果对方的机器位于本地,而不是远程服务器。那么,在他本地登录的时候,就可以看到当前在线的机器,从而暴露。
创建影子账户
影子用户即创建的隐藏用户,它无法通过普通命令进行查询,只能在注册表中找到其详细信息。所以,如果我们要对该用户进行删除,只能在注册表中进行操作。
我们这里将刚刚创建的隐藏用户hacker1$变为影子用户
启动cmd,然后输入regedit
,打开注册表。
我们要修改的注册表键值为HEKY_LOCAL_MACHINE\SAM\SAM\Domains\Account\User
,而默认情况下SAM
键值只能由system进行修改。所以我们需要修改一下权限,如图:
点击用户名,在右侧会有十六进制的数字,再通过这个对应的十六进制数字可以找到Users目录下与该十六进制相同的目录名,如这里就是hacker$对应的文件夹名为000003F6
同理,找到Administrator的十六进制数字,我这里是1f4,故而打开000001F4
我们可以看到有三个选项,双击F,复制里面的所有内容。
然后打开刚才说的000003F6,双击F,将刚才复制的内容粘贴上去,保存。
之后,分别右键Names中的hacker1$和000003F6两个目录,选择导出,将注册表导出。
通过命令行执行删除用户hacker1
net user hacker1$ /del
然后点击执行刚才导出的注册表文件
此时计算机管理和本地登陆中中就不会出现hacker1$,而hacker1$也获取到与被克隆用户一样的权限
但是在注册表中仍然可以找到该影子账户的账户名,通过对比F值就可以排查出影子账户。
这时候就可以通过影子账户建立后门达到权限维持的目的了。