搜集网上对EFS的加密与破解的认识

  • 格式:doc
  • 大小:219.50 KB
  • 文档页数:19

网上对EFS的认识解密软件:Advanced EFS Data RecoveryAdvanced EFS DataRecovery 是一个可以从Windows NTFS 分区里解密用EFS 加密的文件的工具。

NTFS 格式下用EFS 加密的方便性就不说了,但经常有加了密后没及时备份密钥文件的……注意:使用EFS 加密后,在重装系统前要导出密钥,否则在新系统中便不能访问加密过的文件。

使用Windows2000/XP的EFS加密后,如果重装系统,那么原来被加密的文件就无法打开了!如果你没有事先做好密钥的备份,那么数据是永远打不开的。

真的是这样么?扫描运行程序前,先运行注册运行文件,再执行程序。

首先扫描所以系统分区,自动获取Key,凡是出现的绿色Key,均为可用的;选择扫描结束后单击“Filetree”标签,找到要解密的文件,添加到列表中;解密单击“Encrypted files”标签,选择要解密的文件(红色的不能解密,因无合适的Key),然后单击“Decrypt”按钮;选择合适的存放解密后文件的位置,即开始解密。

EFS(Encrypting File System,加密文件系统)加密是一种基于NTFS磁盘技术的加密技术。

EFS 加密基于公钥策略。

在使用EFS加密一个文件或文件夹时,系统首先会生成一个由伪随机数组成的FEK(File Encryption Key,文件加密钥匙),然后将利用FEK和数据扩展标准X算法创建加密后的文件,并把它存储到硬盘上,同时删除未加密的原始文件。

接下来系统利用你的公钥加密FEK,并把加密后的FEK存储在同一个加密文件中。

而在访问被加密的文件时,系统首先利用当前用户的私钥解密FEK,然后利用FEK解密出文件。

在首次使用EFS 时,如果用户还没有公钥/私钥对(统称为密钥),则会首先生成密钥,然后加密数据。

如果你登录到了域环境中,密钥的生成依赖于域控制器,否则它就依赖于本地机器。

说起来非常复杂,但是导适褂霉?讨芯兔挥心敲绰榉沉恕?FS加密的用户验证过程是在登录Windows时进行的,只要登录到Windows,就可以打开任何一个被授权的加密文件。

换句话说,EFS加密系统对用户是透明的。

这也就是说,如果你加密了一些数据,那么你对这些数据的访问将是完全允许的,并不会受到任何***。

而其他非授权用户试图访问你加密过的数据时,就会收到“访问拒绝”的错误提示。

我的电脑一般来说不会有别人使用,而我经常重装系统,又懒得备份密钥,所以我从来没有使用过Windows 2003或者Windows XP的EFS功能。

今天读到了一些关于EFS密钥没有备份因而数据无法恢复的求助帖子,所以突然想出一个点子想试着解开EFS的加密。

我构造的试验环境是在Windows XP Pro SP2系统中的一块NTFS磁盘上建立一个test文件夹,启用EFS加密。

文件夹中是一个加密过的文本文件1.txt。

现在我先用另一个帐户去尝试读取这个文件,然后在第二个系统中(相当于重装系统没有证书的情况)再次尝试读取这个文件。

第一步,启用我系统中的GUEST帐户。

此时从资源管理器中是不能访问test文件夹的。

打开cmd,在任务管理器中终止explorer.exe进程,打开P***ec尝试用system登录。

失败。

提示进程无法创建。

看来全县不够。

回到管理员帐户,新建一个管理员帐户test并以之登录。

在test帐户中运行资源管理器可以访问test文件夹,但是不能打开1.txt加密文件。

此时再用上法以system登录。

此时打开文件为乱码!运行IceSword.exe,在文件中定位test文件夹。

右键选择1.txt,复制到桌面,文件名任意,后缀不变。

双击打开文件,正常读出!第一步破解EFS成功!第二步,登陆Windows Server 2003 SP1系统(管理员身份)。

使用上述方法再次复制1.txt到桌面,打开后出现乱码,和system读取时情况一致。

第二种尝试失败。

总结:本方法意义:目前仅适用于察看系统中其他人使用EFS加密过的文件(请读者务必不要做违法及危害他***利的事!),在系统重装或私钥丢失情况下的文件恢复有待进一步地探索。

本方法使用的两个软件:P***ec IceSword。

前者是国外非常流行的远程控制软件,命令行界面。

后者则是PJF制作的国内著名隐藏进程察看软件冰刃。

本方法适用条件: 1. 需要足够运行上述两个软件的权限(如果可以结合net user命令的话应该不难,这只是一个小提示,读者还请自律^_^)。

2. 系统内还有该EFS加密文件对应的密钥(这一条件是基于我的初步推测)本方法成功的原因浅析: 1. 利用了system帐户特有的内核级权限,这可能是能够读取管理员或其他正常用户密钥的条件。

2. IceSword特有的读取加密文件的技术。

关于这一点,是我最百思不得其解的地方,真希望能听到PJF亲自阐述一下这是如何实现的.三、如何找回EFS加密文件?当加密文件的系统账户出问题了,或者重装了系统之后,EFS加密文件就无法访问了,许多朋友都遇到过这样的问题,网上到处都是类似的求助帖子,为此,你可以这样来破解:1、以前备份有PFX私钥假如你以前备份有PFX私钥文件,现在想打开加密文件绝对不成问题!找到备份的PFX私钥文件,鼠标右击该文件,在弹出的菜单中选择“安装PFX”,系统将弹出“证书导入向导”,键入当初导出证书时输入的密码,然后选择“根据证书类型,自动选择证书存储区”即可,完成后就可以访问EFS加密文件了。

2、以前备份有CER证书假如你以前未备份PFX私钥文件、但是备份过CER证书,如果又重装了系统,就没有办法打开加密文件了,假如还没有重装系统,可以这样破解:点击菜单“开始”/运行,键入certmgr.msc打开证书管理器,点击“证书→当前用户”下的“个人”;然后右击鼠标,在弹出的菜单中选择“所有任务→导入”,在“证书导入向导”窗口中按提示操作,点“浏览”按钮,选择“个人”(如图6),把证书导入到“个人”存储区。

然后在左侧点击“个人”下的证书,右边窗口就会看见一个证书,右击该证书,选择菜单“所有任务→用相同密钥续订证书”(如图7),就可以访问EFS加密文件了。

图 6图7结束语有人说,EFS加密虽然牢不可破、简单好用,但是加密文件却经常打不开,这是由于你没有备份私钥文件造成的。

如果你没有备份私钥,重装系统之后,EFS加密文件就会打不开。

假如发生了这样的事情,对于Win2000系统,可以使用恢复代理来解密,即用Administrator这个用户登录系统,然后就能打开加密文件了;如果系统是WinXP,目前还没有办法打开加密文件,因为EFS加密现在还无人能破解,既找不到破解软件,也没有破解方法。

因此最后还是要提醒你,加密之后一定要备份私钥!只要你备份了PFX私钥文件,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键值所确定的。