位置: 编程技术 - 正文

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

  • 营业税金及附加计算公式
  • 一般纳税人减免增值税政策
  • 全国税务师官网报名
  • 税务师考试咨询电话
  • 企业所得税季末数怎么填
  • 增值税为什么不用计提
  • 定期定额户个人所得税怎么申报
  • 预付卡没用完的可以退吗
  • 不是本单位职工可以报销差旅费吗
  • 非独立核算的分公司怎么做账
  • 双倍余额递减法折旧公式
  • 酒店购入食材,怎么做会计分录
  • 重新建账要以前的期初余额吗
  • 怎么才能知道开户行行号
  • 关联关系案例
  • gdp等于消费加储蓄加税收
  • 土地增值税清算时间
  • 1697508581
  • 认证费计入什么科目
  • 在国外餐厅吃饭服务费和税费
  • 合伙企业收到投资款要缴纳印花税吗
  • 多发的奖金收回怎么做账
  • 企业增资需要缴纳什么税
  • 以前年度长期待摊费用没摊销怎么办
  • 国家税务开票流程
  • 非货币性资产交换和债务重组的区别
  • 公司交会费有什么用
  • 税收保全措施的期限一般不超过几个月
  • Win10 21H1 Build 19043.1200(KB5005101)预览版更新了哪些内容(附更新日志)
  • php statement
  • 营改增后劳务发票税率
  • 承租人对经营租赁的会计分录
  • 蟹爪兰的养殖方法和浇水
  • 超期未认证的发票怎么处理
  • 海关进口税可以抵扣吗
  • php操作字符串
  • postman 下载
  • 深度学习部署(十九): CUDA RunTime API YOLOV5后处理cpu解码以及gpu解码
  • php die exit
  • php安装openssl扩展
  • 增值税怎样交
  • 公司新增注册资本是认缴的吗
  • 销售黄金的会计分录
  • 帝国cms插件编写教程
  • 文章初审过了
  • 增值税专票怎么交税
  • 社会保险分割单怎么查
  • sqlserver 中charindex/patindex/like 的比较
  • 劳务费个人所得税怎么查
  • 支付招标代理费的请示
  • 非营利组织也被称为?
  • 稳岗补贴缴纳社保个人部分还是公司部分
  • 实收资本为零该怎么办
  • 财产转让收入属于什么收入
  • 发票未到货已入库会计分录 原材料
  • 发现以前年度增值税附表2填写错了那时增值税是0
  • 短期借款计提利息计入什么科目
  • 政府预算年度
  • 企业筹建期间利润计算
  • 结转已销商品的销售成本分录
  • 招标代理服务费计算器在线
  • 费用利润率的意思
  • 服务费税额部分计算公式
  • 待摊费用属于流动负债吗
  • mysql获取今天数据
  • mac变得很卡很慢
  • freebsd软件安装
  • jgcx是什么软件的文件
  • 怎样彻底关闭win11安全中心
  • awk 筛选有特定字符
  • frontpage软件
  • win10mobile最新版本
  • linux中who命令
  • win10粘滞键怎么解除
  • unity best fit
  • 深入理解llvm
  • linux如何配置jdk
  • 安卓监听事件
  • 山东省水资源税征收标准
  • 深圳车牌注销需要车辆到场吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设