位置: 编程技术 - 正文

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

  • 出口报关单运费小于实际运费
  • 非税收入专用申报表
  • 购入股票作为短期投资是什么凭证
  • 哪些行业增值税率1%
  • 个税代扣代缴返还手续费如何入账
  • 财务怎么算社保缴费
  • 滴滴普通发票可以作废吗
  • 房地产会计预收账款明细科目
  • 吸收合并的税务处理增值税风险
  • 资源税征税范围有哪些
  • 存货的计价方法及公式
  • 增资款怎么做账
  • 电子凭证是否具有法律效力
  • 调试阶段是什么意思
  • 给员工发中秋福利
  • 分票报关合票出提单怎么清关
  • 民间非营利组织会计制度
  • 个人从上市公司取得的分红个税怎么申报
  • 政府收取的工程物资
  • 企业的其他业务收入
  • 收代扣代缴个税手续费会计分录
  • 固定资产折旧可以不留残值吗
  • 合同资产和工程存货的区别
  • win7绝地求生帧数不稳定
  • 应收账款和预收账款的关系
  • 残保金必须交社保才能领吗
  • 施工图审查费入哪个科目
  • thinkpad x230笔记本
  • 奥维尔的瓦兹河岸
  • windows server 2016 配置web网页
  • php验证码功能怎么实现
  • 税前扣除项目什么意思
  • vue3.0教程
  • 文件上传漏洞原因
  • lvs命令
  • 账户利息怎么计算
  • 研发费用属于什么会计科目
  • 个税申报怎样作废
  • 个体户年报纳税一般填多少合适
  • mysql密码忘了怎么办?
  • 会计差错更正的会计处理方法
  • 小企业营业外收入包括
  • 汇算清缴业务招待费调整分录
  • 工会经费的计提比例
  • 报废厂子出售
  • 对公收到几毛测试费怎么做账
  • sql server数据
  • 三种实现方法实现的特点
  • centos7安装MySQL5.6
  • solaris 11.4
  • win8管理员权限怎么打开
  • winxp开机画面自动重启
  • ubuntu undate-rc.d 的一些使用介绍
  • centos中如何查看ip地址
  • mac屏幕显示设置
  • linux ssh免密码
  • win7系统鼠标右键菜单设置
  • win7远程桌面连接命令
  • win7如何查询电脑使用记录
  • linux时区问题
  • python数据结构教程
  • 多个版本python
  • Internet Explorer 8 beta 中文版与IE7共存的解决方法
  • 猫的所有视频
  • Unity3d中EventTrigger的封装
  • jquery的checked
  • android中的线程
  • jquery左右选择框
  • 基于网络创新形成的大数据的最突出特征是什么?( )
  • nodejs使用视频教程
  • shell脚本 -ne 0
  • 拨号器怎么用
  • 百度定位服务平台
  • jquery中点击事件点击没动静
  • 小规模一季度多少免增值税
  • 企业安置几级残疾人
  • 甘肃省国家税务局电子税务局
  • 杭州文明城市几连冠
  • 租房税费怎么算的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设