位置: 编程技术 - 正文

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

  • 所得税报表的营业成本
  • 城建税的征税范围不包括农村对不对
  • 其他应收款审计说明怎么写
  • 预借差旅费附什么原始凭证
  • 小规模纳税人发票怎么做账
  • 城市维护建设税优惠政策
  • 转让不动产增值税计算
  • 资产负债表的应付职工薪酬怎么填
  • 房地产对居民生活的影响
  • 进项税额抵减欠税后附加税可以抵减吗
  • 土地使用税为什么不计入存货成本
  • 社保年年递增
  • 促销赠品的会计处理
  • 计提费用的时候可以计提税金吗
  • 专票的有效期是什么意思
  • 适用简易计税方法的企业提供适用零税率的应税服务
  • 固定资产折旧结束后怎样做账
  • 购入增值税税控系统专用设备为什么全额计入固定资产
  • 政府补助企业的钱要交税吗
  • 卖固定资产如何做账
  • 附加税退款分录
  • 资产收购的特殊性税务处理方法
  • 出口押汇申请书
  • linux怎么使用命令
  • win11开始菜单怎么设置成左下角
  • linux系统怎么访问共享文件夹
  • 已抵扣的发票怎么撤销
  • 电脑的时间不准了怎么调
  • 公司账户存款
  • 零代码开发工具
  • nvidia gpu系列
  • 完工产品成本的直接材料怎么算
  • 租金没有收进来,房产税要交吗
  • 原材料废料怎么做账
  • 购进来的样品怎么账务处理
  • 在建工程减值准备
  • iis制作网页
  • 个体户生产经营所得减免政策
  • 期末余额和年初余额为什么不一样
  • 芒果sdk
  • 代垫运费算收入吗
  • 从零开始打造神级文明
  • 中标费用由哪方出
  • 打印空白表格怎么制作
  • 接待客人发生的事故
  • 信用减值损失科目借贷方向
  • 全年累计个税扣除公式
  • 发票过了认证时间期限还可以红冲么
  • 发票专用章刻制
  • 销售折扣现金流量表
  • 房地产业具体怎么做
  • 以前年度损益调整属于哪类科目
  • 一次开票分期确认收入
  • 季节性停工计入成本吗
  • 税率计税依据
  • 货已经收到未收到怎么办
  • 教育费返还款计入收入吗
  • 基金会对外捐赠,对方开什么发票
  • 台账和明细账有什么区别
  • 冲减坏账准备的金额怎么计算
  • 会议中发生的相关事件
  • win8局域网共享设置
  • xp开机延时启动程序
  • linux系统汉化教程
  • ubuntu configure
  • mac搜索app
  • win10的hyper-v在哪
  • android开发环境配置
  • cocos2d-x window实现鼠标移动 键盘事件
  • unity调用android方法
  • shell.epc
  • shell备份文件脚本
  • cocos2dx 3.2 Http网络连接,curl 库的介绍
  • python 列表分片
  • javascript编程技术
  • 小规模纳税人销售额怎么算
  • 怎样在中国税务用手机交社保
  • 网上报税失败什么原因
  • 天津户籍信息查询
  • 增值税按次纳税的规定
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设