网站首页 > 技术文章 正文
上周,研究人员Phil Oester发现 “脏牛”漏洞,影响范围甚广,波及到2007年发布的Linux内核,一时间名声大噪。
脏牛漏洞,编号为CVE-2016-5195,是Linux内核运行时出现的竞争条件,允许攻击者实现本地提权。简而言之,攻击者利用脏牛可获得Linux设备的root权限。
影响所有Android版本
脏牛刚被发现时,我们不清楚基于Linux内核的Android操作系统是否也受到了影响。发现脏牛的Phil Oester并没有检测Android系统上有否存在此漏洞。好在,另一名安全研究人员David Manouchehri对Android进行了检测,并于周日在 GitHub 上公布了PoC。
$ make runndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mkmake[1]: Entering directory `./CVE-2016-5195'[armeabi] Install : dirtycow => libs/armeabi/dirtycow[armeabi] Install : run-as => libs/armeabi/run-asmake[1]: Leaving directory `./CVE-2016-5195'adb push libs/armeabi/dirtycow /data/local/tmp/dirtycow[100%] /data/local/tmp/dirtycowadb push libs/armeabi/run-as /data/local/tmp/run-as[100%] /data/local/tmp/run-asadb shell 'chmod 777 /data/local/tmp/run-as'adb shell '/data/local/tmp/dirtycow /system/bin/run-as /data/local/tmp/run-as'warning: new file size (9464) and file old size (17944) differsize 17944[*] mmap 0xb51e5000[*] exploit (patch)[*] currently 0xb51e5000=464c457f[*] madvise = 0xb51e5000 17944[*] madvise = 0 1048576[*] /proc/self/mem 1635778560 1048576[*] exploited 0xb51e5000=464c457fadb shell /system/bin/run-asrunning as uid 2000uid 0
Manouchehri在一篇推文中提到,他利用脏牛获得了一台Android 6.0.1设备的root权限。在ArsTechnica的采访中,Manouchehri表示—— Android 1.0以后的所有版本似乎都存在脏牛漏洞 。
“对于熟悉Android文件系统的人来说,这个操作很简单。在我看来,利用这个漏洞,理论上 可以在任何一台Android设备上实现提权,因为Android 1.0是基于Linux kernel 2.6.25的,而脏牛漏洞在2.6.22里就已经存在了。”
还有一位不愿透露姓名的独立安全研究人员表示,他与其他几人也利用脏牛漏洞写了Android的root利用代码,还为之增加了一些新的功能。在被问到为什么不愿意公开代码或者姓名时,这名研究人员表示:“我们用的是一种比较特殊的技术方式,将来还可以用在其他地方。”
下面的视频展示了这位研究人员如何用他的app,在一台HTC手机上获取root权限;这台手机通过USB数据线与电脑连接。首先执行ID命令和su命令,我们可以看到这个设备没有被root。运行“moo”之后(牛叫声!“moo”是包含这个漏洞利用代码的文件),再次执行ID命令和su命令,明显可以看到这台HTC手机被root了。
此前似乎低估了脏牛的威力
脏牛一开始出现的时候,引起了不小的反响,当时研究人员认为业界夸大了脏牛的危害,还特别制作了各种周边来嘲讽这种夸张的反应。
但是现在,脏牛的破坏力似乎已经超出了他们的预期。不过,要利用脏牛还是很难的,因为只有在多种条件都得到满足的前提下,才能触发内核的竞争条件,但是脏牛的危险仍然存在。自从脏牛被发现以来,Linux内核团队已修复多个发行版本。
猜你喜欢
- 2024-10-27 NDK开发——FFmpeg视频解码 ffmpeg ndk
- 2024-10-27 Camera基本代码架构 camera calibrator
- 2024-10-27 android 功耗分析方法和优化(1) 功耗app
- 2024-10-27 Cocos Creator v2.3.2 发布了!全新 Launcher 效率飞起!
- 2024-10-27 如何androd动态注册编写计算器 淘宝动态评分计算器在线
- 2024-10-27 高通平台OV8856 Camera的bring up总结
- 2024-10-27 高通平台移植GC2145 Camera驱动 高通驱动安装
- 2024-10-27 《坎公骑冠剑》光炮Android Mk.99技能与背景故事
- 2024-10-27 ubuntu移植libwebp到Android平台 ubuntu移植到arm
- 2024-10-27 步步为营,十分钟学会 Native JNI(附带彩蛋)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)