Linux内核高危漏洞,一个命令可以***所有Linux系统
2011-01-11 17:22
405 查看
在微软本月月经日(8.11)的同一天,国外***taviso和julien公开了可以***所有新旧Linux系统的一个漏洞,包括但不限于RedHat,CentOS,Suse,Debian,Ubuntu,Slackware,Mandriva,Gentoo及其衍生系统。***只需要执行一个命令,就可以通过此漏洞获得root权限,即使开启了SELinux也于事无补。***这个漏洞到底有多简单,下面我们看图说话,有图有真相。
CHANGELOGS:
2009/08/16 chenjun@xfocus提供了debian/ubuntu系统的防御方式。
2009/08/16 根据网友要求添加漏洞详情和exploit下载地址。
2009/08/16 改进防御方式,避免RHEL下的无效防御。感谢小阮MM反馈并提供服务器协助定位解决。
2009/08/16 添加***经验记录。感谢cnbird分享经验。
2009/08/17 修正***经验记录。感谢xiaoyu,wzt指出selinux相关错误。
2009/08/18 增加***经验记录,感谢wzt分享。debian官方发布新版本内核修复此漏洞。
2009/08/18 增加***经验记录,64位系统同样可以被成功***。
2009/08/19 更新防御方式。
如上图所示,利用此漏洞极其简单,并且影响所有的Linux内核,baoz强烈建议系统管理员或安全人员参考下列临时修复方案,以防止Linux系统被*** 。
1、使用Grsecurity或者Pax内核安全补丁,并开启KERNEXEC防护功能。
2、升级到2.6.31-rc6或2.4.37.5以上的内核版本。
3、如果您使用的是RedHa tEnterprise Linux 4/5的系统或Centos4/5的系统,您可以通过下面的操作简单的操作防止被***。
在/etc/modprobe.conf文件中加入下列内容:
install pppox /bin/true
install bluetooth /bin/true
install appletalk /bin/true
install ipx /bin/true
install sctp /bin/true
执行/sbin/lsmod | grep -e ppp -e blue -e app -e ipx -e sct,如果没有输出,你不需要重启,如果有输出,你需要重启系统,才可以对此***免疫。
下图是免疫前后的效果对比图:
4、如果您使用的是Debian或Ubuntu系统,您可以通过下面的操作防止被***(感谢chenjun提供)
cat > /etc/modprobe.d/mitigate-2692.conf << EOM
install ppp_generic /bin/true
install pppoe /bin/true
install pppox /bin/true
install slhc /bin/true
install bluetooth /bin/true
install ipv6 /bin/true
install irda /bin/true
install ax25 /bin/true
install x25 /bin/true
install ipx /bin/true
install appletalk /bin/true
EOM
/etc/init.d/bluez-utils stop
5、sysctl -w vm.mmap_min_addr = 1000
很明显,第三、四、五个方案最简单也相对有效,对业务影响也最小,如果您对编译和安装Linux内核不熟悉,千万不要使用前两个方案,否则您的系统可能永远无法启动。
如果你希望了解漏洞详情,请访问下列URL:
http://archives.neohapsis.com/archives/fulldisclosure/2009-08/0174.html
http://blog.cr0.org/2009/08/linux-null-pointer-dereference-due-to.html
https://bugzilla.redhat.com/show_bug.cgi?id=516949
如果你希望亲手验证此漏洞,你可以下载下列两个代码包测试(有可能导致系统不稳定,当机等现象,后果自负):
http://www.securityfocus.com/data/vulnerabilities/exploits/wunderbar_emporium-3.tgz
http://www.securityfocus.com/data/vulnerabilities/exploits/36038-4.tgz
***经验记录:
1、exp和selinux多多少少有点关系,和内核版本,系统版本也有关系,根据wzt提供的信息Recent kernels with mmap_min_addr support may prevent exploitation if
the sysctl vm.mmap_min_addr is set above zero来看,exp和vm.mmap_min_addr有更紧密的关系,具体如何大家自己去摸索好了。最好的办法是,把所有的RHEL4.x 5.x都装一次,开关selinux,挨个exp一遍。xiaoyu提醒大家,如果改变了exp的状态,首先要重启,其次建议删除老的文件,重新编译一次exp。
2、在selinux开启的情况下,所有版本都可以***,不需要pulseaudio程序,因为selinux会让程序在内存0做映射
。如果没开selinux,则需要pulseaudio来加载exploit.so文件,理论上使用别的可加载so的程序代替pulseaudio也是可以的。如果有些版本打不了,可能是这些版本不让在内存0做映射了。
3、回连的shell溢出虽然可以成功,但uid不是0,解决办法是用一个带pty的shell。这个经验由cnbird提供。
4、64位系统同样可以被成功***。
CHANGELOGS:
2009/08/16 chenjun@xfocus提供了debian/ubuntu系统的防御方式。
2009/08/16 根据网友要求添加漏洞详情和exploit下载地址。
2009/08/16 改进防御方式,避免RHEL下的无效防御。感谢小阮MM反馈并提供服务器协助定位解决。
2009/08/16 添加***经验记录。感谢cnbird分享经验。
2009/08/17 修正***经验记录。感谢xiaoyu,wzt指出selinux相关错误。
2009/08/18 增加***经验记录,感谢wzt分享。debian官方发布新版本内核修复此漏洞。
2009/08/18 增加***经验记录,64位系统同样可以被成功***。
2009/08/19 更新防御方式。
如上图所示,利用此漏洞极其简单,并且影响所有的Linux内核,baoz强烈建议系统管理员或安全人员参考下列临时修复方案,以防止Linux系统被*** 。
1、使用Grsecurity或者Pax内核安全补丁,并开启KERNEXEC防护功能。
2、升级到2.6.31-rc6或2.4.37.5以上的内核版本。
3、如果您使用的是RedHa tEnterprise Linux 4/5的系统或Centos4/5的系统,您可以通过下面的操作简单的操作防止被***。
在/etc/modprobe.conf文件中加入下列内容:
install pppox /bin/true
install bluetooth /bin/true
install appletalk /bin/true
install ipx /bin/true
install sctp /bin/true
执行/sbin/lsmod | grep -e ppp -e blue -e app -e ipx -e sct,如果没有输出,你不需要重启,如果有输出,你需要重启系统,才可以对此***免疫。
下图是免疫前后的效果对比图:
4、如果您使用的是Debian或Ubuntu系统,您可以通过下面的操作防止被***(感谢chenjun提供)
cat > /etc/modprobe.d/mitigate-2692.conf << EOM
install ppp_generic /bin/true
install pppoe /bin/true
install pppox /bin/true
install slhc /bin/true
install bluetooth /bin/true
install ipv6 /bin/true
install irda /bin/true
install ax25 /bin/true
install x25 /bin/true
install ipx /bin/true
install appletalk /bin/true
EOM
/etc/init.d/bluez-utils stop
5、sysctl -w vm.mmap_min_addr = 1000
很明显,第三、四、五个方案最简单也相对有效,对业务影响也最小,如果您对编译和安装Linux内核不熟悉,千万不要使用前两个方案,否则您的系统可能永远无法启动。
如果你希望了解漏洞详情,请访问下列URL:
http://archives.neohapsis.com/archives/fulldisclosure/2009-08/0174.html
http://blog.cr0.org/2009/08/linux-null-pointer-dereference-due-to.html
https://bugzilla.redhat.com/show_bug.cgi?id=516949
如果你希望亲手验证此漏洞,你可以下载下列两个代码包测试(有可能导致系统不稳定,当机等现象,后果自负):
http://www.securityfocus.com/data/vulnerabilities/exploits/wunderbar_emporium-3.tgz
http://www.securityfocus.com/data/vulnerabilities/exploits/36038-4.tgz
***经验记录:
1、exp和selinux多多少少有点关系,和内核版本,系统版本也有关系,根据wzt提供的信息Recent kernels with mmap_min_addr support may prevent exploitation if
the sysctl vm.mmap_min_addr is set above zero来看,exp和vm.mmap_min_addr有更紧密的关系,具体如何大家自己去摸索好了。最好的办法是,把所有的RHEL4.x 5.x都装一次,开关selinux,挨个exp一遍。xiaoyu提醒大家,如果改变了exp的状态,首先要重启,其次建议删除老的文件,重新编译一次exp。
2、在selinux开启的情况下,所有版本都可以***,不需要pulseaudio程序,因为selinux会让程序在内存0做映射
。如果没开selinux,则需要pulseaudio来加载exploit.so文件,理论上使用别的可加载so的程序代替pulseaudio也是可以的。如果有些版本打不了,可能是这些版本不让在内存0做映射了。
3、回连的shell溢出虽然可以成功,但uid不是0,解决办法是用一个带pty的shell。这个经验由cnbird提供。
4、64位系统同样可以被成功***。
相关文章推荐
- 黑客再爆Linux内核高危漏洞 一个命令可以攻击所有Linux系统
- 黑客再爆Linux内核高危漏洞,一个命令可以攻击所有Linux系统
- Linux内核高危漏洞:一个命令可以攻击所有Linux系统
- 黑客再爆Linux内核高危漏洞,一个命令可以攻击所有Linux系统
- 一个命令可以攻击所有的Linux系统
- 黑客再爆Linux内核高危漏洞,一个命令可以攻击所有Linux系统
- 在Linux系统下, 可以用一个命令很容易批量删除.svn的文件夹
- Autojump:一个可以在 Linux 文件系统快速导航的高级 cd 命令
- Autojump:一个可以在 Linux 文件系统快速导航的高级 cd 命令
- 每天一个linux命令目录 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每天一个linux命令。学习的主要参考资料为: 1.《鸟哥的linux私房菜》 2.
- 一个命令修改Linux系统时区
- 移植完linux-3.4.2内核,启动系统后使用命令ifconfig -a查看网络配置只有一个local backloop
- 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站
- Python计算一个目录下的所有文件的md5值,在Linux系统下面
- rbreak 可以在一个文件的所有函数设置断点的GDB命令
- 一个小巧简单的命令可以克隆整个磁盘或者文件系统!
- 一天一个linux命令,这篇文章不错,大家可以看看
- 初识linux chmod命令/函数时我就产生一个有趣疑问:既然chmod可以改变权限, 那即使某用户原来没有某文件的权限, 也可以自己添加权限啊!
- 在Android系统中修改Android.mk使其同时编译rgb2565和rgb2888(向out/host/linux-x86/bin/下新增加一个工具命令)
- linux命令---删除一个目录下的所有文件,但保留一个指定文件