专栏名称: 看雪学苑
致力于移动与安全研究的开发者社区,看雪学院(kanxue.com)官方微信公众帐号。
目录
相关文章推荐
广东消委会  ·  官方提醒:这些都是老年养生骗局! ·  2 天前  
广东消委会  ·  官方提醒:这些都是老年养生骗局! ·  2 天前  
赛博禅心  ·  今天:OpenAI 发了 ... ·  2 天前  
赛博禅心  ·  今天:OpenAI 发了 ... ·  2 天前  
财联社AI daily  ·  “折价”卖身腾讯音乐后,喜马拉雅宣布拥抱AI ·  2 天前  
新郑发布  ·  下架!微信最新公告! ·  2 天前  
51好读  ›  专栏  ›  看雪学苑

IoT安全透视:D-Link DWR-932B固件全面逆向分析

看雪学苑  · 公众号  · 互联网安全  · 2025-04-22 18:00

正文

请到「今天看啥」查看全文



tz.mbn # TrustZone安全分区
DWR-932_B1_02 .02 EU. zip # 固件升级包(可能包含完整系统镜像)


发现2K-mdm-image-mdm9625.yaffs2  是根文件系统直接开始分析!


┌──(kali㉿kali)-[/mnt/hgfs/VMShare/IOT/DWR-932]
└─$ unyaffs 2K-mdm-image-mdm9625.yaffs2 yaffs2-root/
Can't create symlink sdcard: Operation not supported


mnt/hgfs/VMShare/IOT/DWR-932/yaffs2-root/ (共享文件夹)下解压,而 VMware 共享文件夹 (HGFS) 不支持符号链接


┌──(kali㉿kali)-[/mnt/hgfs/VMShare/IOT/DWR-932]
└─$ sudo unyaffs 2K-mdm-image-mdm9625.yaffs2 ~/IOT/DWR-932/yaffs2-root/


成功解压出来目录:



五、敏感配置文件分析:寻找信息泄露

配置文件信息泄露

首先查找路径下的所有.conf文件,.conf文件大多都是配置文件,将所有的配置文件都集合起来审计:


┌──(kali㉿kali)-[~/IOT/DWR-932/yaffs2-root]
└─$ sudo find . -name '*.conf' -type f -print0 | xargs -0 cat > new_text.txt



可以寻找到非常多的数据泄露和安全隐患:



分析配置文件识别安全风险

1. Wi-Fi SSID 和密码


文件中包含多个 Wi-Fi 配置,包括 SSID 和 WPA-PSK 密码


ssid="QSoftAP"
wpa_passphrase=1234567890
ssid=QSoftAP1
wpa_passphrase=1234567890


风险 :任何人都可以用这些凭据连接你的 Wi-Fi 网络,进行未授权访问或中间人攻击。

建议 立即更改 Wi-Fi 密码 、避免在明文文件中存储密码,可以使用 WPA-Enterprise 认证。


2. 设备管理密码
inadyn 配置中,存在硬编码的 用户名和密码


--username alex_hung
--password 641021


风险 :可能是 动态 DNS(DDNS) 账户的凭据,允许攻击者控制远程主机名、可能被用于访问某些管理接口。

建议 立即更改该账号的密码 。不要在明文文件中存储账号密码,改用 环境变量 加密存储


3. 可能的内部网络信息

文件中包含多个 内网 IP 地址


#publish-dns-servers=192.168.50.1, 192.168.50.2
listening_ip=192.168.10.109/24
allow 1024-65535 192.168.0.0/24 1024-65535


风险 :这些 IP 可能是 内部服务器、网关或 IoT 设备 ,攻击者可以利用这些信息构建攻击路径。可能用于内部网络的端口转发(UPnP 配置)。

建议 不要暴露内部 IP ,避免直接放入配置文件。确保防火墙配置妥当,限制未授权访问。



4. D-Bus 配置泄露
部分 D-Bus 配置中,可能导致未授权访问:


"*" eavesdrop="true"/>
"true"/>
"*"/>


风险 :可能允许 任意进程监听和控制 D-Bus ,攻击者可利用此漏洞获取敏感信息或远程控制设备。
建议 限制允许的 D-Bus 访问权限 ,避免 allow="*" 类型的配置。



5. UPnP 配置暴露
文件中包含 UPnP (通用即插即用)配置:


enable_upnp=yes
enable_natpmp=yes
secure_mode=no


风险 secure_mode=no 可能允许 外部设备修改路由规则 ,导致端口转发被滥用。
建议 关闭 UPnP ,除非明确需要: enable_upnp=no


6. 可能的硬编码 SSH 配置
文件中包含某些 /dev 设备的权限设置:


console 0:0 0600 
network_latency 0:0 0660
network_throughput 0:0 0660


风险 :如果这些设置与 SSH 配置有关,可能导致远程用户 未授权访问设备控制台
建议 检查 SSH 配置 ,确保只有授权用户可访问。风险评估及缓解建议(如更改密码、禁用 UPnP)。


六、弱密码破解:存在Root弱密码爆破问题


/etc/shadow 文件的格式与加密方式(MD5、SHA-256、SHA-512)。爆破shadow文件从而获得Root用户密码:
教程:破解shadow密码 - 小阿辉谈安全 - 博客园

#shadow密码爆破
当我们通过任意文件下载或者目录穿越下载或者读取到/etc/shadow文件时,可以对shadow中加密的密码进行爆破获取明文密码。


shadow文件加密的密码具有固定格式:


$id$salt$encrypted


◆id:表示加密算法,1 代表 MD5,5 代表 SHA-256,6 代表 SHA-512。

◆salt:表示密码学中的 Salt,由系统随机生成 。

◆encrypted:表示密码的 hash。


冒号后面的数值是一些日期和密码修改间隔天数的信息,可以不用管,以上述示例中 root 账号为例:


┌──(kali㉿kali)-[~/IOT/DWR-932/yaffs2-root]
└─$ cat ~/IOT/DWR-932/yaffs2-root/etc/shadow
root:aRDiHrJ0OkehM:16270:0:99999:7:::
daemon:*:16270:0:99999:7:::
bin:*:16270:0:99999:7:::
sys:*:16270:0:99999:7:::
sync:*:16270:0:99999:7:::
games:*:16270:0:99999:7:::
man:*:16270:0:99999:7:::
lp:*:16270:0:99999:7:::
mail:*:16270:0:99999:7:::
news:*:16270:0:99999:7:::
uucp:*:16270:0:99999:7:::
proxy:*:16270:0:99999:7:::
www-data:*:16270:0:99999:7:::
backup:*:16270:0:99999:7:::
list:*:16270:0:99999:7:::
irc:*:16270:0:99999:7:::
gnats:*:16270:0:99999:7:::
diag:*:16270:0:99999:7:::
nobody:*:16270:0:99999:7:::
messagebus:!:16270:0:99999:7:::
avahi:!:16270:0:99999:7:::


工具安装:john-Linux密码爆破工具


sudo apt install john


配置爆破字典,使用kali自带的工具:



密码字典生成与Crunch工具-CSDN博客


gzip -d /usr/share/wordlists/rockyou.txt.gz		#-d 将压缩文件解压
ll /usr/share/wordlists/rockyou.txt #显示当前目录下文件详细信息


直接开始爆破:


┌──(kali㉿kali)-[/mnt/hgfs/VMShare/IOT/DWR-932]
└─$ cat ~/IOT/DWR-932/yaffs2-root/etc/shadow| grep root | cut -d: -f2 > root.hash

┌──(kali㉿kali)-[/mnt/hgfs/VMShare/IOT/DWR-932]
└─$ cat root.hash
aRDiHrJ0OkehM


┌──(kali㉿kali)-[/mnt/hgfs/VMShare/IOT/DWR-932]
└─$ john --wordlist=/usr/share/wordlists/rockyou.txt root.hash
Using default input encoding: UTF-8
Loaded 1 password hash (descrypt, traditional crypt(3) [DES 128/128 AVX])
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for






请到「今天看啥」查看全文