位置: 编程技术 - 正文

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

  • 增值税调整 以前签的合同怎么办?
  • 小规模纳税人升级一般纳税人流程
  • 个税代扣代缴手续费返还 申请
  • 建筑公司办公室照片真实
  • 部分红冲的发票怎么开
  • 一般纳税人没有进项怎么交税
  • 一般纳税人留底税额抵减欠缴税额
  • 主营业务收入和销售收入
  • 税控技术维护费每年都能抵扣吗
  • 发票上的销货方是什么意思
  • 房地产企业净利润为负的原因
  • 加工费发票可以不开数量吗
  • 传媒公司发传单
  • 白条确认收款后还能分期吗
  • 不动产在建工程使用的外购货物
  • 开增值税票需要对方什么资料
  • 零税率发票可以冲成本吗
  • 建安行业核定征收企业所得税
  • 汽车修理费入账
  • 一般纳税人年审证明
  • 电子公章盖上去怎么文字看不到了
  • 4s店额外收取服务费
  • 管理费用职工福利费
  • 职工教育扣除标准是什么
  • 进口增值税可以抵扣销项税额吗
  • 商务平台建设
  • 新政府会计制度科目表
  • 收到货款发票怎么记账
  • 福利费如何做会计分录
  • 增值税普通发票怎么开
  • 公司从其他公司买一个项目花了100万
  • 收到银行承兑汇票会计分录
  • php调用ffmpeg实现切片
  • 未分配利润怎么清零
  • 在Windowsserver2019环境下,配置IP地址使用
  • 本月职工工资
  • php处理xml数据
  • php生成证书图片
  • 路径规划原理
  • 最详细、最完整的相机标定讲解
  • javaweb实现用户登录注册
  • vue项目使用rem
  • python机器人编程控制
  • 为什么我会选择那个对我一般的男人结婚
  • 织梦怎么导入数据库
  • 小规模纳税人增值税税率
  • 转账收手续费不
  • 未分配利润用于扩大再生产
  • 培训费怎么收取
  • 土地使用权被政府收回要交个税吗
  • 交强险还用开车去吗
  • 研发费用账务调整合同怎么写
  • 应付账款从质保金扣除
  • 进项留抵月末要结转吗
  • 材料暂估入库需要什么原始凭证
  • 账上存货太多实收怎么办
  • 营业外支出增加说明了什么
  • 拿支票取钱
  • 资产负债表所有者权益和利润表关系
  • sqlite迁移到mysql脚本的方法
  • mysql5.7慢查询
  • ubuntu16.04安装拼音输入法
  • 联想笔记本从U盘启动
  • cmd常用命令详解
  • Javascript 事件冒泡机制详细介绍
  • 安卓自定义app
  • js双击触发
  • Jquery通过ajax请求NodeJS返回json数据实例
  • javascriptfor循环嵌套
  • js设置页面的scrolltop
  • Android调整按钮位置
  • 发票查验结果怎么保存
  • 江苏增值税发票代码
  • 贸易公司的税率多少
  • 无偿划转暂行规定
  • 网上申报增值税纳税申报表怎么填写
  • 青岛已开通几条地铁线路
  • 如何开具红字发票明细
  • 税务行政执法风险防范与控制
  • 豫事办登录时密码叫重置什么原因
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设