word加密破解
FB招聘站
分类阅读
专栏
公开课
FIT 2019
企业服务
用户服务
搜索
投稿
登录
注册
MS WORD加密及破解原理分析 ArkTeam认证作者专栏作者2016-06-15现金奖励共738762人围观 ,发现 7 个不明物体 系统安全
* 本文原创作者:ArkTeam
加密的WORD文档遭遇“秒破”,密码形同虚设,这在多年前是一件神奇而不可思议的事情,其真相和原理如何?如今高版本的WORD文件是否同样的不堪一击?这里对MS WORD加密及破解原理进行详细分析,以科学严谨的态度,全面深入探究WORD加密原理以及“秒破”真相!
一、调研对象
1、调研对象
(1)针对Microsoft Office Word简体中文版;
(2)针对Word文档的打开密码;
(3)除个别语言版本外,调研结论理论上均适用;
2、术语说明
(1)密码:用户为Word文档设置的打开密码;
(2)密钥:加密算法所使用的Key,本文档所指的RC4 密钥由用户输入的密码经过特定的变换得到;
(3)字典破解:逐一使用指定字典中的密码进行破解;
(4)暴力破解:穷举所有可能的密码进行破解,在本文档中字典破解亦视为暴力破解;
(5)查表破解:枚举指定长度下所有可能的密钥,对特定的明文进行加密,保存所有的密文-密钥对构成一个表,直接在该表中查找密文即可得到可能的密钥;
3、Word密码破解方式对比
Clipboard Image.png
二、调研结论
1、没有直接或间接证据,证明Word存在“保存用户密码 ”等明显后门;
2、使用Office Password Recovery Toolbox(推测基于查表技术)等工具,可以快速得到Word 2003 / 2007 / 2010 生成的受保护的doc文件的加密密钥,通过解密恢复出对应的明文文件;
3、使用基于暴力猜解的破解工具,如破解成功,可以得到用户设置的原始密码;
4、快速破解工具原理猜测:利用doc文档加密强度低(RC4加密算法、 40位长度的密钥)的脆弱点,通过在密文-密钥对表中查找密文得到加密密钥,不涉及用户设置的原始密码;
5、从存储和算力两个方面证明了查表破解的可行性;
三、破解工具调研
1、可快速移除打开密码的情况
Clipboard Image.png
2、Word 2007 / 2010快速破解场景说明
(1)将已经设置打开密码保护的docx文档另存为97-2003格式的doc文档,会提示“是否要通过转换为Office Open XML格式来提高安全性?”;
(2)将新建的Word文档保存为97-2003格式的doc文档,对doc文档设置密码保护,也会给出同样的提示;
Clipboard Image.png
(3)如果选择“是”,则会弹出另存为对话框,默认格式为docx;
(4)如果选择“否”,则直接保存,对应的doc文档可以被Office Password RecoveryToolbox / Word Password Recovery Master等工具所快速破解;
3、现有破解工具及其适用范围
Clipboard Image.png
Passware Password Recovery Kit上传的数据经过加密处理,根据WORD文档大小的不同上传不同大小的数据,实验测试发现:20KB的文档上传了15KB的加密数据,100KB的文档上传了30KB的加密数据。
四、破解原理分析
1、Word加密原理简介
密钥生成:随机生成16字节的Salt数据,连同用户输入的密码字符串,经过特定的变换后,得到40位长度(5字节)的RC4密钥;
Clipboard Image.png
2、Word加密相关字段
(1)Salt:随机生成的16字节数据,结合用户输入的密码经过特定变换后生成RC4密钥;
(2)FreshNumber:随机生成的16字节数据;
(3)FreshNumberMD5:FreshNumber经过变换后,对其计算得到的MD5哈希值(16字节数据);
当文档被加密时,各字段的存储方式
(1)Salt字段明文存储;
(2)FreshNumber字段经过RC4单独加密后存储;
(3)FreshNumberMD5字段经过RC4单独加密后存储;
说明:对RC4加密算法而言,同样的明文位于不同的位置,加密后的密文是不一样的。
3、打开受保护的Word文档时,如何验证密码是否正确?
(1)将用户输入的密码和Salt经过变换后计算得到RC4密钥;
(2)解密得到FreshNumber明文,计算出FreshNumber的MD5哈希值;
(3)解密得到FreshNumberMD5明文,如果与计算出来的MD5相同,则认为密码正确,否则认为密码错误;
4、密码验证过程
Clipboard Image.png
5、针对Office Password Recovery Toolbox工具进行了原理分析,推测其使用“查表”技术联网破解;
工具特点为:
(1)脱机无法使用,需要联网;
(2)客户端向服务器发送用于破解的数据;
(3)服务器返回解密所需的密钥,客户端执行解密操作;
(4)破解速度极快,但无法得到用户设置的原始密码;
6、Office Password Recovery Toolbox原理推测
(1)枚举所有的40位长度(个数为240)的RC4密钥,对DOC文档特定数据块进行加密,并提取其中特定位置的5字节密文(该5字节数据明文均为0×00);
(2)服务器端存储的表项保存了所有的密文-密钥对;
(3)客户端从受保护的DOC文件读取特定位置的5字节密文,向服务器查询后得到对应的RC4密钥;
(4)客户端接收服务器返回的RC4密钥对DOC文件进行解密;
Clipboard Image.png
Clipboard Image.png
上传数据分析:协议版本、程序名称等无关数据;
Clipboard Image.png
Clipboard Image.png
Engine_data数据分析:
用于验证密钥是否正确:Salt明文占用16字节;FreshNumber密文占用16字节;FreshNumberMD5密文占用16字节;
用于在表中查找密钥:特定位置的密文占用5字节
作用暂不明确:GUID以及sevdo_num_old字段占用68字节;
Clipboard Image.png
返回数据分析:result=2,表示处理的结果类型;key为解密需要的密钥(5字节);
7、密钥冲突处理
(1)给定密文,查表得到的RC4密钥可能不止一个;
(2)实际测试时在224空间内找到123对碰撞(两个不同的Key对同一段明文进行加密,特定位置上的密文是一样的);
(3)使用Salt / FreshNumber /FreshNumberMD5验证密钥的正确性;
Clipboard Image.png
Clipboard Image.png
8、特定位置的5字节密文数据选取
(1)5个字节位于WordDocument数据块中,为其中的FibRgFcLcb97结构体成员;
Clipboard Image.png
(2)这5个结构体成员类型均为unsigned int,表示相对于Table数据块的偏移值;
Clipboard Image.png
(3)3字节最大可表示0x00FFFFFF,Table数据块不存储Word正文,3字节足够表示大小,所以对4字节而言最高字节为0×00;
Clipboard Image.png
Clipboard Image.png
Clipboard Image.png
五、破解成本分析
1、成本估算
Clipboard Image.png
(1)时间估算:采用Intel Core i7-3770 3.4GHz处理器(四核八线程)全负荷计算,需要100小时;
(2)空间估算:密码一共有240=1T个,存储5字节(40位)RC4密钥、5字节密文数据,需要10TB存储空间;
(3)实验结论:完全可行
2、DOC格式正被逐渐取代
(1)查表破解仅对Word 2003/2007/2010保存的doc文件有效;
(2)Word 2007开始默认新建文档格式为docx;
(3)无法破解最新版本的Word 2013保存的doc文件;
3、价值估算
(1)当前这些收费软件仍然存在,说明有一定的市场;
(2) 未来使用doc加密文件破解服务的用户数量肯定会越来越少 。
DOC文档的加解密原理,多年前已有详细技术分析,本文在前辈们研究的基础上,进行了归纳总结和进一步的分析验证。本文最初的目的是内部学习交流,现在分享出来,供有兴趣的同学研究。
在此,ArkTeam向以下参考文章的作者们表示感谢和敬意!
参考资料:
【1】 复合文档文件格式研究,
http://club.excelhome.net/thread-227502-1-1.html
【2】 doc文件word格式,
http://blog.chinaunix.net/uid-21323988-id-1827840.html
【3】 Office文件的奥秘——.NET平台下不借助Office实现Word、Powerpoint等文件的解析,
http://www.cnblogs.com/mayswind/archive/2013/03/17/2962205.html
【4】 微软OFFice复合文档,
http://blog.csdn.net/zhulinfeiba/article/details/5870408
【5】 规划 Office 2013 的加密技术和加密设置(MS官方文档),
http://technet.microsoft.com/zh-cn/library/cc179125.aspx
【6】 OpenOffice.org’sDocumentation of the Microsoft Compound Document File Format,
http://www.openoffice.org/sc/compdocfileformat.pdf
【7】 RC4流密码与微软Office文档安全分析,
http://www.ecice06.com/CN/article/downloadArticleFile.do?attachType=PDF&id=11111
【8】 MSWord加密算法弱点利用
http://wenku.baidu.com/link?url=zFmMuLwkTq9yqpei47QDm4_n67bKM1JGBMH6Qa9ZWuJkywpPi_Hjk7Uxt_JVfuqmPhbfDA0HncaU7rq5ZDe8mS10jjy5w03rqtX8i4uLvL7
* 作者:ArkTeam,本文属FreeBuf原创奖励计划文章,未经许可禁止转载
ArkTeam
ArkTeam
37 篇文章
等级: 6级
||
上一篇:Bolek银行木马:金融恶意软件市场的新威胁下一篇:窃听狂魔:隐藏在jar包之后的木马
这些评论亮了
淡淡的 回复
写了一大堆 到底能破不能破 或者说多久能破掉一个正常密码
)11(亮了
木千之 (5级)人,既无虎狼之爪牙,亦无狮象之力量,却能擒狼缚虎,驯狮猎象,...回复
记得word03的加密实现已经被破解了,虽然加密算法强度足够,但是实现时存在漏洞,可以运用一定的技巧直接从密文恢复出明文。地市的国安公安部门早已在用
)9(亮了
aa 回复
还有个accent office password 速度比advanced那个快一倍左右
)8(亮了
冰海 (4级)我思故我在……回复
谢谢分享,很赞
)8(亮了
自律 (5级)回复
@ 死宅10086 他妈的怎么哪里都有你
)6(亮了
发表评论已有 7 条评论
冰海 (4级) 我思故我在…… 2016-06-15回复 1楼
谢谢分享,很赞
亮了(8)
aa 2016-06-15回复 2楼
还有个accent office password 速度比advanced那个快一倍左右
亮了(8)
淡淡的 2016-06-15回复 3楼
写了一大堆 到底能破不能破 或者说多久能破掉一个正常密码
亮了(11)
XXXX 2016-06-15回复
@ 淡淡的 现在就流行些这种其实一句话就能说清楚的事情写一大堆废话嘛,说穿了带X的格式还是破不了,只能爆破
亮了(6)
木千之 (5级) 人,既无虎狼之爪牙,亦无狮象之力量,却能擒狼缚虎,驯狮猎象,... 2016-06-15回复 4楼
记得word03的加密实现已经被破解了,虽然加密算法强度足够,但是实现时存在漏洞,可以运用一定的技巧直接从密文恢复出明文。地市的国安公安部门早已在用
亮了(9)
死宅10086 (7级) 2016-06-15回复 5楼
我來瞧瞧
亮了(5)
自律 (5级) 2016-06-15回复
@ 死宅10086 他妈的怎么哪里都有你
亮了(6)
昵称
请输入昵称
必须您当前尚未登录。登陆?注册邮箱
请输入邮箱地址
必须(保密)表情插图
有人回复时邮件通知我
ArkTeam
ArkTeam认证作者专栏作者
Ark团队官方账号
37
文章数
0
评论数
最近文章
企业通讯工具Slack
2017.09.26
初识PowerShell
2017.09.25
浅谈僵尸网络利器:Fast-flux技术
2017.06.10
浏览更多
相关阅读
蓝宝菇(APT-C-12)最新攻击样本及C&C机制分析针对一款DDoS木马的简要分析教你如何让SSH使用一次性密码登陆新型Tinba病毒技术分析弹性边界:如何利用环境变量进行提权
特别推荐
关注我们 分享每日精选文章
活动预告
11月
FreeBuf精品公开课·双11学习狂欢节 | 给努力的你打打气
已结束
10月
【16课时-连载中】挖掘CVE不是梦(系列课程2)
已结束
10月
【首节课仅需1元】挖掘CVE不是梦
已结束
9月
【已结束】自炼神兵之自动化批量刷SRC
已结束
FREEBUF免责声明协议条款关于我们加入我们广告及服务寻求报道广告合作联系我们友情链接关注我们
官方微信
新浪微博腾讯微博Twitter赞助商
Copyright © 2018 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号
css.php 正在加载中...0daybank
文章评论