【车联网】现代汽车Ioniq SEL渗透测试(2)

admin 2024年6月20日09:24:55评论9 views字数 2346阅读7分49秒阅读模式

网络访问

我还发现 RTL8152/8153 USB 以太网适配器的驱动程序已安装。

【车联网】现代汽车Ioniq SEL渗透测试(2)

我购买了多个基于 RTL8153 的 USB 以太网适配器,希望有一些开放端口。我买的一个适配器有一个内置的 USB 集线器,这使得它与 IVI 不兼容,但我买的第二个是一个直接以太网适配器,它允许我成功连接到系统。不幸的是,它只允许我访问 CarPlay 和 Android Auto 服务器,没有其他可用端口。

【车联网】现代汽车Ioniq SEL渗透测试(2)

在对“automotivefw”二进制文件进行逆向工程时,我发现工程模式中的 ADB TCP 设置将 eth0 的 IP 地址设置为 192.168.7.110。使用日志我发现 eth0 的 MAC 地址应该是“F4:50:EB:2E:58:00”。我希望如果我可以更改 RTL8153 适配器的 MAC 地址,我就可以访问该网络,该网络有望具有 ADB 访问权限。

我将 RTL 加密狗传递给 Kali VM,并尝试使用 ethtool 为其刻录新的 MAC 地址。我很快发现 RTL8153 的 MAC 地址无法使用 ethtool 进行编辑。

我在网上搜索了任何可以帮助我解决此问题的工具,但我读到的所有内容都让我相信这些芯片上的 MAC 地址设置无法编辑。经过几个小时的在线搜索后,我找到了 Realtek 的 RtPGtoolUI 实用程序的图像。根据我所能找到的信息,它看起来像是制造商用来设置这些 USB 以太网适配器的实用程序,包括烧录其 MAC 地址。通过我阅读的所有文档,我还发现许多适配器使用了一种称为 EFuse 的东西,而不是传统的闪存。如果我的适配器使用 EFuses,即使使用正确的工具,我也有可能无法更新它,但我仍抱有希望并继续搜索。

我花了无数的时间试图找到该应用程序的下载。最终我找到了合适的论坛并进行了下载。

【车联网】现代汽车Ioniq SEL渗透测试(2)

经过一点摆弄,我能够成功地将新的 MAC 地址刷新到我的适配器,即使它使用了 EFuse。

# 如何网络访问?

我将新刷新的以太网适配器插入汽车的 USB 端口,却发现没有任何变化。我没有看到通过 Wireshark 的流量有什么不同。我可以看到 MAC 地址更改成功,但它没有给我额外的访问权限,甚至没有 IPv4 地址。

我扫描了 192.168.7.110 地址,该地址确实指向 IVI,但它只打开了相同的 CarPlay/Android Auto 端口。

之后,我查看了日志,意识到 eth0 设备是某种始终处于离线状态的内置以太网适配器。无论我使用什么 USB 适配器,它总是显示为 eth1。也正是在这一点上,我意识到 Wi-Fi 密码在生成时已转储到日志中,这意味着我可以改用 Wi-Fi 连接。连接到 Wi-Fi 产生了与以太网适配器相同的访问权限,只是我的笔记本电脑最终获得了正确的 IPv4 地址。

由于网络访问路线已被破坏,并且我无法通过逆向工程找到任何后门或容易利用的漏洞,因此我决定尝试进行固件更新过程。

固件更新

如果我能弄清楚固件更新的所有安全措施,我就可以使用自己的后门修改现有的系统映像,从而使我能够完全访问 IVI。

【车联网】现代汽车Ioniq SEL渗透测试(2)

我在系统映像中找不到任何处理更新固件的二进制文件。工程模式应用程序和设置应用程序表明,一旦在设置中按下更新按钮,IVI 将启动进入恢复模式。在固件更新的 encsystem 文件夹中,有一个 encupdateboot.img 文件。我猜这个图像包含恢复系统。不幸的是,7Zip 无法像 system.img 文件一样提取图像,在 Notepad++ 中打开图像揭示了原因。

【车联网】现代汽车Ioniq SEL渗透测试(2)

没有可读的字符串,文件已加密。我猜这就是“enc_”前缀的意思 ́(ツ)/́。

查看更新中的其他文件,所有带有“enc_”前缀的文件都已加密。

我再次被困住了。如果没有加密密钥,我将无法弄清楚系统更新过程。我决定继续搜索我已有的所有信息。我继续对所有可能的应用程序进行逆向工程,搜索提取的日志,并查看之前下载的 Mobis 网站上的开源代码。

我没有读错吗?

在浏览 Mobis 网站上提供的源代码时,我搜索了所有 shell 脚本文件。在结果中我找到了一个名为 linux_envsetup.sh 的 shell 脚本文件。

【车联网】现代汽车Ioniq SEL渗透测试(2)

这个文件打开了一切。原来这是创建系统更新 zip 文件的脚本。

【车联网】现代汽车Ioniq SEL渗透测试(2)

结果我的硬盘上一直保存着系统更新的 zip 密码。

【车联网】现代汽车Ioniq SEL渗透测试(2)

加密方法、密钥和 IV 也在脚本中,很有帮助。

【车联网】现代汽车Ioniq SEL渗透测试(2)

该脚本还暗示使用了 RSA 签名,但不幸的是,用于该签名的密钥不在源代码中。

【车联网】现代汽车Ioniq SEL渗透测试(2)

但至少我有加密密钥。为了验证没有其他人知道这一点,我在谷歌上搜索了加密密钥。

【车联网】现代汽车Ioniq SEL渗透测试(2)

Google Git? Apple? *Chegg*????

结果该脚本中的加密密钥是 NIST 文档 SP800-38A 中列出的第一个 AES 128 位 CBC 示例密钥。

【车联网】现代汽车Ioniq SEL渗透测试(2)

现代摩比斯肯定没有使用这个钥匙,这只是用于测试,对吧?没有错误吗?不,这不可能……

【车联网】现代汽车Ioniq SEL渗透测试(2)

我可以在 7Zip 中打开该文件,但它只有一个损坏的条目。

【车联网】现代汽车Ioniq SEL渗透测试(2)

但是,对该文件运行 binwalk 显示 updateboot.img 文件已成功解密,并且其中包含大量内容。

【车联网】现代汽车Ioniq SEL渗透测试(2)

使用 binwalk 的 -e(提取)参数,我提取了 img 文件,显示了准系统的 Linux 设置。

【车联网】现代汽车Ioniq SEL渗透测试(2)

在 /usr/bin 文件夹中,我发现了一个名为 updateAgent 的二进制文件,它看起来很有前途。

【车联网】现代汽车Ioniq SEL渗透测试(2)

由于我已经有了 zip 密码和加密密钥,因此我决定寻找签名密钥,幸运的是他们不仅留下了公钥,还留下了私钥。

在搜索“RSA”等关键字后,我找到了公钥,但没有找到私钥。

【车联网】现代汽车Ioniq SEL渗透测试(2)

我再次在谷歌上搜索了私钥的一部分作为健全性检查。

【车联网】现代汽车Ioniq SEL渗透测试(2)

哦,他们又用了一把很普通的钥匙。我想知道他们是否使用了链接的“C 中 OpenSSL 的 RSA 加密和解密示例”教程......

现在我拥有了城堡的所有钥匙,但仍然没有适用于我的特定汽车的固件更新。我不想冒险毁掉我新车的主机。所以我等待更新的到来。

查看我如何破解我的汽车第 3,4部分:制作后门

 

原文始发于微信公众号(车联网攻防日记):【车联网】现代汽车Ioniq SEL渗透测试(2)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月20日09:24:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【车联网】现代汽车Ioniq SEL渗透测试(2)https://cn-sec.com/archives/2858702.html

发表评论

匿名网友 填写信息