首页
社区
课程
招聘
7
[原创]常见的固件加解密方式与D-Link固件解密实战分析
发表于: 2024-3-23 21:44 13659

[原创]常见的固件加解密方式与D-Link固件解密实战分析

2024-3-23 21:44
13659

常见固件的加解密方式与D-Link固件解密实战分析

前言

当我们需要进行固件分析时,首先要做的就是获取固件,而获取固件无外乎就是从官网获取固件、通过流量拦截获取固件、使用编程器从闪存中读取固件以及通过串口调试提取固件。提取到固件之后,下一步就是对固件的进行分析,分析的对象主要是固件的内核与文件系统,包括Web应用、协议、核心控制程序等。

但是现在大多数厂商对了保证自己家产品安全,防止被他人攻击,就会对固件进行加密处理,可能是使用AES、DES、SM4等复杂的加密方式,也可能是使用XOR、ROT等简单的加密方式,加解密的程序一般放于Boot loader、内核或者文件系统中。这种情况下我们就不能直接使用 binwalk 等工具提取,需要先对加密的固件进行解密。

而厂商对固件的加密一般以下面三种情况为主:

常见的固件加解密方式

1、固件出厂未加密,后续发布包含解密方案的未加密版本,最后发布加密版本

设备固件在出厂时未加密(假设此时的版本是 v1.0),也未包含任何解密释序。厂商后续会发布一个包含解密程序的 v1.1 版本的未加密固件,最后再发布一个含有解密程序的 v1.2 版本的加密固件。此时,我们可以从固件 v1.1 中获取解密程序,用它来解密 v1.2 版本的固件,然后进行固件提取。

2、固件出厂加密,后续发布包含新版解密方案的未加密固件,最后发布新版加密版本

厂商直接在设备固件的原始版本中进行了加密,但是厂商决定更改加密方案并发布一个未加密的 v1.2 版本的新固件作为过渡,其中包含了新版本的解密程序。

在更新固件版本之前,需要先看新固件版本的发布通告,这个通告会指示用户在将固件升级到最新版本之前,需要先升级到固件的一个中间版本,而这个中间版本就是这个未加密的固件版本。通过这个中间版本的固件进行升级,最终可获取新版本加密固件的解密程序。

3、固件出厂加密,后续发布包含新版解密方案的加密固件,最后发布新版加密版本

从网上下载的设备固件在原始版本中进行了加密,厂商决定更改加密方案并发布一个带新版解密程序的中间版迭代加密固件,但是由于对初始版本的固件就进行了加密,因此很难获得解密程序。

此时,想对加密后的固件进行解密会比较困难。针对这种情况,一种思路是购买设备并使用 JTAGUART 调试等方法进入 Linux Shell 或者 Uboot Shell,直接从设备硬件中提取固件的文件系统。然后就是对固件进行更深层次的分析,看看如何能够对加密的固件进行逆向分析,得到加密逻辑,最后破解。

对加密的D-Link固件进行解密

无设备情况下的通用思路如下

准备工作

这里以 D-Link DIR-822-US 系列路由器 3.15B02 版本的固件为例进行分析。

该固件可以在官网中下载得到

1
wget https://support.dlink.com/resource/PRODUCTS/DIR-822-US/REVC/DIR-822_REVC_FIRMWARE_v3.15B02.zip

下载完后,我们如果用binwalk去分析固件会发现报告是空白

我们这个时候可以用 binwalk -E 命令来查看固件的熵值(查看熵值是一种确认给定的字节序列是否压缩或加密的有效手段。熵值越大,意味着字节序列有可能是加密的或者是压缩过的)

这里显示熵值几乎都是1,这意味着这个固件的各个部分都进行了加密

幸运的是,我们发现对应版本固件的发布说明中提到了The firmware v3.15 must be upgraded from the transitional version of firmware v303WWb04_middle.



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2024-3-23 23:25 被Arahat0编辑 ,原因:
上传的附件:
收藏
免费 7
支持
分享
赞赏记录
参与人
雪币
留言
时间
PayPoc
2024-8-1 08:03
PLEBFE
为你点赞~
2024-5-7 01:04
马先越
为你点赞~
2024-4-15 20:21
zhczf
为你点赞~
2024-3-31 22:38
tank小王子
为你点赞~
2024-3-24 20:48
pxhb
为你点赞~
2024-3-24 10:46
Arahat0
为你点赞~
2024-3-23 21:47
最新回复 (2)
雪    币: 465
活跃值: (519)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
占个沙发坐坐。
2024-3-23 22:38
0
雪    币: 4743
活跃值: (31356)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感谢分享
2024-3-24 16:50
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册