【技术原创】Zyxel固件解密 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

【技术原创】Zyxel固件解密

3gstudent 技术 2023-09-28 11:50:00
45246
收藏

导语:本文介绍了Zyxel固件解密的两种通用方法,分享了在解密过程中需要记录的细节。

0x00 前言

本文将要介绍Zyxel固件解密的两种通用方法,记录测试心得。

0x01 简介

本文将要介绍以下内容:

基础知识

通过已知明文攻击解密zip文件

通过跟踪进程参数获得zip加密口令

0x02 基础知识

1.固件下载

固件下载地址:https://portal.myzyxel.com/my/firmwares

需要注册账户,可下载指定版本的固件

2.常见固件类型

ATP

USG FLEX

VPN

ZyWALL/USG

这里以VPN50 5.36(ABHL.0)为例,下载后保存为VPN50_V5.36(ABHL.0).zip

接下来介绍固件解密的两种方法

0x03 通过已知明文攻击解密zip文件

参考资料:https://attackerkb.com/topics/N3i8dxpFKS/cve-2023-28771/rapid7-analysis

VPN50_V5.36(ABHL.0).zip中的文件内容如下:

536ABHL0C0.bin

536ABHL0C0.conf

536ABHL0C0.db

536ABHL0C0.pdf

536ABHL0C0.ri

VPN50_V5.36(ABHL.0)C0-foss.pdf

其中,536ABHL0C0.bin和536ABHL0C0.db被加密,需要解密

解密条件:

1、已知完整的明文文件和zip文件

2、明文文件需要被相同的压缩算法压缩

3、加密算法为ZipCrypto Store

对于VPN50_V5.36(ABHL.0).zip,536ABHL0C0.conf同536ABHL0C0.bin中的db/etc/zyxel/ftp/conf/system-default.conf文件一致,同536ABHL0C0.db中的etc/zyxel/ftp/conf/system-default.conf文件一致,满足条件1

对于条件2,需要确定536ABHL0C0.bin和536ABHL0C0.db的压缩算法,参考资料也未涉及这部分内容,这里详细介绍分析流程

查看536ABHL0C0.bin中db/etc/zyxel/ftp/conf/system-default.conf的压缩信息:zipdetails -v 536ABHL0C0.bin

返回结果:

微信截图_20230609174813.png

1.png得出压缩算法如下:

微信截图_20230609174958.png

所以在压缩536ABHL0C0.conf时需要加入参数-9设定为compress better,即Maximum Compression

完整解密命令如下:

(1)安装pkcrack

2.png

(2)解密536ABHL0C0.bin

3.png

(3)解密536ABHL0C0.db

4.png

需要注意536ABHL0C0.bin和536ABHL0C0.db的system-default.conf绝对路径不同

0x04 通过跟踪进程参数获得zip加密口令

参考资料:https://security.humanativaspa.it/zyxel-firmware-extraction-and-password-analysis/

解密原理:从.ri文件能够提取出zld_fsextract,zld_fsextract能够根据文件内容计算出解压口令进而解密.bin文件

经测试,使用zld_fsextract也可以解开其他固件的.bin文件

1.提取zld_fsextract

5.png

查看文件类型:file zld_fsextract

返回结果:zld_fsextract: ELF 32-bit MSB executable, MIPS, N32 MIPS64 rel2 version 1 (SYSV), statically linked, stripped

提示zld_fsextract为MIPS结构,需要搭建MIPS环境运行

2.搭建MIPS环境

6.png

3.监控进程启动

7.png

注:

需要加入参数-f跟踪由fork调用所产生的子进程,加入参数-s 199指定trace结果的每一行输出字符串的长度,如果未设置参数-s,无法记录完整的解密口令

返回结果实例:

8.png

从中获得解密口令GfmirkjRUJla2evWFLtqJoI5a6vfOmDgR/OIl7lFSWrXBm3S7yJTmdaMlV19HGr

注:

该解密口令不适用于536ABHL0C0.db

0x05 小结

本文介绍了Zyxel固件解密的两种通用方法,分享了在解密过程中需要记录的细节。

本文为 3gstudent 原创稿件,授权嘶吼独家发布,如若转载,请注明原文地址
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务