位置: 编程技术 - 正文

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

  • 税务机关的义务是依法征管
  • 进口设备退税如何账务处理?
  • 国有独资企业是国企吗
  • 购入原材料计划成本
  • 用银行支付本月生产车间保险费820元
  • 企业所得税季末从业人数怎么填
  • 车辆购置税计入成本吗
  • 公司购买的货架入哪个科目
  • 雇佣退休人员工伤赔偿标准
  • 通行费进项抵扣政策
  • 商业企业购入商品会计分录
  • 加工费发票可以不开数量吗
  • 信用证保证金是什么意思
  • 销售成本结转中的库存商品的单价错了怎么改u8
  • 住宿发票的税率0
  • 服装发票怎么进项抵扣
  • 科技型中小企业怎么认定
  • 为什么电脑上找不到蓝牙耳机
  • 母公司向子公司收取管理费
  • 二手房产增值税率
  • 企业收到退款应该如何做会计处理?
  • 不征税的通行费怎么分录
  • 逾期交房违约金怎么算
  • 已签收的电子银行承兑汇票截图给别人有风险吗
  • 2021最新版眼保健视频
  • window10过期
  • 营改增后销售不动产税率变化时间
  • macbookpro任务栏
  • 一般纳税人资质证明文件去哪打印
  • 电脑找不到Realtek
  • phpstudy配置ftp服务器
  • 往来款能转为投资款的说明
  • 切换到多任务界面
  • windows无法验证显卡驱动的数字签名
  • 我告诉你win7旗舰版
  • echarts-wordcloud 血泪总结使用说明 (配置项及其不足点优化)
  • 混合成本的分解方法很多,通常有
  • 社保通过银行缴纳
  • phpstorm怎么样
  • 笑脸热气球 (© Leonsbox/Getty Images Plus)
  • php 集成环境
  • 什么是工程施工的总纲领
  • 税收滞纳金的最新法律规定
  • vuex的五个属性及使用方法 简书
  • html怎么用java
  • ps怎么弄树
  • 专项应付款能转回来吗
  • 预收账款的借贷方向是加还是凿
  • 应交税费月末要结平
  • 社保应该怎么计提
  • 如何解决安装包解析错误
  • mysql profiles
  • 注册资金印花税税率是多少,怎么计算?
  • 预收账款是什么要素
  • 小微企业减免的增值税账务处理
  • 红字发票异常处理什么意思
  • 已付款未收到货怎么办
  • 合资公司政策
  • 主营业务毛利率和毛利率
  • 退回多交增值税账务处理小规模
  • 两家公司
  • 办公费用包含哪里费用
  • mysql两种安装方式
  • sql server怎么分离
  • mysql 5.7.11 winx64安装配置教程
  • mysql “ Every derived table must have its own alias”出现错误解决办法
  • 电脑怎么安装安卓模拟器
  • ubuntu zen3
  • linux分割分区
  • windows10周年纪念版
  • 如何修改win7电脑用户密码
  • express model
  • listview安卓
  • 我为什么要
  • webrtc介绍
  • Node.js中的construct
  • js window.screen
  • 税务部门督查内审部门监督检查的内容
  • 税收科研工作思路
  • 中国地税国税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设