脏牛漏洞影响范围(脏牛漏洞影响超想象)
上周,研究人员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内核团队已修复多个发行版本。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com