0x01 关于权限维持
很多时候,当我们获得到一个windows服务器的权限后,若某天服务器的管理员发现后修补了漏洞,那么我们就可能失去了这台服务器的权限了,因此权限维持就很有必要了,对于windows服务器来说,我们可以添加一个账户,打开它的3389端口,从而维持我们对一个服务器的权限。
0x02 权限维持之简单的账户添加
最简单的方法就是用net user来添加账户了,命令如下
net user username password /add
这种添加账户的方法,服务器管理员可以通过net user命令很快的发现。
0x03 权限维持之添加隐藏账户
相比上面那个很简单的添加账户,在windows下,如果在用户名后面添加一个$符号的话,那么通过net user的方式是看不到的。
我们可以看到,我添加的test1$用户是看不到的,不过这种情况也是可以通过管理界面下看到的。
键入Win+R,输入compmgmt.msc,打开管理界面,然后在右侧的本地用户和组中,双击用户可以看到我们之前添加的test1$用户。
0x04 权限维持之添加影子账户
影子账户,顾名思义就像影子一样,跟主体是一模一样的,通过建立影子账户,可以获得跟管理员一样的权限,还不容易被发现。
首先,创建一个隐藏账户,test2$
然后,键入Win+R,然后输入regedit,打开注册表,找到HKEY_LOCAL_MACHINE/SAM/SAM/Domains/Account/Users/选项,
这里面有很多相同格式的字符串的名字还有一个Names的菜单,点击Names,可以看到计算机中所有的账户名称,选中我们刚才创建的test2$账户,可以看到右侧是0x3f4
记住这个十六进制数字
然后返回上层,找到000003F4,这个是一会我们要做的事情,同理,找到Administrator的十六进制数字,我这里是1f4,故而打开000001F4
我们可以看到有三个选项,双击F,复制里面的所有内容,
然后打开刚才说的000003F4,双击F,将刚才复制的内容粘贴上去,保存。
之后,分别右键Names中的test2$和000003F4两个目录,选择导出,将注册表导出。
接下来,我们打开命令行,输入
net user test2$ /del
删除创建的用户
再双击刚才导出的两个注册表,这样影子账户就创建好了。
然后我们看一下net user
看不到test2$账户。
再打开管理界面中的本地组和用户
好的,还是看不到test2$
最后打开注册表看一下
可以看到,存在test2$,影子账号创建完毕!