青浦之家
首页
达人
逛街
活动
论坛
青浦生活
流行时尚
饮食天地
青浦旅游
情感世界
青浦水族馆
青浦招聘
娱乐休闲
影视欣赏
流行音乐
文学社区
动漫世界
青浦校园
青浦高级中学
朱家角中学
青浦一中
东湖中学
西译中学
工商信息
青浦机电职校
东方中学
实验中学
尚美中学
青浦小镇
青浦镇
朱家角镇
白鹤镇
金泽镇
华新镇
徐泾镇
赵巷镇
重固镇
练塘镇
工业园区
立即注册
|
登录
搜索
本版
帖子
群组
用户
只需一步,快速开始
青浦
»
青浦论坛
›
[青浦论坛]电脑技术
›
讨论与求助
›
重装系统后实战EFS解密
发新帖
累累ˇ
当前离线
管理员
在线时间
14 小时
信用度
544
最后登录
2012-7-5
注册时间
2007-3-7
精华
2
阅读权限
200
UID
1
累累ˇ
544
积分
0
好友
68
主题
发消息
重装系统后实战EFS解密
1
楼
发表于 2007-4-23 20:37:57
|
查看: 3602
|
回复: 0
公司一位同事的电脑中病毒,无药可救,帮她还原系统后才发觉她的D盘有部分文件无法打开使用,原因是这位MM竟然给自己的文件用了WINDOWS自带的EFS加密了。哎,真是骑虎难下!!万不得已,只得寻找相关技术资料并试图解密……
首先我们先了解一下“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盘。(如图1)
(3)还原第一步做的GHOST的备份,进入系统,找到刚刚我们恢复的账户配置文件,
(4)再造SID,首先确认帐户的SID,这里可以进入以下文件夹:D:\华港用户\Application Data\Microsoft\Crypto\RSA
在其下应该有一个以该帐户的SID为名的文件夹,例如是S-1-5-21-1214440339-1078145449-1343024091-1004(RID为1004)现在我们要设法让新建帐户同样具有1004的RID,这样就能达到目的。如图2
在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%\regedit.exe (如图3)
提示 可以在以下网站下载psexec:
http://www.sysinternals.com/Utilities/PsExec.html
(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”。(如图4)
(7)重启计算机!重启以后,新建一个同名帐户“华港用户”,它的SID应该和以前是完全一样。如果不相信的话,可以借助GetSID或者PsGetSID等工具测试一下。
(8)接下来的就非常简单了,用新建的“华港用户”帐户身份登录系统,随便加密一个文件,然后注销,用管理员帐户登录系统,把原来保留的配置文件覆盖到”C:\Documents and Settings\华港用户“文件夹。再用”华港用户“帐户登录系统,现在可以解密原来的EFS文件了。
分享到:
QQ空间
腾讯微博
腾讯朋友
转发到微博
收藏
0
回复
显示全部楼层
道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
发表回复
回帖后跳转到最后一页
积分 0, 距离下一级还需 积分
回顶部