IoT安全透视:D-Link DWR-932B固件全面逆向漏洞挖掘全面解析

发布于:2025-04-13 ⋅ 阅读:(48) ⋅ 点赞:(0)

一、引言

文章目的
本文深入剖析D-Link DWR-932B路由器的固件安全,揭示可能导致攻击者未经授权访问和控制设备的严重漏洞,包括硬编码凭据、弱根密码以及管理与更新机制中的关键缺陷,如未认证的远程命令执行和不安全的固件更新协议。研究采用静态与动态分析相结合的方法,并通过逆向工程定位问题。本文可能存在一些不足,请大家斧正!此分析提醒人们在不断扩展的IoT生态系统中,强化安全实践的重要性,适合安全爱好者、网络管理员及关注家庭网络安全的人士。

文章简介大纲
一、引言
二、基础知识:固件分析入门
三、基础知识:网络安全协议与 IoT 设备
四、固件获取与初始访问:固件文件解包(核心1)
五、敏感配置文件分析:寻找信息泄露
六、弱密码破解:存在Root弱密码爆破问题
七、使用 Firmwalker:扫描进行信息搜集(核心2)
八、逆向分析存在风险的二进制程序(核心3)
九、参考资料

IoT 设备的普及与固件安全的重要性
随着物联网(IoT)设备的快速增长,智能家居设备、路由器和摄像头等设备已成为我们日常生活的一部分。研究表明,这些设备的安全性直接关系到用户隐私和网络安全,因为固件是设备的核心软件,包含了操作系统的配置和功能。如果固件存在漏洞,攻击者可能远程控制设备,窃取数据或发起网络攻击。因此,固件安全分析成为保护 IoT 设备的关键。

D-Link DWR-932B 路由器的简介及其在 IoT 中的应用
D-Link DWR-932B 是一款支持 4G LTE 的便携式路由器,广泛用于家庭网络、小型办公室和移动场景。它通过提供无线网络连接,支持多个设备同时联网,是 IoT 生态系统中的重要节点。它的固件管理了网络配置、Wi-Fi 连接和远程管理功能,因此成为安全研究的重要目标。

二、基础知识:固件分析入门

什么是固件及其作用

固件(Firmware)是存储在设备硬件中的软件,控制嵌入式设备的基本功能,如路由器的 Wi-Fi 连接和网络设置。研究表明,固件安全直接影响 IoT 设备的安全性,如果存在漏洞,攻击者可能远程控制设备或窃取数据。

常见的固件格式及其解包工具

常见的固件格式包括 ZIP(用于分发)和 YAFFS2(用于闪存文件系统)。解包工具如:

  • binwalk:识别和提取文件系统,示例命令为 binwalk -e firmware.bin (Binwalk GitHub)。
  • unyaffs:解包 YAFFS2 文件系统,示例为 unyaffs image.yaffs2 (Unyaffs GitHub)。
  • 其他工具如 unsquashfs 用于 SquashFS 文件系统。

固件分析的基本流程

固件分析的流程包括:

  1. 获取固件:从官方网站下载,如 D-Link 路由器的固件。
  2. 解包固件:使用上述工具提取文件系统。
  3. 静态分析:检查敏感文件如 .conf 和 /etc/shadow,逆向分析危险二进制程序。

常用工具介绍

常用工具包括:

三、基础知识:网络安全协议与 IoT 设备

网络安全协议是物联网(IoT)设备通信的核心,它们确保设备之间能够安全、高效地交换数据。以下是对几种常见网络协议(UPnP、FOTA、SSH、SSL/TLS)的简介,这些协议在 IoT 设备中广泛使用,了解它们的作用有助于提升设备的安全性。

UPnP(通用即插即用)

  • 简介:UPnP 是一种网络协议,主要用于设备自动发现和配置网络服务。它在家庭网络中尤为常见,例如路由器、智能电视和其他 IoT 设备通过 UPnP 实现无缝连接和通信。UPnP 的设计目标是简化设备的联网过程,无需用户手动配置。
  • 作用:在 IoT 设备中,UPnP 允许设备快速加入网络并与其他设备交互,例如通过路由器自动开放端口以支持远程访问或媒体流传输。

FOTA(固件空中升级)

  • 简介:FOTA 是一种通过网络远程更新设备固件的技术,是 IoT 设备维护和安全更新的关键机制。它允许制造商在设备部署后推送补丁或功能改进,而无需物理接触设备。
  • 作用:FOTA 确保 IoT 设备能够及时修复安全漏洞或提升性能,例如智能家居设备通过 FOTA 获取最新的安全更新以抵御新兴威胁。

SSH(安全外壳协议)

  • 简介:SSH 是一种加密协议,提供安全的远程登录和文件传输功能。它最初设计用于服务器管理,但在 IoT 设备中也被广泛用于远程管理和调试,例如访问智能设备的命令行界面。
  • 作用:在 IoT 场景中,SSH 为开发者或管理员提供了一种安全的途径来监控和维护设备,尤其是在设备分布于不同地理位置时。

SSL/TLS(安全套接层/传输层安全)

  • 简介:SSL/TLS 是用于加密网络通信的协议,广泛应用于保护数据传输的安全性。在 IoT 设备中,SSL/TLS 常用于 HTTPS 请求、API 通信或设备与云端之间的数据交换,确保数据在传输过程中不被窃听或篡改。
  • 作用:SSL/TLS 为 IoT 设备提供端到端的通信安全,例如智能摄像头通过 TLS 加密上传视频流,防止未经授权的访问。

四、固件获取与初始访问:固件文件解包

固件下载地址https://ftp.dlink.de/dwr/dwr-932/archive/driver_software/DWR-932_fw_revb_202eu_ALL_multi_20150119.zip
固件解压缩PLC_1earn/1earn/Security/IOT/固件安全/实验/Dlink_DWR-932B路由器固件分析.md at master · dbshow/PLC_1earn

破解固件压缩包密码

解压和binwalk发现存在问题,无法将目标固件提取,所以大概率存在密码:

┌──(kali㉿kali)-[/mnt/hgfs/VMShare/IOT/DWR-932]
└─$ unzip DWR-932_B1_02.02EU.zip 
Archive:  DWR-932_B1_02.02EU.zip
warning [DWR-932_B1_02.02EU.zip]:  64 extra bytes at beginning or within zipfile
  (attempting to process anyway)
[DWR-932_B1_02.02EU.zip] 02.02EU password: 
password incorrect--reenter: 
password incorrect--reenter: 
   skipping: 02.02EU                 incorrect password
[DWR-932_B1_02.02EU.zip] 2K-cksum.txt password: 
   skipping: 2K-cksum.txt            incorrect password
   skipping: 2K-mdm-image-boot-mdm9625.img  incorrect password
   skipping: 2K-mdm-image-mdm9625.yaffs2  incorrect password
   skipping: 2K-mdm-recovery-image-boot-mdm9625.img  incorrect password
   skipping: 2K-mdm-recovery-image-mdm9625.yaffs2  incorrect password
   skipping: 2K-mdm9625-usr-image.usrfs.yaffs2  incorrect password
   skipping: appsboot.mbn            incorrect password
   skipping: mba.mbn                 incorrect password
   skipping: qdsp6sw.mbn             incorrect password
   skipping: rpm.mbn                 incorrect password
   skipping: sbl1.mbn                incorrect password
   skipping: tz.mbn                  incorrect password
   skipping: wdt.mbn                 incorrect password

爆破失败格式不正确:

┌──(kali㉿kali)-[/mnt/hgfs/VMShare/IOT/DWR-932]
└─$ fcrackzip  -u -v -b  DWR-932_B1_02.02EU.zip                                         
found id beba4000, 'DWR-932_B1_02.02EU.zip' is not a zipfile ver 2.xx, skipping
no usable files found
                                                                                                                                                                       
┌──(kali㉿kali)-[/mnt/hgfs/VMShare/IOT/DWR-932]
└─$ file DWR-932_B1_02.02EU.zip                
DWR-932_B1_02.02EU.zip: data

修复压缩包:

zip -FF DWR-932_B1_02.02EU.zip --out fixed.zip

继续爆破:

 fcrackzip  -u -v -b  fixed.zip

解压密码是:beUT9Z

开始解析压缩包内的文件

┌──(kali㉿kali)-[/mnt/hgfs/VMShare/IOT/DWR-932]
└─$ sudo apt install unyaffs

2K-mdm-image-boot-mdm9625.img        # 引导镜像(Bootloader相关)
2K-mdm-image-mdm9625.yaffs2          # YAFFS2格式文件系统(可能是根文件系统)
2K-mdm9625-usr-image.usrfs.yaffs2    # 用户空间文件系统(关键配置和程序)
2K-mdm-recovery-image-mdm9625.yaffs2 # 恢复模式镜像(可能包含修复工具)
appsboot.mbn                          # 应用处理器引导加载程序(类似ABOOT)
sbl1.mbn                              # 次级引导加载程序(高通平台关键启动组件)
rpm.mbn                               # 资源与电源管理分区
tz.mbn                                # TrustZone安全分区
DWR-932_B1_02.02EU