位置: 编程技术 - 正文

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 自定义控件)

  • 海关进口增值税专用缴款书图片
  • 土地原值要计入房产税计税@基数吗
  • 哪些资产损失向银行贷款
  • 个人所得税包括绩效工资吗
  • 固定资产接受捐赠的计入什么科目
  • 小规模季报利润表本月金额和本年累计金额
  • 税务系统重置密码
  • 无偿调入固定资产计提折旧吗
  • 发票查询校验码看不清怎么办
  • 外企农业公司
  • 长期股权投资属于金融资产吗
  • 补充协议如何生效
  • 出口没做免税申报怎样补税?
  • 当期留抵税额怎么计算
  • 没有抵扣怎么办
  • 公司收到法院的欠款起诉书,应该怎么办
  • 网银转账手续费标准
  • 商场销售化妆品应当缴纳增值税和消费税对吗
  • 旧设备变现损失抵减所得税怎么算
  • 违反劳动合同的责任
  • 收以前年度租金
  • 公司员工体检计入什么科目
  • 公司注销过了公示期不去有问题
  • 税收优惠政策2020年
  • 事业单位事业收入和经营收入要上缴财政
  • 最新土地增值税实施细则
  • 固定资产移交给别的单位怎么做账
  • 一般纳税人有进项无销项
  • win7如何隐藏任务栏正在游戏的图标
  • win11 zen2
  • rtvscn95.exe - rtvscn95是什么进程 有什么用
  • php字符串操作函数
  • 货物退回的会计处理
  • 库存股属于什么类账户
  • 今日元宵节图片
  • 新企业所得税季初资产总额怎么填
  • 帝国cms栏目没有了
  • 长期挂账的其他应付款税务风险
  • 政府补助可以挂账吗
  • java操作mongodb数据库
  • mysql深入理解
  • mongodb数据库查询用多少存储
  • 无偿提供建筑服务账务处理
  • 所得税费用是属于费用类吗
  • mysql触发器菜鸟教程
  • 应发工资账务处理
  • 信用减值损失如何列报
  • 劳动保护费是否可以抵扣
  • 销售收入五步法
  • 补缴以前年度企业所得税以及滞纳金
  • 租金收入如何分红给股东
  • 进项税认证怎么按税率统计明细
  • 你知道实施“营改增”对企业有哪些积极的效应么?
  • 3%税率专票为什么不能抵扣
  • 财产裁定书
  • mysql 使用inet_aton和inet_ntoa处理ip地址数据的实例
  • window怎么升级系统
  • ubuntu20.04怎么安装
  • bios cmos设置
  • win10注册表详解
  • win7速度
  • unity绘制曲线
  • cocos2dx4.0教程
  • javascript学习指南
  • IE6/IE7/IE8/IE9中tbody的innerHTML不能赋值的完美解决方案
  • opengl怎么学
  • opengl实现光线追踪
  • jquery选择器的使用
  • shell脚本符号
  • pycharm新手使用教程
  • unity公路制作
  • android的edittext在哪
  • 实用的批处理
  • javascript运用
  • javascript教程推荐知乎
  • python字典有什么用
  • 福建国税电子税务局app
  • 学校经费审批流程
  • 新郑市税务局
  • 新一轮税制改革的背景是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设