花式解密Zyxel加密固件包

IoT 2年前 (2022) admin
995 0 0


花式解密Zyxel加密固件包

前言


在网上看到了几篇有意思的文章,感觉能和自己之前在打CTF比赛时的知识相结合,遂自己动手复现一下。


如需参考资料和下载链接请在文末跳转原文


01

准备


打开该URL:https://portal.myzyxel.com/my/firmwares,发现需要登录:


花式解密Zyxel加密固件包


使用临时邮箱注册就可以解决问题,毕竟你也不想让自己常用的邮箱变为垃圾邮件回收站吧?注册后继续访问该网站,选择如下图所示的版本号:


花式解密Zyxel加密固件包


点击后面的Download下载文件,下载后对zip压缩包解压unzip -d ./firmware firmware.zip,可以得到:


花式解密Zyxel加密固件包


现在我们的目标是解压出该设备的文件系统(file-system),所以当前的目标为470AALA0C0.bin,使用binwalk查看信息:


花式解密Zyxel加密固件包


基本为1,这表明该固件处于加密或压缩状态;使用binwalk 470AALA0C0.bin查看其状态:


花式解密Zyxel加密固件包


该bin文件实际上是处于加密状态的zip压缩包,可以使用file命令验证一下:


花式解密Zyxel加密固件包


同样需要注意的是解压出来的不仅只有bin文件,还有一些其他文件,这些文件可能对我们之后的解密470AALA0C0.bin带来一些帮助:


花式解密Zyxel加密固件包


分别计算这些文件的CRC32校验值:


花式解密Zyxel加密固件包


将470AALA0C0.bin拖拽到Windows中,使用7-zip打开,逐级目录翻找,最终发现./db/etc/zyxel/ftp/conf目录下的system-default.conf与前面的470AALA0C0.conf校验值相同:


花式解密Zyxel加密固件包


这说明这两个文件完全相同,所以我采用明文攻击的手段来解包该加密的bin文件


02

解包方式1 — 明文攻击


虽说明文攻击时现在CTF中一种常见的杂项题目类型,但是在这里我还是要强调几个问题,这里就以上面加密的system-default.conf为例吧:


花式解密Zyxel加密固件包


明文攻击成功需要同时满足三个条件,缺一不可:


  1. 用户拥有压缩包中已知的明文文件(部分或全部)。

  2. 明文文件在攻击前需要与对应的加密文件使用相同的压缩算法压缩成压缩包(可以简单的认为是使用相同的压缩工具),就比如说密文system-default.conf使用的压缩算法为ZipCrypto Deflate:Maximum

  3. 密文文件的压缩算法需要是ZipCrypto Store/ZipCrypto Deflate

  4. 密文文件的加密方式不能是AES,即不能是AES256-Deflate / AES256-Store,只能是ZipCrypto Deflate / ZipCrypto Store.


花式解密Zyxel加密固件包

下面我们来说一下具体的破解过程,我一开始尝试的是之前一直在使用的ARCHPR 4.54 Professional Edition:


花式解密Zyxel加密固件包
花式解密Zyxel加密固件包


但是该工具无法识别,就算文件扩展名改为.zip也不行,可能因为ARCHPR是很老的缘故了,不支持现在使用最新算法的加密包。仔细想想我们为什么一定非要用Windows下的ARCHPR进行破解呢?从加密包可以知道**system-default.conf**在Unix系统上被压缩(极有可能为Linux系统上的压缩软件),因此我们转而使用另外一款工具pkcrack。


点击文末“阅读原文”跳转社区


关于作者 / 0431实验室 /


0431实验室是信睿网络的最核心的技术部门,长期致力于IOT安全,车联网安全,工控安全等领域的漏洞挖掘与攻防技术的研究。团队曾多次向国内外知名厂商如百度,华为,小米,思科等提交漏洞研究成果,并协助修复安全漏洞。


花式解密Zyxel加密固件包

原文始发于微信公众号(IOTsec Zone):花式解密Zyxel加密固件包

版权声明:admin 发表于 2022年9月16日 下午6:16。
转载请注明:花式解密Zyxel加密固件包 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...