Ⅰ 系统重装之后加密文件夹如何解密
XP系统EFS加密破解的一线希望 如果某个用户把自己的登录帐户删除,那么其他用户将无法访问其EFS加密文件。更可恶的是,一旦公司里的某个用户心怀怨气,恶意加密了本属于别的用户的重要文件,将会导致严重问题。一般情况下,这些EFS加密文件已经被判了死刑,但是实际上只要满足以下条件的话,我们还是可以在末日来临之前打开逃生的天窗: (1) 必须知道该被删帐户的密码。 (2) 该被删帐户的配置文件必须存在。如果使用“本地用户和组”管理单元删除帐户,则配置文件保留的机会很大,如果使用“用户帐户”控制面板删除帐户,则有一半机会保留配置文件。如果配置文件不幸被删,则只能祈祷可以借助Easy Recovery之类的数据恢复工具进行恢复。 可能有些朋友会觉得这两个条件比较苛刻,此处卖个关子先…… EFS加密原理 大家知道,EFS加密实际上综合了对称加密和不对称加密: (1) 随机生成一个文件加密密钥(叫做FEK),用来加密和解密文件。 (2) 这个FEK会被当前帐户的公钥进行加密,加密后的FEK副本保存在文件$EFS属性的DDF字段里。 (3) 要想解密文件,首先必须用当前用户的私钥去解密FEK,然后用FEK去解密文件。 看到这里,似乎EFS的脉络已经很清晰,其实不然,这样还不足于确保EFS的安全性。系统还会对EFS添加两层保护措施: (1) Windows会用64字节的主密钥(Master Key)对私钥进行加密,加密后的私钥保存在以下文件夹: %UserProfile%\Application Data\Microsoft\Crypto\RSA\SID 提示 Windows系统里的各种私有密钥,都用相应的主密钥进行加密。Windows Vista的BitLocker加密,也用其主密钥对FVEK(全卷加密密钥)进行加密。 (2) 为了保护主密钥,系统会对主密钥本身进行加密(使用的密钥由帐户密码派生而来),加密后的主密钥保存在以下文件夹: %UserProfile%\Application Data\Microsoft\Protect\SID 整个EFS加密的密钥架构如图1所示。 图1 提示 EFS密钥的结构部分,参考自《Windows Internals 4th》的第12章。 回到“任务描述”部分所述的两个条件,现在我们应该明白原因了: (1) 必须知道该被删帐户的密码:没有帐户密码,就无法解密主密钥。因为其加密密钥是由帐户密码派生而来的。 提示 难怪Windows XP和2000不同,管理员重设帐户密码,也不能解密EFS文件。 (2) 该被删帐户的配置文件必须存在:加密后的私钥和主密钥(还包括证书和公钥),都保存在配置文件里,所以配置文件万万不可丢失,否则就会彻底“鬼子不能进村”。重装系统后,原来的配置文件肯定被删,这时候当然不可能恢复EFS文件。 可能有用户会想,只需新建一个同名的用户帐户,然后把原来配置文件复制给新帐户,不就可以解密EFS文件了?原因在于帐户的SID,因为新建用户的SID不可能和老帐户一样,所以常规方法是不可能奏效的。我们必须另辟蹊径,让系统再造一个完全一样的SID! 恢复步骤 为了方便描述,这里假设被删帐户的用户名为Admin,Windows安装在C盘。 1.再造SID 注意 本方法取自“声明”部分提到的那篇文章。 首先确认被删帐户的SID,这里可以进入以下文件夹: C:\Documents and Settings\Admin\Application Data\Microsoft\Crypto\RSA 在其下应该有一个以该被删帐户的SID为名的文件夹,例如是S-1-5-21-4662660629-873921405-788003330-1004(RID为1004) 现在我们要设法让新建帐户同样具有1004的RID,这样就能达到目的。 在Windows中,下一个新建帐户所分配的RID是由HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注册表项的F键值所确定的。F键值是二进制类型的数据,在偏移量0048处的四个字节,定义下一个帐户的RID。那么也就是说,只需要修改0048处的四个字节,就能达到目的(让新建帐户获得1004的RID) 确认好以后,别忘记把Admin帐户的配置文件转移到别的地方! (1) 默认情况下,只有system帐户才有权限访问HKEY_LOCAL_MACHINE\SAM,这里在CMD命令提示符窗口,运行以下命令,以system帐户身份打开注册表编辑器: pexec -i -d -s %windir%\regedit.exe 提示 可以在以下网站下载psexec: http://www.sysinternals.com/Utilities/PsExec.html (2) 定位到HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注册表项,双击打开右侧的F键值。 (3) 这里要说明一下,Windows是以十六进制、而且以反转形式保存下一个帐户的RID。什么意思呢?也就是说,如果是1004的RID,对应十六进制就是03EC,但是我们必须把它反转过来变成EC03,再扩展为4个字节,就是EC 03 00 00。 所以,我们应该把F键值的0048偏移量处,把其中四个字节改为“EC 03 00 00”,如图2所示。 图2 (4) 重要:别忘了重启计算机! (5) 重启以后,新建一个同名帐户Admin,它的SID应该和以前是完全一样。如果不相信的话,可以借助GetSID或者PsGetSID等工具测试一下。 2.“破解”EFS 接下来的方法就非常简单了,用新建的Admin帐户身份登录系统,随便加密一个文件,然后注销,用管理员帐户登录系统,把原来保留的配置文件复制到C:\Documents and Settings\Admin文件夹下。 再用Admin帐户登录系统,现在可以解密原来的EFS文件了。 疑难解答 1.如果已经重装系统,那怎么办? “声明”部分提到的那篇文章里提到,如果还记得原来帐户的密码,并且配置文件没有被删除的话,还有希望。这时候可以借助sysinternals的NEWSID工具把系统的计算机SID重设为原来的值,再用前面描述的方法构造所需的RID,这样就可以获得所需的帐户SID。剩余步骤完全一样。 http://www.sysinternals.com/Utilities/NewSid.html 2.有用户曾经遇到这样的问题:登录系统时收到提示说密码过期,需要重设,重设密码登录后发现打开EFS文件。 KB890951提到这个问题。其解释是因为在修改密码时,系统还没有加载配置文件(有点语焉不详),原文如下: This problem occurs because the user profile for the current user is not loaded correctly after you change the password. 配置文件和EFS有何相干?看完本文,大家应该知道,EFS的私钥和主密钥都是保存在配置文件里的。由于配置文件没有加载,所以主密钥的加密版本没有得到更新(没有跟上帐户密码的变化),导致主密钥无法正确解密,从而无法解密私钥和FEK。这就是问题的真正原因。 该KB提供了一个内部补丁,可以解决这个问题。KB890951的链接如下: http://support.microsoft.com/kb/890951 3.有关公钥的问题 为了容易理解,笔者故意忽略了公钥。公钥保存也保存在帐户的配置文件里: %UserProfile%\Application Data\Microsoft\SystemCertificates\My\Certificates 在EFS恢复的操作中,必须确保公钥也要复制到新帐户的配置文件里。尽管看起来公钥与EFS解密无关(它负责加密)。 原来,加密文件$EFS属性的DDF字段里除了有帐户SID和加密的FEK副本外,还有公钥的指纹信息(Public Key Thumbprint)和私钥GUID信息(私钥的某种散列值)。 系统在扫描加密文件$EFS属性中的DDF字段时,根据用户配置文件里的公钥中所包含的公钥指纹和私钥GUID信息,当然还有帐户的SID,来判断该帐户是否具有对应的DDF字段,从而判断该用户是否属于合法的EFS文件拥有者。 所以公钥也很重要。 当然公钥是可以“伪造”的(可以伪造出所需的公钥指纹和私钥GUID),以欺骗EFS系统,具体方法可以参考国外的那篇原稿,此处不再赘述。 加强EFS的安全 由于EFS把所有的相关密钥都保存在Windows分区,所以这可能给EFS带来一定的安全隐患。目前有一些第三方工具号称可以破解EFS,这些工具首先攻击SAM配置单元文件,尝试破解帐户密码,从而破解帐户密码→主密钥的加密密钥→主密钥→EFS私钥→FEK的“密钥链”。
Ⅱ 电脑重装系统加密文件打不开了怎么办
如果你重装系统前没有备份证书,文件就永远也打不开了,请记住这次教训吧。EFS解密如果其他人想共享经过EFS加密的文件或文件夹,又该怎么办呢?由于重装系统后,SID(安全标示符)的改变会使原来由EFS加密的文件无法打开,所以为了保证别人能共享EFS加密文件或者重装系统后可以打开EFS加密文件,必须要进行备份证书。点击“开始→运行”菜单项,在出现的对话框中输入“certmgr.msc”,回车后,在出现的“证书”对话框中依次双击展开“证书-当前用户→个人→证书”选项,在右侧栏目里会出现以你的用户名为名称的证书。选中该证书,点击鼠标右键,选择“所有任务→导出”命令,打开“证书导出向导”对话框。在向导进行过程中,当出现“是否要将私钥跟证书一起导出”提示时,要选择“是,导出私钥”选项,接着会出现向导提示要求密码的对话框。为了安全起见,可以设置证书的安全密码。当选择好保存的文件名及文件路径后,点击“完成”按钮即可顺利将证书导出,此时会发现在保存路径上出现一个以PFX为扩展名的文件。当其他用户或重装系统后欲使用该加密文件时,只需记住证书及密码,然后在该证书上点击右键,选择“安装证书”命令,即可进入“证书导入向导”对话框。按默认状态点击“下一步”按钮,输入正确的密码后,即可完成证书的导入,这样就可顺利打开所加密的文件。
Ⅲ 重装系统后 原加密文件怎么打开
你自己不是知道密码吗?如果C盘的安装目录被删除,那文件就打不开了,但也不一定,如果不是的话。如果真的没办法,就用破解字典(但是很大10G左右)用暴力破解,就是一点一点试。我想如果你有电脑高手朋友还是让他帮你破解。WORD应该是没有装好,你把它删了,在微软官网下一个试试