Android Root方法原理解析及Hook(一) adbd漏洞
来源:互联网 发布:查询mac地址命令 编辑:程序博客网 时间:2024/04/29 21:40
转自: http://blog.csdn.net/jackaduma/article/details/7286334
漏洞在于Android源码中的 adb.c文件 中
int main(){ ... ... setgid(AIL_SHELL); // 失败不退出 setuid(AIL_SHELL); //同上 ... ... }
adbd进程启动,开始时会以root权限执行一些初始化操作,之后会降权至当前shell用户权限;
但若降权失败,adbd进程不会退出,仍然启动起来,此时就是root权限的adbd进程
攻击代码原理:
不断fork子进程(其实是孙进程),然后退出,产生僵尸进程,使得当前shell用户的pid数达到上限,然后kill掉adbd进程,然
后再迅速fork一个,使之仍然达到上限,这样将无法再为当前用户创建进程
过段时间,init进程会检测到当前没有adbd进程,会运行adb.c,利用漏洞得到root权限的adbd进程... for(;;) { if ((p=fork())==0){ exit(0); } else if(p<0){ ... } else{ ... } } ...
Myhook code:
打log至logcat输出#include <cutils/log.h> #define LOG_TAG "adb hooker" int main(){ ... ... if(setgid(AIL_SHELL)!=0){ LOGE("failed to setgid for shell user"); exit(0); } if(setuid(AIL_SHELL)!=0){ LOGE("failed to setuid for shell user"); exit(0); }
0 0
- Android Root方法原理解析及Hook(一) adbd漏洞
- Android Root方法原理解析及Hook(一) adbd漏洞
- Android Root方法原理解析及Hook(一) adbd漏洞
- Android Root方法原理解析及Hook(二) udev漏洞
- Android Root方法原理解析及Hook(三) FrameworkListener漏洞
- Android Root方法原理解析及Hook(二) udev漏洞
- Android Root方法原理解析及Hook(三) FrameworkListener漏洞
- Android Root方法原理解析及Hook(四) GingerBreak
- Android Root方法原理解析及Hook(四) GingerBreak
- Android中免root的hook框架Legend原理解析
- Android 设备root 原理及方法
- Android 手机Root 原理解析
- Android 手机Root 原理解析
- Android 手机Root 原理解析
- 解析暴库漏洞原理及规律
- Android中免Root实现Hook的Dexposed框架实现原理解析以及如何实现应用的热修复
- Android中免Root实现Hook的Dexposed框架实现原理解析以及如何实现应用的热修复
- Android中免Root实现Hook的Dexposed框架实现原理解析以及如何实现应用的热修复
- 【原创】C程序设计语言(2版KR) - C语言基础知识(1)
- BZOJ 1224 HNOI2002 彩票 DFS
- 在iOS 8 SDK中使用Touch ID API(下)
- 虚函数与默认实参
- 黑马程序员----声明类Student,包含3个成员变量
- Android Root方法原理解析及Hook(一) adbd漏洞
- Sort List 【leetCode】
- Sublime Text 2 入门及技巧
- 从零开始使用Docker构建Java Web开发运行环境
- Spring-----4、使用Spring容器
- 【LeetCode】Two Sum
- 《UNIX环境高级编程》读书笔记之线程(1)
- MongoDB之Sharding 分片
- 关于编写性能高效的javascript事件的技术