以下内容仅做存档记录。内容测试基于亿赛通7.4.6版本,理论上低于此版本都可以按照此方法进行,高于此版本需要测试。
一、亿赛通文档加密特征
1、加密文档特征,UltraEdit编辑器下,文件头内容为:62 14 23 65。即可视为加密。
2、文件头有E-SafeNet LOCK字样。
二、透明加解密过程说明
所谓透明加密,指的是在特定的环境(比如指定的公司内网),两个人或者多个人之间,传输加密文件后,可以无需特殊解密动作,自动就可以打开。
这个功能实现的前提条件是两台电脑要同时有这套软件,且部署了相同的服务器。
大概过程原理如下:
指定的白名单程序---读取指定类型的文件---自动解密供白名单程序读取----保存时自动加密。
举例:
Excel文件在很多使用了亿赛通公司都是被加密的。但是默认情况下无论读写都是没问题的。因为Excel属于白名单程序,读取指定类型文件时被自动解密了。
三、如何解密
亿赛通默认解密需要右键发起解密流程,由上级领导或者专员进行解密。
四、什么条件可以破解?
1、以下仅讨论在线的情况下的破解(即:当前电脑还能打开加密文件的情况下)
2、要看公司的加解密逻辑,不同公司会略有不同。有些公司仅加密了常用的office办公文档和word。有些公司把程序源码(.cpp/.java等等)都加密了。
3、正常的情况下,能加密文件的电脑就可以解密这个文件,只要你有对应的白名单程序。也就是能打开加密文件的程序。
对于同一个类型的文件,不同的程序“权限”是不同的,比如:.cpp文件,对于visual studio就是明文,但对于记事本打开就是加密后的密文。
五、破解思路
1、编写两个程序:
程序1负责冒充白名单的程序,同时读取对应的文件类型,以获得未加密的文件内容。然后把内容发给程序2。
程序2负责把未加密的内容保存为对应的文件名。
要发给程序2的原因是:
程序1如果直接保存,还是会被自动加密回去的。而程序2不在亿赛通的管理清单里,则可以保存。
特殊情况:如果发现程序2直接写对应文件类型也会被加密,可以尝试改掉输出扩展名(比如:filename.xlsx.abc),然后再重命名。
举例:
程序1以流模式读取加密文件,通过程序通道发给程序2,程序2收到后流信息后保存到磁盘,扩展名可以保持一致,如果不行就试试.abc或者其他不会被加密的扩展名。
2、需要做多个类型的白名单程序吗?
不需要。通常情况下,能读取xls的,也能直接读取doc或者ppt、pdf等等,只写一个就行了。
3、尝试多次冒充都没有用是为什么?
以笔者测试的情况来看,越是小众的程序,如果在这个白名单里,尽量用小众一点的,尤其office系列,亿赛通默认有个Office加载项,这会使得假冒有时候不太灵(细节原因没有深究)。笔者测试冒充:winrar、pdf阅读器这些都是可以的。
另外还有一种方式:把程序写成Office插件,基于C#或者其他语言都可以写office插件,基于VSTO技术的插件是依赖Office程序启动的,相当于对Office进程做了一个官方允许的注入。这样启动Excel等软件后再运行我们的解密界面就易如反掌了。和前面一样,只需要写一个就可以了,比如写一个Excel插件,就可以读取解密全部的文件格式。
特殊说明:
1、以上这种解密方式不会留下任何解密记录,属于常规的“透明解密”的一部分。
2、部分公司电脑有录屏监控、文件外发监控等等功能,比如:深信服。据亿赛通官网解释也会有录屏监控。所以,由本文产生的任何后果由使用者自行承担。
以上。
转载请注明:鸟儿博客 » 亿赛通E-SafeNet文档解密原理