若何解密被DRMsof?

11小时前 (20:37:11)阅读1回复0
kanwenda
kanwenda
  • 管理员
  • 注册排名1
  • 经验值115405
  • 级别管理员
  • 主题23081
  • 回复0
楼主

  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:

(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。

  剩余步调完全一样。

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的链接如下:

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的“密钥链”。

0
回帖

若何解密被DRMsof? 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息