结合实例教你如何破解EFS加密文件
来源:互联网 2022-05-20 17:01:41
EFS(Encrypting File System,加密文件系统)是Windows 2000/XP所特有的一个实用功能,对于NTFS卷上的文件和数据,都可以直接被操作系统加密保存,在很大程度上提高了数据的安全性。EFS加密是基于公钥策略的。然后将利用FEK和数据扩展标准X算法创建加密后的文件。如果你登录到了域环境中,密钥的生成依赖于域控制器,否则它就依赖于本地机器。下面系统之家小编就结合实例为大家介绍下如何破解EFS加密文件。
公司最近招了不少新员工,但由于公司的电脑设备有限,因此只能几个新员工共用一台电脑。为了使用上的方便,每个用户都创建了各自的账户,彼此之间互不干扰。
为了防止别人偷窥文件,小王将所有的重要文件存储到D盘的“小王的文件”文件夹中,之后在该文件夹的属性窗口中的“常规”面板中点击“高级”按钮,在打开窗口中勾选“加密内容以便保护数据”项,使用Windows自带的EFS加密技术对文件夹进行了加密处理。这样,除了小王自己,别人是无法访问该其中的文件的。可糟糕的是,小王没过几日就离职了,当老总让小孙找一个在小王那里的重要文件时,小孙却傻眼了。
面对小孙的窘态,多亏同事小李出手相助,巧妙的突破了加密的壁垒,轻松找回了小王的重要文件。小李是无法做到的呢?且看下面慢慢道来。
我们知道,EFS(Encrypting File System,加密文件系统)是Windows XP内置的一个实用功能,可以对NTFS分区上的文件和数据进行加密,在很大程度上提高了数据的安全性。小李之所以可以打破EFS加密算法的保护,关键是使用了系统提供的“策略代理”方法,该方法可以让特定的用户读取所有的加密文件。当然,该方法是针对多帐户环境而言的。因为在该公用电脑中存在多个拥有管理员权限的帐号。小王使用的是“Administrator”账户,而另一个同事在该机上使用的账户名称是“hongyun”,该账户同样拥有管理员权限。小李正是借助于“hongyun”账户,才轻松突破了加密的束缚。小李首先以“hongyun”账户登录系统,之后在“开始”→“运行”中执行“cmd.exe”程序,在CMD窗口首先切换到C盘根目录,之后执行命令“cipher /r:mykey”,注意其中的“mykey”为导出密钥文件名。随后系统提示输入密码(如图1),小李输入的密码为“key123456789”。当然,该密码的可以随意设置。
这样,就在C盘根目录下生成两个文件,扩展名分别为“cer”和“pfx”。本例中生成的文件为“mykey.cer”和“mykey.pfk”,其中“mykey.cer”为公钥证书文件,“mykey.pfk”为代理人的私钥证书文件。在“开始”→“运行”中运行“gpedit.msc”命令,打开组策略编辑器窗口。在窗口左侧的列表中依次展开“计算机配置”→“Windows设置”→“安全设置”→“公钥策略”→“正在加密文件系统”分支,在其右键菜单上点击“添加数恢复代理程序”项,弹出操作向导界面(如图2)。在其中的“选择故障恢复代理”窗口中点击“浏览文件夹”按钮,在文件选择窗口中导入前面创建的“mykey.cer”文件,之后依次点击“下一步”按钮完成操作。
在资源管理器中进入D盘中的“小王的文件”文件夹,在其中任意文件的属性窗口中打开“常规”面板,点击“高级”按钮,在高级属性窗口中点击“详细信息”按钮,在信息窗口(如图3)中可以看到刚才创建的恢复代理项目。
双击前面生成的文件“mykey.pfk”,弹出证书导入向导界面(如图4),依次点击“Next”按钮,在“密码”窗口中输入预设的密码“key123456789”,完成证书的导入操作。当完成上述操作后。在资源管理器中D盘中的“小王的文件”文件夹,双击其中的加密文件,即可正常访问其内容了。这样,小李几乎没有花费什么力气,就成功的找回了小王的加密文件了。
小提示:上述方法虽然可以找回EFS加密文件,但是,并不能说明Windows 的EFS加密方式存在隐患,使用该方法的前提是必须是多帐户环境,而且存在多个拥有管理员权限的账户,同时使用Windows默认的加密配置。如何杜绝上述安全隐患呢?对策是通过设置权限的方法,来禁止其他用户非法访问EFS加密文件。在EFS加密文件或者文件夹的属性窗口中打开“安全”面板,点击“高级”按钮,在高级安全设置窗口的打开“常规”面板,不勾选其中的“允许父项的继承权限传播到该对象和所有的子对象”项。点击“删除”按钮,将“权限列表”中其他帐号全部删除,只保留自己的帐号,经过这样的权限设置,EFS加密文件的安全性才能得到根本保障。
EFS加密介绍:
1.为什么打开加密过的文件时没有需要我输入密码?
这正是EFS加密的一个特性,同时也是EFS加密和操作系统紧密结合的最佳证明。因为跟一般的加密软件不同,EFS加密不是靠双击文件,然后弹出一个对话框,然后输入正确的密码来确认的用户的;EFS加密的用户确认工作在登录到Windows时就已经进行了。一旦你用适当的账户登录,那你就能打开相应的任何加密文件,并不需要提供什么额外的密码。
2.我的加密文件已经打不开了,我能够把NTFS分区转换成FAT32分区来挽救我的文件吗?这当然是不可能的了。很多人尝试过各种方法,例如把NTFS分区转换成FAT32分区;用NTFSDOS之类的软件到DOS下去把文件复制到FAT32分区等,不过这些尝试都以失败告终。毕竟EFS是一种加密,而不是一般的什么权限之类的东西,这些方法对付EFS加密都是无济于事。而如果你的密钥丢失或者没有做好备份,那么一旦发生事故所有加密过的数据就都没救了。
3.我加密数据后重装了操作系统,现在加密数据不能打开了。如果我使用跟前一个系统相同的用户名和密码总应该就可以了吧?
这当然也是不行的,我们在前面已经了解到,跟EFS加密系统密切相关的密钥是根据每个用户的SID得来的。尽管你在新的系统中使用了相同的用户名和密码,但是这个用户的SID已经变了。这个可以理解为两个同名同姓的人,虽然他们的名字相同,不过指纹绝不可能相同,那么这种想法对于只认指纹不认人名的EFS加密系统当然是无效的。
4.被EFS加密过的数据是不是就绝对安全了呢?
当然不是,安全永远都是相对的。以被EFS加密过的文件为例,如果没有合适的密钥,虽然无法打开加密文件,不过仍然可以删除(有些小人确实会这样想:你竟然敢加密了不让我看!那好,我就删除了它,咱们都别看)。所以对于重要文件,最佳的做法是NTFS权限和EFS加密并用。这样,如果非法用户没有合适的权限,将不能访问受保护的文件和文件夹;而即使拥有权限(例如为了非法获得重要数据而重新安装操作系统,并以新的管理员身份给自己指派权限),没有密钥同样还是打不开加密数据。
5.我只是用Ghost恢复了一下系统,用户账户和相应的SID都没有变,怎么以前的加密文件也打不开了?
这也是正常的,因为EFS加密所用到的密钥并不是在创建用户的时候生成,而是在你第一次用EFS加密文件的时候。如果你用Ghost创建系统的镜像前还没有加密过任何文件,那你的系统中就没有密钥,而这样的系统制作的镜像当然也就不包括密钥。一旦你加密了文件,并用Ghost恢复系统到创建镜像的状态,解密文件所用的密钥就丢失了。因此这个问题一定需要注意!