过期罐头电脑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4488|回复: 0
收起左侧

Windows 7密码重设盘的内部原理浅析

[复制链接]
cdgxls 2011-5-5 06:52:19 | 显示全部楼层
可能有兄弟觉得密码重设盘是雕虫小技,很简单,甚至是鸡肋,由于 既然不怕费事 特意创建一个密码重设盘,又怎么会那么大意 遗忘 密码呢?
  其实它背后的原理还是很有意义 的,这里试做简单剖析 。

  在Windows XP时期 ,我们知道当用户创建密码重设盘时,Windows系 统会自动创建一对公钥和私钥,以及一张自签署的证书。接下来,将会用所得的公钥对用户帐户的密码进行加密,然后保存在注册表项 HKEY_LOCAL_MACHINESECURITYRecovery< SID>中,其中的< SID>就是指该用户的SID。而私钥则从计算机中删除,并且保存在软盘里。
  到了Windows 7时期 ,我们知道私钥会以userkey.psw文件的方式 保存在软盘或者USB闪存里。
  但是假如 我们尝试查看HKEY_LOCAL_MACHINESECURITYRecovery注册表项,发现其下是空的,并没有什么用户SID。
  那么用公钥加密的用户密码,到底保存 在哪里了呢?很显然,假如 光有私钥,而没有经过公钥加密的帐户密码副本,无法获取用户帐户的密码。
  经过研讨 发现(盆盆是借用Process Monitor发现的,比较懒,不想写具体过程了,过程也简单),原来在创建密码重设盘的过程中,Windows安全子系统进程Lsass.exe会自动创建一个Recovery.dat注册表配置单元文件,保存在C:WindowsSystem32 MicrosoftProtectRecovery文件夹中。而Lsass.exe进程会自动将其加载到注册表HKLMC80ED86A- 0D28-40dc-B379-BB594E14EA1B中。C80ED86A-0D28-40dc-B379-BB594E14EA1B意义不 明,Google也没有结果,哪位老大知道,还请不吝指教。
  由于密码重设盘创建完成后,Lsass.exe进程会自动卸载该注册表配置单元,所以我们无法查看HKLMC80ED86A-0D28-40dc-B379-BB594E14EA1B下的内容。但是比较容易想到的是,可以借助以下方法进行查看:
  用管理员权限打开命令提示符窗口,并且运行以下命令,以Local System身份启动注册表编辑器(Recovery.dat需要. 用Local System权限才能加载):
  Psexec -s -i -d regedit
  选中HKLM注册表根键,然后单击文件、加载配置单元,并定位到C:WindowsSystem32MicrosoftProtectRecoveryRecovery.dat文件。
  在接下来的对话框里任意指定一个项称号 ,例如可以是Test,然后展开其下的子项,可以看到当前登录帐户的SID,其右侧的默认键值,即保存了用公钥所加密的帐户密码副本
您需要登录后才可以回帖 登录 | 注册

本版积分规则

一键重装系统|雨人系统下载|联系我们|网站地图|过期罐头电脑论坛

GMT+8, 2024-4-25 23:24 , Processed in 0.042524 second(s), 25 queries .

官方免责声明:本站内容来自网友和互联网.若侵犯到您的版权.请致信联系,我们将第一时间删除相关内容!

Powered by Discuz!

专注于win7_win10_win11系统下载装机

© 2010-2023 GQGTPC.Com

快速回复 返回顶部 返回列表