用Syskey保护Windows密码

在启动WindowsNT/2000的时候,系统会要求我们按“CtrlAltDelete”输入一个密码,从而保证只有授权用户才能登陆系统,以增强系统的安全性。

游侠曾一直以为这个东东很保险,但是自从那个“万恶的”输入法漏洞出现以后(一个古董级的漏洞),这个密码也成了心头的一块心病。因为只要通过几个简单的命令就可以拿到一个管理员帐号,后来比尔大叔给了我们一个补丁,号称打上输入法漏洞的补丁就“万事无忧”了。

但是,有一天还是有人发现即使打了补丁,“清华紫光输入法”使用的时候还是能拿到管理员权限,这次是真的怕了……虽然还是有补丁推出,但是——我们能在输入用户名之前就给我们的系统再加一层保护吗?

回答是:Yes(铿锵有力!)

下面我们就来看看我们是怎样在输入用户名和密码之前就把非法用户拒之门外的:

点击“开始”菜单,“运行”中写上“syskey”,回车后出现图1的窗口:

注意:

1、一旦启用syskey加密就不能禁用了。

2、运行syskey必须要Administrator权限(这个也是你系统安全的基础,如果任何人都能运行给系统加密的软件,那么系统岂不是……?^_^)

点“更新”,弹出图2的窗口:

你有三个选项可以选择:

1、选中“密码启动”,输入一个密码,那么这个密码就会在下一次启动的时候,在提示输入用户名和密码之前要你输入一次“Windows启动密码”,提示是“本台电脑需要密码才能启动,情书如启动密码”,输入正确就进入,否则没门。只有“确定”和“重新启动”可以选择。这样,即使接触计算机的人有CMOS密码、有管理员密码也白搭了,因为他没有“Windows启动密码”!系统又多了一层保护!

J2、如果你选择了“在软盘上保存启动密码”,那么系统就会提示你插入软盘保存密码信息,下次启动的时候必须要拿这张钥匙盘才能启动计算机。只要把你的钥匙盘保护好就可以了,当然你的钥匙盘一定要保护好,否则哪天软盘划伤了或者丢了,你的系统可就要和你GoodBye了。

3、最后一个,“在本机上保存启动密码”,这个选项将保存一个密码作为操作系统的一部分,在系统开始时不需要任何交互操作,比较方便。那么,这个既不要求开机输入密码也不要钥匙盘的选项究竟有什么作用呢?

我们知道,WindowsNT/2000是使用SAM来保存用户和密码信息的(SAM保存在winnt\system32\config目录下),攻击者常常在拿到SAM文件后用L0pht之类的工具挂一个字典来跑密码,本来SAM文件的安全性就不是坚不可摧的,如果你的密码强度比较低,密码很快就会被破解掉。Syskey可以对SAM进行加密,使SAM中用户密码加密键扩展为128位,从而增大破解的难度。

如果你有一张紧急修复磁盘,那么你启用了syskey之后要重新建立一张紧急修复盘,你不能使用未安装syskey的系统紧急修复盘来修复安装过syskeyWindows系统。

微软没有给我们官方文档说syskey运行之后可以删除,除非恢复注册表。我在网上找到一个修改注册表的方法,没有亲自尝试,有兴趣的读者可以自己试验,在试验之前请首先备份你的注册表。

原文如下(下文来自互联网,多次转载,我不知道作者是哪位高人,谨向作者致意)

============================================================

***syskey激活后系统有什么发生了什么,如何关掉syskey?***

-1-

syskey激活后,在注册表HKLM\System\CurrentControlSet\Control\Lsa下被添加了新的键值‘SecureBoot’中保存了syskey的设置:

1-KEY保存在注册表中

2-KEY由用户登录时输入的口令生成

3-KEY保存在软盘中

但是把主键删除或者把值设成0并没能将syskey关闭,看来还有其他的地方……

-2-

HKLM\SAM\Domains\Account\F是一个二进制的结构,通常保存着计算机的SID和其他的描述信息。当syskey被激活后,其中的内容就变大了(大小大约是原来的两倍)增加的部分估计是加密的KEY+一些标记和其他的数值,这些标记和数值中一定有一部分包括SecureBoot相同的内容。所以,在NT4(已安装SP6补丁包)将这些标记位设为0可能就可以关闭syskey了。在改变这些设置时系统给出了一个错误提示说明SAM和系统设置相互冲突,但是在重新启动计算机后,系统已经不再使用syskey了。

-3-

win2000中还有另一个地方还存储着关于syskey的信息

HKLM\security\Policy\PolSecretEncryptionKey\

这也是一个二进制的结构,也是使用同样的存储方式,将这里相应部分同样设为0,syskey就已经从win2000中移除了。(如果这三部分修改出现错误(不一致),系统会在下次启动是自动恢复为默认值)

-4-

然后就是口令信息部分。旧的口令信息是长度是16字节,但使用syskey后长度全部被增加到20字节。其中头四个字节看起来想是某种计数器,可能是历史使用记录计数器。奇怪的是,当syskey被激活时,他并不立即记录,而是在系统下次启动时才记录。而且,当密钥被改变时,口令信息似乎并没有相应更新

============================================================

好了,相信各位读者已经对syskey这个工具的作用和用法有了一定理解了,如果你有好的见解欢迎和我交流:QQ55984512

发表于:20039月《黑客X档案》

如承蒙转载请注明发表于该期杂志,以及作者姓名,谢谢合作!

作者:张百川 (网名:网路游侠) https://www.youxia.org