Relapse-Exploit 的内核读写加速:从 sysctl oid 慢读写到 pipe 交叉快读写的实现
【免费下载链接】Relapse-ExploitExploit chain for PS5 7.00 - 13.60项目地址https://gitcode.com/gh_mirrors/re/Relapse-Exploit点击查看免费下载Relapse-Exploit 是覆盖 PS5 7.0013.60 固件的浏览器漏洞利用链它在拿到初步内核权限后先用sysctl oid 窗口建立慢读写再通过pipe 交叉技术把内核读写加速为一次搬运整块内存的快读写。这篇文章带你理解这次内核读写加速的设计思路为什么要加速、慢通道怎么工作、pipe 交叉快读写如何建立以及它在整条 PS5 exploit 攻击链中的位置。 瓶颈在哪sysctl oid 慢读写有多慢拿到内核读写能力后Relapse-Exploit 并没有立刻去搬运载荷。原因很简单——此时的通道太慢每读/写 4 字节都要通过 ROP 链发起一次完整的sysctl系统调用还要经过 Worker 线程往返一次读一个 8 字节指针需要 2 次这样的往返kread64拆成两次kread32后续要把约 18KB 的 kexp 壳代码写入可执行内存若走这条慢通道意味着上万像素级的往返开销。慢读写的封装在 src/relapse_exploit.js 中sysctl()把 MIB 数组写进内核内存、调用SYS___SYSCTL再用sysctlReadInt/sysctlWriteInt包装成 32 位读写。 慢通道原理oid 窗口如何指向内核地址利用链的核心机关是三个 sysctl oid以 13.60 固件为例偏移定义见 offsets/13.60.jsoid对应 MIB作用akern.smp.cpus写入低 32 位充当窗口地址bkern.smp.maxcpus被翻转 kind 后成为数据读写端口c[9, 8]翻转后充当高 32 位写入端口具体流程由 armKernelReadWrite() 编排先用 AIOaio_multi_waitUAF 竞态回收等待者数组把 oid a 的 kind 从0x80048002翻转为可写的0x70048002makeOidWritableflipOidKind再把 oid b 的arg1指针拐弯到可读位置steerOidWindow最后用prepareHighWriter把地址高 32 位固定在内核段0xffffffff。于是得到一个内核指针 32 位窗口aimWindow(目标地址) → 写低 32 位到 oid a kread32 / kwrite32 → 经 oid b 读/写该地址的 4 字节这就是 kread32() / kwrite32()正确但缓慢只够完成自我验证、定位当前进程、找到文件描述符表这些小件操作。⚡ 快通道建立pipe 交叉快读写如何工作真正的高速通道由pipe2创建的两对管道master与victim交叉改造而成代码在 locatePipes() 与 crossPipes()。第一步定位并自检两条 pipelocatePipes先pipe2建出 master/victim再顺着curproc → filedesc → file → pipe的内核结构走一遍找到两条 pipe 的内核对象并往管道里写一个0x5a探测字节、从内核侧回读count字段确认找到的确实是自己的 pipe。第二步交叉——让 master 的缓冲区指向 victim 结构crossPipes用慢读写改写 master pipe 的关键字段count 0、in 0、out 0清空状态size 0x400016KB即 PIPE.defaultSizebuffer victim pipe 的内核地址pipe 的buffer本来是数据缓冲区现在被指到 victim pipe 结构体本身。这意味着对 master 写 fd 写入的数据会直接落到 victim pipe 结构体的字段上——等于多了一条用普通 write 系统调用写内核任意结构体的通道。第三步瞄准 整块搬运之后每次读写内核地址只需两步kreadFast / kwriteFastaimVictim(地址, count, size)向 master 写 0x18 字节的字段块把 victim 的buffer指向目标内核地址、out/in归零再从 master 读端把数据抽走避免污染对 victim 读/写 fd 执行普通SYS_READ/SYS_WRITE——内核的 pipe 路径会把victim-buffer即任意内核地址与用户缓冲区之间一次性拷贝最多 16KB。对比慢通道每次 4 字节 一次 ROP 往返快通道是一次 syscall 搬 16KB这就是内核读写加速的全部来源。建立后代码会用内核只读段里的字符串_aio_submit_cmd\0_aio_multi_waitrodataProbe做一次端到端校验读对文本才算快通道就绪。对上层暴露的统一接口是 readKernel32/64、writeKernel32/64它们内部全部走快通道。 快通道在攻击链中的位置run()主流程src/relapse_exploit.js的顺序非常清晰KASLR 泄漏 单核绑核固定竞态条件慢通道就绪AIO UAF oid 翻转完成读/写自测切换到快通道findCurrentProcess→locatePipes→crossPipesdefuseAioGroups先把武装过的 AIO 组拆弹再escalate完成 uid0 与沙箱逃逸批量写ucred全靠快通道把read8 / write4 / write8即快读写打包成krw交给 runKexp() 装载壳代码、经jitshm建可执行页并注入 ELF 载荷。值得注意的是kexp 壳代码内部复用了同一个交叉技巧prepareShellcodePipes() 在用户态线程里再次把 master 的buffer指向 victim让壳代码内的 ELF 拷贝也能借 pipe 路径提速。最后restorePipes/ restoreOids 会把管道字段与 oid kind 全部还原把系统状态收拾干净。 关键源码速查模块位置说明sysctl 封装慢通道src/relapse_exploit.js#L148-L167oid 窗口读写pipe 交叉与自检src/relapse_exploit.js#L834-L883快通道建立核心快读写接口src/relapse_exploit.js#L797-L832aim read/writeoid / pipe 偏移offsets/13.60.js#L401-L433各固件版本见 offsets/ 目录壳代码装载与复用src/kexp.js#L249-L325krw 快读写注入ROP 链执行器src/rop.js#L76-L107Worker 中的 syscall 通道总结Relapse-Exploit 的内核读写加速是一个典型的两级通道设计sysctl oid 慢读写负责从 0 到 1——借助 oid kind 翻转拿到首个内核 4 字节读写能力pipe 交叉快读写负责从 1 到 N——把 master pipe 的缓冲区指到 victim pipe 上用普通 pipe read/write 就能按 16KB 粒度搬运任意内核内存。正是这次加速让后续的提权写、壳代码装载与 ELF 注入得以在合理的时间内完成。赞分享【免费下载链接】Relapse-ExploitExploit chain for PS5 7.00 - 13.60项目地址https://gitcode.com/gh_mirrors/re/Relapse-Exploit点击查看免费下载相关推荐Relapse-Exploit 的任意内存读写原语从信息泄露到 read/write 原语的升级之路Relapse Exploit 的任意内存读写原语从信息泄露到 read/write 原语的升级之路 Relapse Exploit 是覆盖 PS5 7.00PS5 内核利用指南Relapse-Exploit 如何用 AIO_MULTI_WAIT 释放后使用UAF竞态建立内核读写PS5 内核利用指南Relapse Exploit 如何用 AIO_MULTI_WAIT 释放后使用UAF竞态建立内核读写 Relapse ExploitCortex.js实战案例构建一个完整的React电商应用Cortex.js实战案例构建一个完整的React电商应用 Cortex.js是一个专为React设计的不可变数据存储库能够高效管理深度嵌套的数据结构。本文前端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

海思3519DV500相关命令

海思3519DV500相关命令

海思3519DV500相关命令1.文件系统烧录命令2.Uboot设置网络命令3.Uboot烧录命令1.文件系统烧录命令 dd if/run/uImage-fdt of/dev/mmcblk0p4 bs4Mdd if/run/rootfs_hi3519dv500_96M.ext4 of/dev/mmcblk0p5 bs4M2.Uboot设置网络命令 # 倍数为512倍 setenv serverip 192.168.1.18…

2026/10/11 7:12:40 阅读更多 →
AI产品经理掌握格式塔原理,产品真的会更懂用户

AI产品经理掌握格式塔原理,产品真的会更懂用户

亲爱的小伙伴,如有帮助请订阅专栏!跟着老师每课一练,系统学习AI产品经理课程! 《AI产品经理入门实战》https://edu.csdn.net/course/detail/41126《Axure原型设计精品课》https://edu.csdn.net/course/detail/40420 前两天跟一个…

2026/10/11 7:12:40 阅读更多 →
【记录】打印|打印图片或照片时,调整使打印结果为打印的实际目标长度

【记录】打印|打印图片或照片时,调整使打印结果为打印的实际目标长度

以下是我自己打印图片时记录的原始笔记,放在最前面方便以后直接查阅。 图片转PDF。 检查PDF的页面大小,我的宽333mm高445mm。 打印,以wps打印为例,记得勾选作为图像打印,打印分辨率至少300dpi。 记住自己的目标尺寸&am…

2026/10/11 7:12:40 阅读更多 →

最新新闻

从运维到安全:用应用层协议重新解读数据包

从运维到安全:用应用层协议重新解读数据包

1. 重新拿起抓包工具:同样的数据包,完全不同的解读方式 离开运维行业快十年,再回到网络安全这行,最强烈的感受不是技术更迭有多快,而是——同样一个数据包,十年前我看它和现在看它,完全是两个世…

2026/10/11 17:26:16 阅读更多 →
钢轨缺陷超声图像检测的Python实现与部署避坑

钢轨缺陷超声图像检测的Python实现与部署避坑

简介:基于超声图像的钢轨缺陷检测系统,提供完整源代码与已标注数据集,面向毕业设计、课程实训及目标检测算法学习者。方案采用YOLOv5单阶段检测算法,结合超声图像样本,覆盖裂纹、划痕、断裂等常见缺陷识别场景&#xf…

2026/10/11 17:26:16 阅读更多 →
纯Java零依赖实现TopoJSON生成器:从GeoJSON到共享弧线

纯Java零依赖实现TopoJSON生成器:从GeoJSON到共享弧线

两个多月前,我接到一个地图可视化的需求:后端要给前端提供一份行政区划 GeoJSON,光数据就有三十多兆,浏览器一加载就掉帧,拖拽和缩放卡得没法看。前端同事建议改成 TopoJSON 格式,说这种格式能把体积压到十…

2026/10/11 17:26:16 阅读更多 →
从VOC到YOLO:笔记本电脑数据集转换与YOLOv8训练全流程

从VOC到YOLO:笔记本电脑数据集转换与YOLOv8训练全流程

简介:围绕笔记本电脑与平板电脑场景构建的VOCYOLO格式目标检测数据集,面向计算机视觉初学者及需要训练笔记本检测模型的开发者,可支撑YOLO、Faster R-CNN等模型的训练与评估。数据集包含3524张真实场景图片,每张均配有VOC格式xml与…

2026/10/11 17:26:16 阅读更多 →
YOLO养殖场肉鸡目标检测:决定成败的不是模型而是数据集

YOLO养殖场肉鸡目标检测:决定成败的不是模型而是数据集

简介:面向养殖场肉鸡检测需求构建的YOLO目标检测数据集,适合目标检测初学者、算法工程师及智慧养殖项目开发者使用。数据以鸡舍实景图片与对应标注为主,可直接用于YOLOv5、YOLOv7、YOLOv8等主流模型训练,支撑肉鸡定位、计数与养殖…

2026/10/11 17:26:16 阅读更多 →
华为射频笔试题全解析:香农定理到5G波束赋形考点拆解

华为射频笔试题全解析:香农定理到5G波束赋形考点拆解

简介:面向射频通信类岗位求职者的华为最新招聘笔试题整理,针对无线通信与射频设计核心概念精心汇编,内容覆盖香农定理与信道容量、QPSK/8PSK/16QAM调制星座图、峰均比及对功放的挑战、噪声系数级联计算、S参数与电压驻波比、功率放大器最佳负…

2026/10/11 17:25:16 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →