Windows 8注册表会泄露你所有的密码提示

密码安全越来越受重视,但是全球仍然持续不断地出现密码被窃地现象。日前,Trustwave 旗下的 SpiderLabs 实验室又发现了一个影响密码安全的问题,而且 Windows 8 和 Windows 7 中都存在。

在 Windows 8 和 Windows 7 系统中,“用户密码提示”键值就存储在 SAM 数据库的“HKLM\SAM\SAM\Domains\Account\Users\<userkey>\UserPasswordHint”位置,不管使用什么方法,如果你能拿到系统访问权,就能轻松地通过注册表查询获取这个键值。如下图:

Windows 8 注册表会泄露你所有的密码提示

第一眼看到上面的提示时,你或许会失望,这不是被加密了吗?但是如果你是安全研究人员,那么看看那串字符中的0,你就能想到,破解它其实不会很难。

SpiderLabs 安全人员 Jonathan Claudius 指出:“过去两个月里处理了大量的 PHP 恶意软件,因此知道,那些‘坏蛋们’经常做的一件事就是将有效荷载数据转换成单个字符,然后用 ASCII 码表示。”

“看看这些注册表值,它似乎采用了同样的方法,所以我用 Ruby 写了一个小译码器,试试能不能获得这个用户密码提示。”这是解码方法:

Windows 8 注册表会泄露你所有的密码提示

Claudius 编写的译码器完美完成了破解任务,将密码提示字符串破译成了文本“monkeys eat”(猴子吃...),密码你应该也能猜到了:

Windows 8 注册表会泄露你所有的密码提示

也就是说,尽管密码提示看起来很难辨认,但是只要使用工具进行解码,就能轻松地提取出有用信息。不过大家也不用太担心,实际上,这种破解对用户来说没有什么影响,不过对渗透测试人员很有帮助。