重装系统后实战EFS解密

  [复制链接]
  • TA的每日心情
    开心
    2014-4-2 21:30
  • 签到天数: 3 天

    [LV.2]九品芝麻官

    534

    主题

    400

    回帖

    7742

    积分

    Intohard Team

    Rank: 7Rank: 7Rank: 7

    积分
    7742
    发表于 2007-7-17 01:29:08 | 显示全部楼层 |阅读模式
        EFS加密解密实例分析,让EFS加密文件重生,本文主要以恢复密钥为基础解决;

    前言:公司一位同事的电脑中病毒,无药可救,帮她还原系统后才发觉她的D盘有部分文件无法打开使用,原因是这位MM竟然给自己的文件用了WINDOWS自带的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)

    1.jpg

    (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

    2.jpg

    在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)

    3.jpg

    提示 可以在以下网站下载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)

    4.jpg

    (7)重启计算机!重启以后,新建一个同名帐户“华港用户”,它的SID应该和以前是完全一样。如果不相信的话,可以借助GetSID或者PsGetSID等工具测试一下。

    (8)接下来的就非常简单了,用新建的“华港用户”帐户身份登录系统,随便加密一个文件,然后注销,用管理员帐户登录系统,把原来保留的配置文件覆盖到”C:\Documents and Settings\华港用户“文件夹。再用”华港用户“帐户登录系统,现在可以解密原来的EFS文件了。
  • TA的每日心情
    开心
    2015-3-4 12:25
  • 签到天数: 76 天

    [LV.6]五品郎中

    9

    主题

    349

    回帖

    765

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    765
    发表于 2007-7-19 20:04:21 | 显示全部楼层
    好经验我又收藏
  • TA的每日心情
    开心
    2015-4-28 17:12
  • 签到天数: 1 天

    [LV.1]布衣百姓

    0

    主题

    77

    回帖

    272

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    272
    发表于 2007-7-21 19:56:11 | 显示全部楼层
    多谢1 [s:205]

    该用户从未签到

    28

    主题

    311

    回帖

    1146

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1146
    发表于 2007-7-22 14:32:29 | 显示全部楼层
    老大把PsExec 给传个,我在网站上没找着。我的邮箱qydwjzk@163.com

    该用户从未签到

    28

    主题

    311

    回帖

    1146

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1146
    发表于 2007-7-29 12:20:40 | 显示全部楼层
    我的注册表怎么打不开,提示函数错误,psexec -i -d -s %windir%\regedit.exe 这个命令怎么用?

    该用户从未签到

    1

    主题

    662

    回帖

    952

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    952
    发表于 2007-7-31 11:19:29 | 显示全部楼层
    好经验!!!收藏了!!谢谢!!!

    该用户从未签到

    6

    主题

    107

    回帖

    76

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    76
    发表于 2007-8-9 14:35:46 | 显示全部楼层
    好经验

    该用户从未签到

    0

    主题

    58

    回帖

    87

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    87
    发表于 2007-9-7 12:32:31 | 显示全部楼层
    好东西,收藏了,谢谢,顶

    该用户从未签到

    1

    主题

    28

    回帖

    18

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    18
    QQ
    发表于 2007-10-8 14:05:16 | 显示全部楼层
    好啊,看了,实验了一下没成功,不知道哪错了!!

    该用户从未签到

    1

    主题

    4

    回帖

    15

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    15
    发表于 2008-9-19 16:22:02 | 显示全部楼层
    收藏后再实验吧~~[s:15]
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表