35
MS WORD加密及破解调研报告 2016年6月1日

MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

  • Upload
    lykien

  • View
    336

  • Download
    5

Embed Size (px)

Citation preview

Page 1: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

MS WORD加密及破解调研报告

2016年6月1日

Page 2: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

报告内容

调研对象

调研结论

破解工具调研

破解原理分析

破解成本分析

附录

Page 3: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

调研对象

调研对象

针对Microsoft Office Word简体中文版;

针对Word文档的打开密码;

除个别语言版本外,调研结论理论上均适用;

Page 4: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

调研对象

术语说明

密码:用户为Word文档设置的打开密码;

密钥:加密算法所使用的Key,本文档所指的RC4密钥由用户输入的密码经过特定的变换得到;

Page 5: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

调研对象

术语说明(续)

字典破解:逐一使用指定字典中的密码进行破解;

暴力破解:穷举所有可能的密码进行破解,在本文档中字典破解亦视为暴力破解;

查表破解:枚举指定长度下所有可能的密钥,对特定的明文进行加密,保存所有的密文-密钥对构成一个表,直接在该表中查找密文即可得到可能的密钥;

Word密码破解方式对比

破解类型 时间消耗 空间消耗

暴力破解 时间超长 只需MB级别空间存储字典

查表破解 时间极短 需要TB级别空间存储密文-密钥对表

Page 6: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

报告内容

调研对象

调研结论

破解工具调研

破解原理分析

破解成本分析

附录

Page 7: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

调研结论

调研结论

没有直接或间接证据,证明Word存在“保存用户密码”等明显后门;

使用Office Password Recovery Toolbox(推测基于查表技术)等工具,可以快速得到Word 2003 / 2007 / 2010生成的受保护的doc文件的加密密钥,通过解密恢复出对应的明文文件;

使用基于暴力猜解的破解工具,如破解成功,可以得到用户设置的原始密码;

Page 8: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

调研结论

调研结论(续)

快速破解工具原理猜测:利用doc文档加密强度低(RC4

加密算法、40位长度的密钥)的脆弱点,通过在密文-密

钥对表中查找密文得到加密密钥,不涉及用户设置的原始密码;

从存储和算力两个方面证明了查表破解的可行性;

Page 9: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

报告内容

调研对象

调研结论

破解工具调研

破解原理分析

破解成本分析

附录

Page 10: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解工具调研

可快速移除打开密码的情况

Word版本

文件格式

加密算法

密钥长度

加密说明 可否移除

2003

doc RC4 40

默认RC4加密算法且密钥长度40位,有其他加密算法以及密钥长度可选

√ 2007 加密强度不可选

2010 加密强度不可选

2007 docx AES

128 加密强度不可选 ╳

2010 docx AES

2013 doc RC4

2013 docx AES

Page 11: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解工具调研

Word 2007 / 2010快速破解场景说明

将已经设置打开密码保护的docx文档另存为97-2003格式的doc文档,会提示“是否要通过转换为Office Open XML格式来提高安全性?”;

将新建的Word文档保存为97-2003格式的doc文档,对doc

文档设置密码保护,也会给出同样的提示;

Page 12: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解工具调研

Word 2007 / 2010快速破解场景说明(续)

如果选择“是”,则会弹出另存为对话框,默认格式为docx;

如果选择“否”,则直接保存,对应的doc文档可以被Office Password Recovery Toolbox / Word Password

Recovery Master等工具所快速破解;

Page 13: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解工具调研

现有破解工具及适用范围

工具名称 国家 形式 破解方式

返回密码

适用范围 数据上传监测

Office Password Recovery Toolbox http://www.rixler.com/

俄罗斯 客户端

查表破解

否 Word 2003 - 2010,doc格式,40位RC4

上传几百字节必要的信息

Word Password Recovery Master http://www.rixler.com/

俄罗斯 客户端 上传几百字节必要的信息

www.password-find.com http://www.password-find.com/

美国 网页版 上传整个WORD文档

Passware Password Recovery Kit http://www.lostpassword.com/

美国 客户端 进行查表破解时存在可疑上传行为

暴力破解

是 Word 2003 - 2013,doc/docx格式

Word Password Unlocker http://www.passwordunlocker.com/

中国 客户端 未发现上传行为

Advanced Office Password Recovery http://www.elcomsoft.com/

俄罗斯 客户端 未发现上传行为

Passware Password Recovery Kit上传的数据经过加密处理,根据WORD文档大小的不同上传不同大小的数据,实验测试发现:20KB的文档上传了15KB的加密数据,100KB的文档上传了30KB的加密数据。

Page 14: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

报告内容

调研对象

调研结论

破解工具调研

破解原理分析

破解成本分析

附录

Page 15: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解原理分析

Word加密原理简介

密钥生成:随机生成16字节的Salt数据,连同用户输入的密码字符串,经过特定的变换后,得到40位长度(5字节)的RC4密钥;

用户输入密码

加盐&哈希变换

RC4/AES密钥

Page 16: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解原理分析

Word加密相关字段

Salt:随机生成的16字节数据,结合用户输入的密码经过特定变换后生成RC4密钥;

FreshNumber:随机生成的16字节数据;

FreshNumberMD5:FreshNumber经过变换后,对其计算得到的MD5哈希值(16字节数据);

当文档被加密时,各字段的存储方式

Salt字段明文存储;

FreshNumber字段经过RC4单独加密后存储;

FreshNumberMD5字段经过RC4单独加密后存储;

对RC4加密算法而言, 同样的明文位于不同的位置, 加密后的密文是不一样的。

Page 17: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解原理分析

打开受保护的Word文档时,如何验证密码是否正确?

将用户输入的密码和Salt经过变换后计算得到RC4密钥;

解密得到FreshNumber明文,计算出FreshNumber的MD5哈希值;

解密得到FreshNumberMD5明文,如果与计算出来的MD5相同,则认为密码正确,否则认为密码错误;

Page 18: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解原理分析

密码验证过程 读取

FreshNumber密文 读取Salt明文

读取用户输入密码 读取

FreshNumberMD5密文

计算得到RC4密钥

RC4解密

计算得到MD5

RC4解密

相同

不同

密码正确

密码错误

Page 19: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解原理分析

针对Office Password Recovery Toolbox工具进行了原理分析,推测其使用“查表”技术联网破解;

工具特点

脱机无法使用,需要联网;

客户端向服务器发送用于破解的数据;

服务器返回解密所需的密钥,客户端执行解密操作;

破解速度极快,但无法得到用户设置的原始密码;

Page 20: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解原理分析

Office Password Recovery Toolbox原理推测

枚举所有的40位长度(个数为240)的RC4密钥,对DOC文档特定数据块进行加密,并提取其中特定位置的5字节密文(该5字节数据明文均为0x00);

服务器端存储的表项保存了所有的密文-密钥对;

客户端从受保护的DOC文件读取特定位置的5字节密文,向服务器查询后得到对应的RC4密钥;

客户端接收服务器返回的RC4密钥对DOC文件进行解密;

Page 21: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解原理分析

原始上传数据

变换后的数据

protocol_version=1.2&program_name=WPRM&program_version=3.5.0.2&command=1&decryption_mode=1&reg_code=58596163&engine_data=a768c248e30d18994f3505839867b3a45688777e10765f956b5bcf5829f7291ecf125c6a1ef85d57a2319d550508ea2f326ce029b17b897d7851484a484d47464b5641594b4d5641484d5a49414d47444a4157464a4d554b4c4b474a56443a8487798a78837382898173838078514a49484745464b794a4b3a&check_sum=MW

protocol_version=1.2&program_name=WPRM&program_version=3.5.0.2&command=1&decryption_mode=1&reg_code=58596163&engine_data=9354ae34cff904853b21f16f84539f904274636afc624b815747bb4415e3150abbfe48560ae449438e1d8941f1f4d61b1e58cc159d677569643d34363439333237422d453739422d343946352d393330362d4332363941373837333642302670736576646f5f6e756d5f6f6c643d3635343331323765363726&check_sum=MW

Page 22: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解原理分析

上传数据分析

协议版本、程序名称等无关数据;

protocol_version=1.2&program_name=WPRM&program_version=3.5.0.2&command=1&decryption_mode=1&reg_code=58596163&engine_data=9354ae34cff904853b21f16f84539f904274636afc624b815747bb4415e3150abbfe48560ae449438e1d8941f1f4d61b1e58cc159d677569643d34363439333237422d453739422d343946352d393330362d4332363941373837333642302670736576646f5f6e756d5f6f6c643d3635343331323765363726&check_sum=MW

protocol_version=1.2&program_name=WPRM&program_version=3.5.0.2&command=1&decryption_mode=1&reg_code=58596163&engine_data=9354ae34cff904853b21f16f84539f904274636afc624b815747bb4415e3150abbfe48560ae449438e1d8941f1f4d61b1e58cc159d677569643d34363439333237422d453739422d343946352d393330362d4332363941373837333642302670736576646f5f6e756d5f6f6c643d3635343331323765363726&check_sum=MW

Page 23: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解原理分析

Engine_data数据分析

Salt明文占用16字节;

FreshNumber密文占用16字节;

FreshNumberMD5密文占用16字节;

特定位置的密文占用5字节

GUID以及sevdo_num_old字段占用68字节;

engine_data Salt明文 = {93,54,AE,34,CF,F9,04,85,3B,21,F1,6F,84,53,9F,90} FreshNumber密文 = {42,74,63,6A,FC,62,4B,81,57,47,BB,44,15,E3,15,0A} FreshNumberMD5密文 = {BB,FE,48,56,0A,E4,49,43,8E,1D,89,41,F1,F4,D6,1B} 特定位置的密文 = {1E,58,CC,15,9D} guid=4649327B-E79B-49F5-9306-C269A78736B0&psevdo_num_old=6543127e67&

用于在表中查找密钥

用于验证密钥是否正确

作用暂不明确

Page 24: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解原理分析

原始返回数据

变换后的数据

返回数据分析

result=2,表示处理的结果类型;

key为解密需要的密钥(5字节);

result=2&key=754a454779467847467a

result=2&key=61363133653264333266

result=2&key={0xA6, 0x13, 0xE2, 0xD3, 0x2F}

Page 25: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解原理分析

密钥冲突处理

给定密文,查表得到的RC4密钥可能不止一个;

实际测试时在224空间内找到123对碰撞(两个不同的Key对同一段明文进行加密,特定位置上的密文是一样的);

使用Salt / FreshNumber / FreshNumberMD5验证密钥的正确性;

Key1

Key2

Page 26: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解原理分析

特定位置的5字节密文数据选取

5个字节位于WordDocument数据块中,为其中的FibRgFcLcb97结构体成员;

这5个结构体成员类型均为unsigned int,表示相对于Table数据块的偏移值;

3字节最大可表示0x00FFFFFF,Table数据块不存储Word正文,3字节足够表示大小,所以对4字节而言最高字节为0x00;

结构体成员 文件绝对偏移值 (动态解析确定)

数据(低→高) 明文数据选取

fcPlcfandRef 0x2BA XX XX XX 00 00(0x2BD)

lcbPlcfandRef 0x2BE XX XX XX 00 00(0x2C1)

fcPlcfandTxt 0x2C2 XX XX XX 00 00(0x2C5)

lcbPlcfandTxt 0x2C6 XX XX XX 00 00(0x2C9)

fcPlcfSed 0x2CA XX XX XX 00 00(0x2CD)

Page 27: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解原理分析

用户输入密码 加盐 & 哈希

变换 RC4密钥(低版本) AES密钥(高版本)

RC4加密,40位密钥

doc密文 ①读取特定5字节 密文0xABEF0123FF

②上传数据 0xABEF0123FF

240大小的密文-密钥表

③查找0xABEF0123FF

④返回0xFFFFFFFFFD ⑤返回RC4密钥 0xFFFFFFFFFD

doc明文

⑥解密还原出Word明文

Page 28: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

报告内容

调研对象

调研结论

破解工具调研

破解原理分析

破解成本分析

附录

Page 29: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解成本分析

成本估算

时间估算:采用Intel Core i7-3770 3.4GHz处理器(四核八线程)全负荷计算,需要100小时;

空间估算:密码一共有240=1T个,存储5字节(40位)RC4密钥、5字节密文数据,需要10TB存储空间;

实验结论:完全可行

指标 估计值 可行性

时间成本 100小时 √

空间成本 10TB字节 √

Page 30: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

破解成本分析

DOC格式正被逐渐取代

查表破解仅对Word 2003/2007/2010保存的doc文件有效;

Word 2007开始默认新建文档格式为docx;

无法破解最新版本的Word 2013保存的doc文件;

价值估算

当前这些收费软件仍然存在,说明有一定的市场;

未来使用doc加密文件破解服务的用户数量肯定会越来越少。

Page 31: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

报告内容

调研对象

调研结论

破解工具调研

破解原理分析

破解成本分析

附录

Page 32: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

附录(数据对比)

Word文档修改后变化差别大

大小:19968字节 匹配:19478字节 差异: 490字节

文件内容:12345 文件内容:12346

Page 33: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

附录(数据对比)

同一个Word文档,使用不同的打开密码

大小:20992字节 匹配:12574字节 差异: 8418字节

打开密码:123 打开密码:456

Page 34: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

附录(数据对比)

不同Word文档,使用相同的打开密码

大小:19968字节 匹配:13753字节 差异: 6215字节

打开密码:asdf 打开密码:asdf

Page 35: MS WORD加密及破解调研报告 docx AES 破解工具调研 Word 2007 / 2010快速破解场景说明 将已经设置打开密码保护的docx文档另存为97-2003格式

谢谢!

www.arkteam.net

欢迎关注ArkTeam!