Pwn2own 2022 Tesla 利用链 (ConnMan 堆越界写 RCE)
Pwn2own 2022 Tesla 利用链 (ConnMan 堆越界写 RCE)
- Opening the doors and windows 0-click RCE on the Tesla Model3
- HEXACON2022 - 0-click RCE on the Tesla Model 3 by David Berard & Vincent Dehors
漏洞分析
ConnMan 处理 WIFI Portal 时的堆越界写,这部分协议特性称作:WISPR
WISPR 特性和漏洞:
Exploit 使用的漏洞为 CVE-2022-32292, count 和 pos 的计算有问题导致会修改相邻内存块中的 \x0a --> \x00
漏洞利用
堆布局原语:利用 http header 作为内存申请和释放原语
信息泄露
思路: byte 越界写 --> 劫持指针 --> DOUBLE FREE --> 1'st free & realloc with dhcp --> 2'st free && write libc ptr to dhcp mem --> leak.
通过布局让 receive_buffer 后面跟着一个 hashtable.values 指针数组,利用漏洞修改指针的 \x0a --> \x00,让两个指针指向同一块内存。
-
-
然后用 dhcp hostname 占位重叠内存。
利用 hashtable.values 的引用释放 hostname 所在内存,将块放到 unsorted bin --> 写入 libc 地址到 hostname
-
-
dhcp 返回 hostname 给攻击者
代码执行
方案一 (LIBC 2.29)
构造重叠堆块,然后劫持 tcache next 指针,任意地址写。

方案二 (LIBC 2.34)
劫持其他函数指针.
发送 CAN 报文
connman 可以用 raw socket 发送 can 报文,实现特定功能。
Pwn2own 2022 Tesla 利用链 (ConnMan 堆越界写 RCE)的更多相关文章
- 利用userfaultfd + setxattr堆占位
利用userfaultfd + setxattr堆占位 很久之前便看到过这个技术的名字,但是由于自己的摆烂,一直没有管.今天终于找到时间好好看一下这个技术的利用方式.利用userfaultfd + s ...
- PHP利用二叉堆实现TopK-算法的方法详解
前言 在以往工作或者面试的时候常会碰到一个问题,如何实现海量TopN,就是在一个非常大的结果集里面快速找到最大的前10或前100个数,同时要保证 内存和速度的效率,我们可能第一个想法就是利用排序,然后 ...
- FastJson反序列化漏洞利用的三个细节 - TemplatesImpl的利用链
0. 前言 记录在FastJson反序列化RCE漏洞分析和利用时的一些细节问题. 1. TemplatesImpl的利用链 关于 parse 和 parseObject FastJson中的 pars ...
- commons-collections利用链学习总结
目录 1 基础 ConstantTransformer InvokeTransformer ChainedTransformer LazyMap TiedMapEntry TransformingCo ...
- JDK原生反序列化利用链7u21
前言 JDK 7u21以前只粗略的扫过一眼,一看使用了AnnotationInvocationHandler,就以为还是和 CC1 一样差不多的利用方式,但最近仔细看了下利用链发现事情并不简单- 7u ...
- fastjson反序列化-JdbcRowSetImpl利用链
fastjson反序列化-JdbcRowSetImpl利用链 JdbcRowSetImpl利用链 fastjson反序列化JdbcRowSetImpl - Afant1 - 博客园 (cnblogs. ...
- Apache Common-collection 反序列化利用链解析--TransformedMap链
Apache Common-collection 反序列化利用链解析 TransformedMap链 参考Java反序列化漏洞分析 - ssooking - 博客园 (cnblogs.com) poc ...
- 深入剖析CVE-2021-40444-Cabless利用链
背景 CVE-2021-40444为微软MHTML远程命令执行漏洞,攻击者可通过传播Microsoft Office文档,诱导目标点击文档从而在目标机器上执行任意代码.该漏洞最初的利用思路是使用下载c ...
- TemplatesImpl利用链
FastJson利用链 Fastjson的版本在1.2.22-1.2.24主要有两条链利用TemplatsImpl和JdbcRowSetImpl利用链先来学习TemplatsImpl利用链,这个与前面 ...
- Fastjson JdbcRowSetImpl利用链学习
JdbcRowSetImpl 接着继续学习fastjson的第二条链JdbcRowSetImpl,主要是利用jndi注入达到的攻击,而且没有什么利用限制,而且其原理就是setter的自动调用,具体se ...
随机推荐
- 最小代价的 SSO 单点登录方案
现在有多个 WebApp,想用最小的代价实现 SSO 单点登录.所谓最小代价,我的理解就是对原有 WebApp 的改动最小,因此 在旁路增加一个 SsoWebApp 用于管理 SSO 的账号,进行身份 ...
- 【首场重磅亮相】KaiwuDB 1.0 时序数据库线上发布会明日开启!邀您共同见证
首场重磅亮相 KaiwuDB 是浪潮集团控股的数据库企业,以多模数据库为核心,面向工业物联网.数字能源.交通车联网.智慧城市.数字政务等多种场景,提供领先创新的数据服务软件. 新生代数据库,扬帆起航正 ...
- typeOrm 教程 创建链接数据库
实体 User : import { Entity, PrimaryGeneratedColumn, Column } from "typeorm" @Entity() expor ...
- Mysql中常用函数 分组,连接查询
函数 在Mysql中函数是一组预定义的指令,用于执行特定的操作并返回结果,可类比Java中的方法.在SQL中函数根据其作用范围和返回结果方法分为两大类:单行函数,分组函数 单行函数 单行函数的特点为对 ...
- POI方式实现Excel表格数据导出
Excel表格导出 1.添加pom依赖 1 <!-- office 操作工具 --> 2 <dependency> 3 <groupId>org.apache.po ...
- WebElement的常用属性和方法
WebElement是WebDriver.find_element()方法返回的一个对象,该对象用来描述Web上的一个元素,比如输入框,按钮等.本节介绍WebElement的常用属性和方法. 一.We ...
- UniswapV2Pair细节
UniswapV2Pair合约是Uniswap V2协议中的核心部分,用于管理流动性池.代币交换.流动性代币的铸造和销毁等操作.以下是对UniswapV2Pair合约中所有主要方法及其参数的详细讲解. ...
- C240817D. 模拟赛:树上dp(以i为起点)+set操作
C240817D. 模拟赛 比较显然的树上dp, 但是维护set比较烦 考场上其实自己是定义 \(f[i]\) 是以 \(i\) 结尾, 然后这样的话单次更新根本做不到 \(O(logN)\). 反应 ...
- 2.10 破解密码这么简单,Linux是安全的操作系统吗?
很多人看到系统修复模式这节内容时,都会有所感慨:Linux 的密码破解太容易了,这样的操作系统还安全吗?Linux 不是以安全性著称的吗? 图 1 密码安全 本节,我们结合图 1 解释一下类似的问题. ...
- IDEA方法模板、类模板设置记录
类模板 设置入口 Mac:common+,进入设置->Editor->File and Code Templates->Includes 模版代码 /** * todo * * @a ...