记录一次对D-link DIR819固件的解密


前段时间一直在忙,忙考试忙着复习web,所以趁这个晚上将前几天第一次尝试固件解密记录下来,方便以后的自我学习

DIR-819版本如截图

记录一次对D-link DIR819固件的解密

 

 

 将固件下载到本地后,发现binwalk无法解析这个固件记录一次对D-link DIR819固件的解密

 

记录一次对D-link DIR819固件的解密

 

 

 于是我查看他的熵值

记录一次对D-link DIR819固件的解密

 

 

 很明显改固件存在加密

因为我才刚刚接触iot这个方向,所以碰到被加密的固件第一时间想着跑路,但是不知道为什么在最近这段时间D-link官网获取的路由器固件好像都被加了密

所以在隔了一段时间后又来尝试能否进行固件解密

我所知道的绕过固件加密有以下几种:

1.在设备升级时,抓包获取固件升级的链接,去获得固件

2.寻找固件的中间版本。也就是前几个版本,通过未加密的固件去寻找解密的程序

3.通过逆向手段寻找向量表去绕过加密??

4.通过二进制文件查看器,查看文件信息,尝试寻找解密脚本

….

因为我手头上并没有这个固件,再加上,我下载了前面几个版本,发现全部存在加密,所以我只能通过去查看这个固件的特征头去进行解密

记录一次对D-link DIR819固件的解密

 

 

 通过查看前128字节寻找特征码,然后根据这个shrs进行搜索,我们可以查看到该型号版本固件和DIR-3060和DIR-882固件存在相同加密方式,以下是dir882的同类型文件头

记录一次对D-link DIR819固件的解密

 

 

 所以我们可以去寻找这个固件的中间版本或者解密程序,去对该型号进行相同的解密,最终我在chamd5团队的文章找到了中间件版本的下载链接(呜呜呜感谢师傅们的分享)

下载链接如下

https://support.dlink.com/resource/PRODUCTS/DIR-882/REVA/DIR-882_REVA_FIRMWARE_v1.10B02.zip

然后我们对未加密的固件解包,去寻找imgdecrypt这个字样

然后发现存在/bin/imgdecrypt

所以我们可以通过qemu去模拟mips的环境去对我们的程序进行解密(别忘了讲我们加密的固件放到home路径下)

记录一次对D-link DIR819固件的解密

 

 解密完整过程如下

 cp /usr/bin/qemu-mipsel-static .
sudo chroot . ./qemu-mipsel-static /bin/sh
./bin/imgdecrypt /home/..

然后我们就可以看到固件被正常解析了

记录一次对D-link DIR819固件的解密

 

 

 

感谢网上师傅们的分享,帮助我这个萌新学习到了很多,我记录这篇,是为了我以后的复习,希望师傅们不要嫌弃我写的太少,抱歉

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/269716.html

(0)
上一篇 2022年6月23日
下一篇 2022年6月23日

相关推荐

发表回复

登录后才能评论