如何在Windows XP/7/8/8.1中建立隐藏用户
在建立用户账户时,可以通过添加$符号来创建一个简单的隐藏账户,例如“test$”。这样,在字符界面下执行net user命令就无法查看到这个账户,但在图形界面的“本地用户和组”中仍然可见。黑客往往会在入侵一台主机后留下一个后门,给自己添加一个管理员组的账户是常用手法之一。然而,带有“$”符号的账户容易被发现,因此一些人会在账户的显示名称上下功夫,建立一个看起来和系统账户类似的名字来迷惑管理员,比如admin、sysadmin、Billgates、root等。另外,也可以将普通用户组的账户提升到管理员组中,例如将guest账户加入管理员组。如果我们发现管理员组中多了一个未知账户、普通用户组的账户或者带有“$”的账户,那么就应该意识到可能存在入侵。
安全标识符(SID)
在Windows系统中,每个用户账户都有一个唯一的安全标识符(Security Identifier,SID),系统内部核心使用SID而不是用户账户名称来表示和识别每个用户。SID由用户账户创建时间、用户名等信息综合生成,因此是唯一的,不会重复使用。即使删除某个用户账户后再添加一个相同名称的账户,它们的SID也不会相同,新建的账户也无法拥有原先账户的权限。例如,新建一个名为bob、密码为123的用户,以bob的身份登录系统,并创建一个加密文件test.txt。然后切换到administrator账户,删除bob用户,并再次新建一个名为bob、密码为123的用户。使用新建的bob用户登录系统时,无法打开加密文件test.txt,因为用户的SID已经变化了。可以通过执行“whoami /all”命令查看系统当前用户的SID。一个完整的SID由多个部分组成,其中最后一部分称为相对标识符(RID)。RID为500的SID是系统内置Administrator账户,即使重命名,其RID仍保持为500不变,许多黑客正是通过RID找到真正的系统内置Administrator账户。RID为501的SID是Guest账户,后来新建的用户账户的RID都从1000开始,例如RID为1015的SID就是系统中创建的第15个用户账户。
建立完全隐藏账户
下面介绍如何通过伪造用户SID来创建一个完全隐藏的用户账户,这需要通过修改注册表实现。首先,建立一个简单的隐藏账户“super$”,然后展开注册表[HKEY_LOCAL_MACHINESAMSAM],默认情况下这个项为空,因为用户没有权限访问它。右键点击这个项,在菜单中为administrator用户赋予完全控制权限。按下F5键刷新后,会发现多出两个子项。在[SAMDomainsAccountUsers ames]项中显示了系统当前存在的所有账户,选中super$,在其右侧有一个名为“Default”的键值,类型为“0x3eb”。其中的“3eb”就是super$用户SID的结尾,即RID(这里使用十六进制表示,将3eb转换成十进制就是1003)。在[SAMDomainsAccountUsers]中有一个以“3EB”结尾的子项,这两个项中存放了用户super$的信息。右键点击这两个项,执行“导出”命令,将这两个项的值分别导出成扩展名为.reg的注册表文件。然后删除super$用户,再次刷新注册表,此时上述两个项都消失了。接下来,将导出的两个注册表文件重新导入,此时注册表中就有了super$账户的信息,但无论在命令行还是图形界面都无法看到这个账户,它彻底隐藏了。使用这个隐藏账户可以登录系统,但缺点是仍会产生用户配置文件。为了实现完全隐藏,可以继续对这个账户进行处理,将其与administrator账户关联,使之共享同一个用户配置文件。找到administrator用户的RID值“1f4”,展开对应的“000001F4”项,其右侧有一个名为“f”的键值,其中存放了administrator的SID。将这个键值的数据复制并粘贴到“000003EB”项的“f”键值中,即将administrator的SID复制给super$,实际上将super$视为administrator,使其共享administrator的用户配置文件,从而完全隐藏super$账户。建立隐藏账户是黑客常用的一种留后门方式,且非常隐蔽,像上述的隐藏账户只能通过注册表才能发现。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。