位置: 编程技术 - 正文

Android提权漏洞分析——rageagainstthecage(sudo提权漏洞)

编辑:rootadmin

推荐整理分享Android提权漏洞分析——rageagainstthecage(sudo提权漏洞),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android提权漏洞emp,linux提权漏洞,linux提权漏洞,root提权漏洞,本地提权漏洞,root提权漏洞,android 提权,android提权漏洞emp,内容如对您有帮助,希望把文章链接给更多的朋友!

Android adb setuid提权漏洞由Sebastian Krahmer在年公布,并发布利用工具RageAgainstTheCage (rageagainstthecage-arm5.bin)。该工具被广泛用于SuperOneClick、z4root等root工具和Trojan.Android.Rootcager、DreamDroid等恶意代码中。

该工具支持Gingerbreak 2.2.X及更低版本的系统。

漏洞原理:

adb启动时最初拥有root权限,在运行过程中需要降成shell权限。如下所示,adb源码中对于setgid()和setuid()没有检查返回&#;,导致降权失败后继续运行。

于是利用linux对shell进程存在数量限制的特点,产生大量僵尸进程来造成降权失败,这样继续运行的adb进程就拥有root权限。

从漏洞修补后的adb源码中我们可以看出,增加了对返回&#;的检查。

漏洞修补前的adb源码:

漏洞修补后的adb源码:

The Android Exploid Crew小组后来发布了一份PoC代码:rageagainstthecage.c[1],我们对此进行分析。

Android提权漏洞分析——rageagainstthecage(sudo提权漏洞)

各函数功能:

函数 die():反馈错误信息

函数 find_adb():在当前进程空间中查找adb进程,并返回其进程号

函数 restart_adb():杀死adb进程

函数 wait_for_root_adb():循环检测adb进程是否重启(此处kill(-1, 9); ()不太理解,推测应该是结束所有僵尸进程),重启的adb进程应该就具有root权限

从main函数中我们可以看出漏洞利用具体方法:

main函数首先检测系统对shell进程数量是否存在上限(RLIMIT_NPROC),如果存在则查找adb进程。此处利用匿名管道(pepe[2])进行同步,fork()的父进程在read()处阻塞,而子进程无限循环fork()产生新的子进程,新的子进程直接exit(0)形成大量僵尸进程,占用shell进程号。直到达到进程号上限,fork()将失败,这时调用write()使得父进程解除阻塞重启adb进程。最后调用wait_for_root_adb等待新的adb启动即可(adb属于系统服务,如果终止会被系统自动重启)。

参考文献

[1

android SQLite数据库的简单用法 在android平台上使用的是嵌入式关系型数据库SQLite,SQLite3支持NULL、INTEGER、REAL(浮点数字)、TEXT(文本)、BLOB(二进制对象)数据类型。但实际上它也

Material Design 中文版-Introduction(概述) 概述我们挑战自我,为用户创造了崭新的视觉设计语言。与此同时,新的设计语言除了遵循经典设计定则,还汲取了最新的科技,秉承了创新的设计理

Android 自定义Dialog样式 1.首先在资源里面建立style的value;[html]viewplaincopy!--ShareDialog--stylename=Theme.ShareDialogparent=android:style/Theme.Dialogitemname=android:windowBackground@drawable/fill_box/itemitem

标签: sudo提权漏洞

本文链接地址:https://www.jiuchutong.com/biancheng/384189.html 转载请保留说明!

上一篇:android中解析doc、docx、xls、xlsx格式文件(安卓解析xml的几种方式)

下一篇:Android 自定义Dialog样式(Android 自定义控件)

  • 税额四舍五入的计算公式
  • 资产负债表本期盈余为什么是负数
  • 注册资本金实缴和认缴区别
  • 发票备注栏必须备注的有哪些
  • 开技术服务费发票怎么做账
  • 小企业销售费用多少算高
  • 制造费用明细账实例图
  • 高温补贴能以别的形式发放吗
  • 以前年度损益所得怎么算
  • 收回员工社保入什么科目
  • 软件研发购买的测试用的设备应该怎么做账?
  • 技术开发合同免征企业所得税吗
  • 固定资产出售怎么做账
  • 主营业务收入会计英语
  • 远期汇票的付款期限可以表示为
  • 关联公司代付款
  • 会计中的贷款核算分录是什么?
  • 如何在Windows 11上卸载更新
  • linux路由器配置实例
  • 如何解决win7系统搜不到蓝牙耳机
  • 暂估成本比实际高分录
  • 合同印花税交给谁
  • SSDP Discovery Service 是什么可以禁用吗
  • php类的作用
  • linux attached
  • 现金流方法
  • 资本公积金为什么不能用于弥补亏损
  • 外企采购回扣普遍吗
  • 外出培训餐费要进差旅费吗
  • windowsserver2008r2密码重置
  • 网络分割算法
  • ssh -o命令
  • 增值税发票如何认证抵扣
  • 公司基本户被冻结,其它账户也会被冻吗?
  • 手机话费怎么打发票
  • 房屋发票备注栏怎么填
  • python中的logging记录日志
  • vue 鼠标移入移出(hover)切换显示图片问题
  • MySQL Proxy的安装及基本命令使用教程
  • 银行本票存款属于款项吗
  • 个税哪种申报方式好
  • 差旅费具体包括哪些
  • 进口关税增值税在哪里打印
  • mysql数据库中进入mysql库的命令
  • 交强险还要交车船税?
  • 视同销售包括哪些行为?
  • 计入委托加工物资成本的消费税
  • 实收资本如何计算印花税及附加税
  • 员工出差报销补贴政策
  • 小规模纳税人购进商品会计分录
  • 餐饮业燃气费计入什么科目
  • 厂房的使用寿命
  • 租来设备本身原因致人损害
  • 企业所得税和增值税重复收税了吗
  • sql server 判断数据是否存在
  • mysql触发器的作用
  • sql server怎么使用sql语句
  • win8.1无法启动怎么办
  • windows server 2008 r2激活密钥
  • wmiex.exe是什么程序
  • win7系统怎么给C盘扩容
  • windows查询
  • tdxcef.exe进程
  • linux charon
  • 删除默认共享的文件夹
  • css控制html
  • javascript深入理解
  • Unity3D游戏开发pdf
  • 原生js常用的方法
  • jquery怎么设置样式
  • First Class: UI of Android
  • 山东无犯罪记录证明网上申请
  • 返利是否合法
  • 民间非营利组织包括哪些单位
  • 国家税务总局,湖北省税务局
  • 小规模纳税人增值税优惠政策2024
  • 螺丝钉的税率
  • 怎么登录云南省招考网站
  • 税收与税收管理的关系
  • 幼儿掌握概念的名称容易真正掌握概念的内涵也很容易
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设