Hacked某安汽车车机系统

admin 2023年6月5日23:13:47评论87 views字数 1906阅读6分21秒阅读模式
Hacked某安汽车车机系统
很久之前尝试对某安汽车的车机系统进行渗透测试,但是却卡在入口无法进入,尝试暴力破解但是字典不够强大,没能成功。前段时间看到了绿盟科技博客的《新型车机,如何攻防?》感觉有点熟悉,再次探索发现可以获得车机系统root权限,遂事后诸葛亮一波,就当是学习笔记了。
通过在论坛、QQ群、贴吧收集到这款车型进入工程模式的方法,在拨号键盘输入*#*#888,然后点击拨号,如图:

Hacked某安汽车车机系统

进入密码认证界面,输入收集到的密码:369875,如图:

Hacked某安汽车车机系统

此时进入工程模式,可以看到工程模式的功能,如图:

Hacked某安汽车车机系统

点击“USB切换”可以将中控台下边的USB口切换为adb模式,从而通过数据线连接车机系统adb shell。可能我们需要启动USB调试,首先点击“打开系统设置原始界面 ——> Settings”,如图:

Hacked某安汽车车机系统

此时进入系统设置界面,可以看到下边有“关于智能平台”,如图:

Hacked某安汽车车机系统

点击“关于智能平台”后可以看到Android 版本、硬件型号版本号等等信息,如图:

Hacked某安汽车车机系统

连续点击7次版本号后开启开发者模式,然后开启USB调试,如图:

Hacked某安汽车车机系统

在连接adb shell时提示需要输入密码,如图:

Hacked某安汽车车机系统

当时卡在这里很久,编写Python脚本使用字典爆破了很久也没成功,Python3脚本如下:
import pexpectimport randomimport sys# Open the password dictionary file
if len(sys.argv) < 2: print("Usage: python3",sys.argv[0],"password.txt") exit(0)else: print("ADB Shell Brute --By Infiltrator") with open(sys.argv[1]) as f: passwords = f.readlines() adb = pexpect.spawnu("adb shell",timeout=1) #adb.logfile_read = sys.stdout # Try each password in the dictionary file for password in passwords: password = password.strip() # Remove leading/trailing whitespace # Wait for the password prompt try: s = adb.expect("password:") except: print("[!] Please check adb if connected!") exit(1) # Enter the password print("r[*] Testing password:",password,end='') adb.sendline(password) # Wait for the output and check if we successfully logged in s = adb.expect(["verify success!", "verify failed!"]) if s == 0: # Login succeeded, we're done print("n[+] Success! Password is:", password) break else: # Login failed, try the next password            continue
直到看到新型车机,如何攻防?,文中逆向分析获得的密码立即让我觉得很是熟悉,如图:

Hacked某安汽车车机系统

我直接使用该密码就可以成功登录adb shell,同时把密码加入字典后也可以破解出来,说明脚本没问题:

Hacked某安汽车车机系统

并且直接执行su命令就获得root权限,如图:

Hacked某安汽车车机系统

虽然限制策略不严格但是,adb push和adb install都无法安装app,暂时就先不管这些了,先复现一下硬编码漏洞吧。
普通权限的adb pull命令基本获取不到什么有用的信息,执行adb root切换为root权限的adb,然后在使用adb pull将车机系统的文件系统下载到本地,如图:

Hacked某安汽车车机系统

由于下载的文件太多,等了几分钟也没下载完,然后就直接下载system目录了,如图:

Hacked某安汽车车机系统

在system/bin目录下发现adbd程序,如图:

Hacked某安汽车车机系统

使用IDA逆向分析,通过搜索password字符串定位程序输入,然而根本找不到password这个字符串,查看所有字符串可以发现程序调用了/system/bin/verify_sh,如图:

Hacked某安汽车车机系统

使用IDA分析verify_sh,同样直接搜索password字符串定位输入,然后跳转到代码上下文发现内存中Base64编码的内容:

Hacked某安汽车车机系统

解码之后为8769b3ad,应该是小端序的原因,将原本的adb36987在内存中存储为8769b3ad,如图

Hacked某安汽车车机系统

原文始发于微信公众号(Hack All):Hacked某安汽车车机系统

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月5日23:13:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Hacked某安汽车车机系统http://cn-sec.com/archives/1676417.html

发表评论

匿名网友 填写信息