当前位置:首页 > 报告详情

05罗思礼-从探索到利用:揭示安卓模拟器漏洞.pdf

上传人: 2*** 编号:154996 2024-02-04 77页 3.75MB

1、从 探 索 到 利 用:揭 示 安 卓 模 拟 器 漏 洞罗思礼 华为RO0T实验室大纲1.背景介绍2.案例分析3.经验总结背景为什么研究安卓模拟器研究安卓模拟器的实现研究虚拟机逃逸模拟器中其他 APP 数据被窃取虚拟机逃逸,攻击宿主机攻击场景用户运行不可信应用(破解应用、外挂)攻击恶意软件分析人员云手机攻击场景与危害危害安卓模拟器方案基于 Docker:Anbox基于 Hyper-V:Windows Subsystem for Android基于 QEMU:Google 官方模拟器、部分云手机厂商基于 VirtualBox:主流商业模拟器,比如 BlueStacks自研虚拟化方案:腾讯安卓模

2、拟器方案基于 Docker:Anbox基于 Hyper-V:Windows Subsystem for Android基于 QEMU:Google 官方模拟器、部分云手机厂商基于 VirtualBox:主流商业模拟器,比如 BlueStacks自研虚拟化方案:腾讯今天的话题基于 VirtualBox 的模拟器的攻击面Vendor Device图片来源:Box Escape:Discovering 10+Vulnerabilities in VirtualBox总体情况Vendor AVendor BVendor CVendor DVendor EVendor FVirtualBox5.2.36

3、5.1.344.1.342.1.246.1.366.1.36自研外设数161513ADB开启情况YYYNYNGuest LPEYYNYYYVM DOSYYYYYYVM EscapeNYNYNY漏洞数252/N4656漏洞类型:堆栈溢出、数组越界、条件竞争、逻辑漏洞等总体情况Vendor AVendor BVendor CVendor DVendor EVendor FVirtualBox5.2.365.1.344.1.342.1.246.1.366.1.36自研外设数161513ADB开启情况YYYNYNGuest LPEYYNYYYVM DOSYYYYYYVM EscapeNYNYNY漏洞数

4、252/N4656本次将介绍 A B D F 四个厂商的案例案例分析工具和思路IDA:逆向分析x64dbg:调试frida:函数 hookprocexp tcpview:观察进程信息dadb:Java 实现的 adb 客户端1.定位模拟器进程2.获取外设列表和外设所处模块3.恢复关键结构体4.定位 MMIO/PORT IO 回调函数5.代码逻辑和数据流分析6.漏洞挖掘与利用思路工具分析技巧-动态分析绕过反调试:Patch DLL 然后 attach分析技巧-函数结构体恢复分析技巧-函数结构体恢复原始代码恢复结构体后VENDOR AGuest LPE安卓系统启动后,会开启 ADB 服务,监听在

5、127.0.0.1:5555。APK 使用 adblib 连接 127.0.0.1:5555 获得 ROOT 权限模拟器进程信息启动/关闭模拟器,对比进程情况,发现模拟器进程:VendorVmHandle.exe获取外设列表bpl func,init dev:s:8:rcx+0 x48+4VB 的 pdmR3DevInit 函数用于在启动虚拟机过程中初始化外设,通过设置日志断点,可以获取所有的外设。获取外设列表init dev:pcarchinit dev:pcbiosinit dev:ich9pciinit dev:pckbdinit dev:apicinit dev:i8259init d

6、ev:ioapicinit dev:hpetinit dev:i8254init dev:mc146818init dev:8237Ainit dev:VMMDevinit dev:virtio-netinit dev:ichac97init dev:usb-ohciinit dev:acpiinit dev:GIMDevinit dev:lpcinit dev:“AAAptdeviceVENDORa.dll外设分析ptdevice 的设备构造函数为 ptR3Construct外设分析ptR3Construct 中注册了 IO Port 回调函数,Guest 通过写 IO Port 与 外设交

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文详细介绍了安卓模拟器的安全漏洞及其利用方法。研究发现,多个安卓模拟器存在漏洞,如堆栈溢出、数组越界等,这些漏洞可能导致模拟器进程卡死、数据泄露甚至虚拟机逃逸。文章列举了多个厂商的案例分析,包括模拟器进程信息、外设列表、ADB 开启情况、Guest LPE(本地特权提升)情况等。 针对这些漏洞,文章提出了提升模拟器安全性的措施,如更新 Guest 内核、更新 VirtualBox 版本、关闭不必要的外设、提升代码质量、进行 Fuzzing 和代码审计、提升利用难度(如内核模块签名、控制驱动文件权限、实施安全缓解措施如 CFI、ASLR、栈保护等)。 文章最后感谢了所有漏洞利用的尝试,并提出了在实际利用过程中遇到的问题和挑战,如溢出对象的选择、内存分配线程的控制等。总体来说,本文为理解安卓模拟器的安全风险和如何防范提供了宝贵的信息。
如何获取ROOT权限?" 如何防范VirtualBox漏洞?" "从实战案例中学到的安卓模拟器安全知识"
客服
商务合作
小程序
服务号
折叠