D-Link DIR-882固件解密实验

admin 2022年1月6日01:12:03评论113 views字数 1757阅读5分51秒阅读模式

0x01 实验目的

通过本次实验学习,如何在固件被加密的情况下进行解密,使得固件层面的 路由器安全研究顺利进行

0x02 概述

固件升级的一种方案 随着物联网安全安全越来越重视,作为万物互联的核心之一—路由器的安全也越 来越重视,反映在固件方面,就是其针对附件做的一些安全措施,可以使得一些 安全研究员手足无措,不过由于一些历史原因,很可能我们可以通过分析固件的 之前的一些版本,找到研究固件当前版本的一些线索。 下面这张图

image-20210310145532897

是很多路由器厂家会采取的一种更新升级固件并使固件更加“安全“的方案。 这个方案是这样的:最开始发布的固件是没有加密的,也没有附带任何解密的文 件,随着固件更新,解密文件会和较新版本 v1.1 中的未加密版本一起发布,以 便将来进行固件加密,v1.1 版本作为过渡使用。而到了 v1.2 时,固件则是以加 密形式发布的,不过仍附带解密文件。

0x03 实验环境

服务器:attify os

辅助工具:firmwalk.sh(以及3个固件都在附件里)

0x04 实验操作

在本次实验中,我们首先将研究路由器固件升级常见的一种方案,并找到该方案 的漏洞所在,通过实际分析相关的几个固件,最后对新版加密固件的文件系统的 提取。

1
2
用户名:iot 密码:attify
数据库:postgre 密码:firmadyne

这次的实验,我们以 D-Link DIR-882 固件为例。我们在分析固件时会发现它被 加密过了,使用 binwalk 根本无法探测,比如这次的固件 v1.20b06

image-20210310151511835

这时候我们可以考虑通过分析旧版本的固件尝试是否有什么线索来解密现在这 个新版本的固件 在 这 里 我 们 可 以 找 到 所 有 旧 版 本 的 固 件 ( ftp://ftp2.dlink.com/PRODUCTS/DIR-882/REVA/ ) , 我 们 找 个 最 早 的 版 本 v1.00b07,下载来后解压尝试binwalk读取

image-20210310151552125

可以看到能识别出信息,或者说是没有加密过的。 那再看看稍微新一点的版本

v1.10b02

image-20210310151718892

可以看到有两个 bin 文件,说明 1.04b02 的过渡版本,它包含在 v1.10b02 固件包 汇中,名字也已经告诉我们了,1.04b02 是未加密的 分别使用 binwalk

image-20210310152045023

而加密后的固件却什么也看不到

image-20210310152141476

我们把 1.04b02 提取出来

image-20210310152258117

进入生成的文件夹

image-20210310152409226

注意到有两个文件,使用 binwalk 提取 A0 进入新文件夹 再次提取8AB758最近进入文件夹

image-20210310152655387

注意到这里有一个 Imgdecrypt 的文件,看名字,应该是用来解密镜像的 file 查看

image-20210310153011754

发现是个可执行文件,尝试执行,缺少相应的 so 文件,这很正常,因为这个文 件是写在 mips 架构上运行的,而我们目前是 x86 为了运行它,我们使用 qemy-mipsel-static

image-20210310153011754

首先将其复制到固件根文件系统的/usr/bin 目录下 在将前面发现是加密的固件 1.20b06 复制过来

1
sudo chroot . ./qemu-mipsel-static ./bin/sh

image-20210310153928160

接着还是同样的办法模拟 mips 架构拿到 shell 此时再执行 imgdecrypt 可以看到 打印出了使用方法 按照其提示,可以看到对原来加密的固件进行了解密 操作如上图所示 这时候再次使用 binwalk 查看被解密后的固件,可以看到已经可以识别了

image-20210310154124223

这给我们的启示就是,在碰到加密的固件时,可以考率查找位于同一产品线、具 有相同处理器体系结构的路由器固件,找那些版本旧一些的,或者过渡版本,或 许就能为我们提供线索。 我们使用 binwalk 如之前未加密的固件一般一步步提取

image-20210310154715261

0x05 敏感信息分析

可以看到文件系统都被提取出来了 这里介绍一个常用的小工具 firmwalk.sh 它将搜索固件文件系统,以获取与敏感信息相关的东西,如:

1
2
3
4
5
6
7
8
9
10
etc/shadow and etc/passwd
列出 etc/ssl 目录
搜索相关的文件,如. pem,. crt, 等。
搜索配置文件
查找脚本文件
搜索其他. bin 文件
查找诸如管理员。密码。远程等关键字。
搜索在 IoT 设备上使用的通用网络服务器
搜索常见的二进制文件,如 ssh。tftp。dropbear 等。
搜索网址,电子邮件地址和 IP 地址

我们可以使用它来看看这个文件系统中有哪些敏感信息 命令为./firmwalker.sh 文件系统的路径

image-20210310155058406

password关键字文件

image-20210310155209933

ssl相关文件

image-20210310155231701

私钥相关文件

image-20210310155302852

telnel相关文件

image-20210310155344902FROM :ol4three.com | Author:ol4three

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月6日01:12:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   D-Link DIR-882固件解密实验http://cn-sec.com/archives/721373.html

发表评论

匿名网友 填写信息