EFS恢复代理,说
简单点
,就相当于一个或多个被用户信任的人,他/他们手里握有一种
万能钥匙
,拿着这把钥匙,可以解密任何信任他/他们的用户使用
EFS加密
过的文件。
大家都知道,Windows
2000
pro/server
系统中默认的管理员账户就是
administrator
,这意味着就算发生上述状况,使用administrator都可以打开任何用户的加密文件。但是到了xp
pro/Windows
server
2003,微软修正了工作组环境下的管理员账户,已经不再是默认的代理恢复了。
xp
pro/Windows
server
2003默认为domain
administrator账号。他能被自动加进来也是因为默认域
组策略
生效的原因。
如何让EFS恢复代理,下面就给大家详细的介绍一下:
打开默认域策略Default
Domain
Policy,找到”计算机配置”—“Windows设置”–“安全设置”–“公钥策略”—“
加密文件系统
”。
我们可以看到这里有一个证书的存在,名称是administrator。
双击此证书,浏览到”详细信息”
选项卡
。
对比微缩图号码和客户端中证书
缩略图
,号码是一样的。
使用方法:
注:现在模拟fisher已经离职,且账号已经被删除,证书也没有备份。Lucifer接替fisher的工作,但发现文件被加密无法打开。
导出EFS恢复代理的证书和密钥(导出
私钥
),或使用手动制作恢复代理帐号时,产生的密钥。
用域管理员进入用户电脑,并将刚才导出的密钥导入:
再看一下就能打开了。
同时我们可对文档进行解密操作,再以lucifer登陆,则可以正常使用了。
手动创建的恢复代理是一样的操作原理,但要注意在生成手动创建恢复代理的时候注意保存密钥以及证书。
首先我们先了解一下“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)必须知道该被删帐户的密码:没有帐户密码,就无法解密主密钥。因为其加密密钥是由帐户密码派生而来的。
(2)该被删帐户的配置文件必须存在:加密后的私钥和主密钥(还包括证书和公钥),都保存在配置文件里,所以配置文件万万不可丢失,否则就会彻底任务失败。
可能大家会想,只需新建一个同名的用户帐户,然后把原来配置文件复制给新帐户,不就可以解密EFS文件了?原因在于帐户的SID,因为新建用户的SID不可能和老帐户一样,所以常规方法是不可能奏效的。我们必须另辟蹊径,让系统再造一个完全一样的SID!
下面就看我的具体步骤:
(1)把新系统进行GHOST备份。 (2)找一张DOS下的支持NTFS 的EasyRecovery光盘,使用EasyRecovery 找回账户配置文件(具体能不能找回该配置文件,就要看大家的运气了,还好我的运气不错,找到了,不然就不知道怎么向MM交代了,呵呵)。然后把找到的用户配置文件另存到D盘。 (3)还原第一步做的GHOST的备份,进入系统,找到刚刚我们恢复的账户配置文件,
(4)再造SID,首先确认帐户的SID,这里可以进入以下文件夹:D:\华港用户\Application Data\Microsoft\Crypto\RSA在其下应该有一个以该帐户的SID为名的文件夹,例如是S-1-5-21-1214440339- 1078145449-1343024091-1004(RID为1004)现在我们要设法让新建帐户同样具有1004的RID,这样就能达到目的。
在Windows中,下一个新建帐户所分配的RID是由HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注册表项的F键值所确定的。F 键值是二进制类型的数据,在偏移量0048处的四个字节,定义下一个帐户的RID。那么也就是说,只需要修改0048处的四个字节,就能达到目的(让新建帐户获得1004的RID)!
默认情况下,只有system帐户才有权限访问HKEY_LOCAL_MACHINE\SAM,这里在CMD命令提示符窗口,运行以下命令,以system帐户身份打开注册表编辑器:
psexec -i -d -s %windir%\regeditexe 提示 可以在以下网站下载psexec:
http://wwwsysinternalscom/Utilities/PsExechtml
(5)定位到HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注册表项,双击打开右侧的F键值。
(6)这里要说明一下,Windows是以十六进制、而且以反转形式保存下一个帐户的RID。什么意思呢?也就是说,如果是1004的RID,对应十六进制就是03EC,但是我们必须把它反转过来变成EC03,再扩展为4个字节,就是EC 03 00 00。所以,我们应该把F键值的0048偏移量处,把其中四个字节改为“EC 03 00 00”。
(7)重启计算机!重启以后,新建一个同名帐户“华港用户”,它的SID应该和以前是完全一样。如果不相信的话,可以借助GetSID或者PsGetSID等工具测试一下。
(8)接下来的就非常简单了,用新建的“华港用户”帐户身份登录系统,随便加密一个文件,然后注销,用管理员帐户登录系统,把原来保留的配置文件覆盖到”C:\Documents and Settings\华港用户“文件夹。再用”华港用户“帐户登录系统,现在可以解密原来的EFS文件了。
如果你刷机时误勾选了“phone efs clear”选项,导致EFS分区数据被清除的话,可以将efsimg和efstargz两个文件传回到/sdcard/根目录,然后打开HC-kTool,点击“将备份文件恢复到EFS分区(危险!)”选项,把备份文件恢复回去
PS:除了备份EFS之外,HC-kTool这款工具还可以备份内核、Recovery、刷机等,非常强大
如果不需要EFS加密,只需在文件或文件夹上单击鼠标右键,选择属性,然后点击高级,在弹出的高级属性窗口中,取消勾选“加密内容以便保护数据”选项,点击确定,然后点击“应用”。
接下来会提示确认属性更改,选择“将更改应用于此文件夹、子文件夹和文件”,点击确定就可以了。
欢迎分享,转载请注明来源:品搜搜测评网