剖析 Kenwood DNR1007XR 的攻击面 – 第二部分
在我们之前关于Kenwood DNR1007XR的博客中,我们详细介绍了这款车载信息娱乐(IVI)主机的内部结构,并提供了主PCB的标注图片。在这篇文章中,我们旨在概述DNR1007XR的攻击面,希望能为漏洞研究提供启发。
我们将涵盖主要支持的技术及其带来的潜在攻击面,例如USB、蓝牙、Android Auto、Apple CarPlay、Kenwood应用等。
所有信息均通过逆向工程、实验以及梳理以下资源获得:
· DNR1007XR 产品页面
· DNR1007XR 使用说明书
· DNR1007XR 快速入门指南
· Kenwood Portal 应用
· Kenwood Remote S 应用
USB
DNR1007XR配备了一个USB-A端口,支持USB 2.0速度,为有线Android Auto和Apple CarPlay提供了必要的接口。
该USB端口还支持从USB闪存驱动器播放音频文件。支持的音频文件类型及其相关扩展名如下:
· MP3 (.mp3)
· WMA (.wma)
· AAC-LC (.m4a)
· WAV (.wav)
· FLAC (.flac, .fla)
· Vorbis (.ogg)
· DSD (.dsf, .dff)
除了音频,USB闪存驱动器也可用于播放视频文件。支持的视频文件类型及其相关扩展名如下:
· MPEG-1 (.mpg, .mpeg)
· MPEG-2 (.mpg, .mpeg)
· H.264 / MPEG-4 (.mp4, .m4v, .avi, .flv, .f4v)
· WMV (.wmv)
· MKV (.mkv)
众所周知,对这些文件格式进行健壮的解析和解码非常复杂且容易出错,这使其成为一个潜在回报丰厚的攻击面。
USB闪存驱动器必须格式化为FAT16、FAT32、exFAT或NTFS,主机才能读取。
SD卡
一个全尺寸SD卡插槽隐藏在屏幕后面,用于音频/视频播放以及更新地图数据。如前所述,解析音频和视频文件时会暴露一个很大的攻击面。地图更新很可能也是一个很好的研究目标。
SD卡必须格式化为FAT16、FAT32、exFAT或NTFS,主机才能读取。
蓝牙
主机支持蓝牙5.0版本,用于拨打和接听电话,以及从配对的手机播放音频。用户手册中官方记录的蓝牙配置文件如下:
· 免提配置文件 v1.7
· 串行端口配置文件
· 电话簿访问配置文件
· 音频/视频远程控制配置文件 (AVRCP) v1.6
· 高级音频分发配置文件 (A2DP)
o 支持编解码器:SBC、AAC 或 LDAC
Android Auto、Apple CarPlay和Kenwood应用也在不同程度上利用了蓝牙。
探查该设备会发现一些未在文档中记录的蓝牙服务;这些可能是很好的研究领域。根据服务名称判断,它们可能都与Kenwood应用相关。
Service Name: App0
Service RecHandle: 0x10003
Service Class ID List:
UUID 128: 00001101-0000-1000-8000-00805f9b34fb
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 2
Service Name: App1
Service RecHandle: 0x10004
Service Class ID List:
UUID 128: 00000000-deca-fade-deca-deafdecacaff
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 3
Service Name: App2
Service RecHandle: 0x10005
Service Class ID List:
UUID 128: 4de17a00-52cb-11e6-bdf4-0800200c9a66
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 4
Service Name: App3
Service RecHandle: 0x10006
Service Class ID List:
UUID 128: 4de17a00-52cb-11e6-bdf4-0800200c9a66
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 5
Service Name: App4
Service RecHandle: 0x10007
Service Class ID List:
UUID 128: 4de17a00-52cb-11e6-bdf4-0800200c9a66
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 6
Service Name: App5
Service RecHandle: 0x10008
Service Class ID List:
UUID 128: 4de17a00-52cb-11e6-bdf4-0800200c9a66
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 7
Wi-Fi
主机提供了一个WiFi接入点,主要用于无线Android Auto和Apple CarPlay。最终用户无意直接连接到此网络,也没有官方记录的获取密码的方法。然而,内部研究发现了多种获取密码的方法。
连接到该接入点后,以下端口处于开放状态:
· TCP:7000, 8086, 8888, 5355, 22
· UDP:67, 5353, 5355, 34613, 50842
TCP 22是一个SSH服务器,可以登录。根据竞赛规则,“如果参赛作品利用了硬编码凭据和/或暴露的加密密钥,则必须利用额外的漏洞来获得代码执行权限,才能符合参赛范围。”
TCP 7000、8086和8888都运行着非标准服务,很可能是进一步研究的好地方。
Android Auto 和 Apple CarPlay
支持有线和无线Android Auto以及Apple CarPlay,无需在配对的手机上安装第三方应用。使用无线版本时,配对的手机连接到上述受保护的WiFi网络,以建立用于发送和接收数据的高带宽通道。
使用USB线缆连接时,Android Auto或Apple CarPlay不会使用WiFi网络,但该网络仍然处于活动状态。
Kenwood
Kenwood提供了2款Android/iOS应用与DNR1007XR交互。第一款应用是Kenwood Portal App,它允许用户通过蓝牙将照片从手机传输到主机。传输的照片随后可以在主机上以幻灯片形式查看,或用作壁纸。
这带来了一个有趣的攻击面,特别是如果DNR1007XR本身对接收到的图像执行任何复杂的图像处理任务,例如调整大小或在不同图像格式之间转换。用户提供的图像也需要持久化存储到主机的文件系统中,进一步扩大了攻击面。
第二款应用是Kenwood Remote S app,它通过蓝牙连接到主机,并允许进行多媒体控制,例如选择电台、跳过曲目等。蓝牙音频/视频远程控制配置文件 (AVRCP) 正是为此任务设计的;然而,尚未进行研究以确认Remote S应用是否利用了AVRCP。
还有其他一些Kenwood应用可用,但它们在DNR1007XR产品页面上未被列为支持,因此尚未进行探索。
开源软件
可以通过导航到“设置 -> 系统 -> 开源许可证”从主机查看开源许可证列表。不能保证这些开源项目确实被该设备使用。
总结
我们希望这篇博文提供了关于DNR1007XR威胁态势的足够信息,以指导漏洞研究。并非所有攻击面都已提及,我们鼓励研究人员进行进一步调查。
我们期待在2026年1月于东京Automotive World再次举办Automotive Pwn2Own,届时我们将看看IVI供应商是否改善了其产品安全性。不要等到最后一刻才提问和注册!希望在那里见到你。
你可以在Twitter @ByteInsight上找到我,并在Twitter、Mastodon、LinkedIn或Bluesky上关注团队,获取最新的漏洞利用技术和安全补丁信息。