Linux 的 SCTP再爆远程溢出漏洞,请立即更新。现在确认的是此攻击方式对suse和ubuntu的64位相当有效。
* NOTE: you need at least one sctp application bound on the target box
* Supported target:
* Ubuntu 7.04 x86_64 (2.6.20_15-17-generic / 2.6.20_17-server)
* Ubuntu 8.04 x86_64 (2.6.24_16-23 generic/server)
* Ubuntu 8.10 x86_64 (2.6.27_7-10 geenric/server)
* Fedora Core 10 x86_64 (default installed kernel)
* OpenSuse 11.1 x86_64 (default installed kernel)
udev才过,SCTP接踵而来。看看milw0rm上exp的名字就有点恐怖“Linux Kernel 2.6.x SCTP FWD Memory COrruption Remote Exploit”,稍加留意会看到exp上有这么一行“NOTE: you need at least one sctp application bound onthe targetbox“。看到这一行,心里放心了不少。因为我们知道SCTP不是一个常用的协议,但在电信网络骨干里会经常见到它。多个linux发行版默认也不启用SCTP支持,多是以LKM的形式存在。
所以理论上说要利用这个漏洞就必须满足两个条件:
1、系统默认支持SCTP或者加载sctp LKM。
2、系统有一个sctp用户空间程序监听某个sctp端口。(一般的端口扫描程序无法发现sctp端口。)
但理论归理论,实践才会出真知,对于一个至少是remote dos的漏洞,掺不得一点马虎。
我找了个opensuse11.1回来,做了下试验,发现是可以被DOS,但是前提的确是需要满足我上面说的两个条件。
先看看监听sctp协议的sctp_darn程序开放的端口,注意绿色线部分:
再看下攻击的过程:
在这之后,opensuse就挂起了,但是如果我不运行这个sctp_darn程序, 这个exp是无法导致系统挂起的。如果还不放心,可以执行下面的命令,把sctp.ko删除,放心,你几乎永远都用不上它。rm -f `modprobe -l | grep -wsctp.ko`,最后你可以用lksctp-tools里的checksctp检查下你的系统是否支持sctp。
附带说一下,不少朋友问我cnbeta上的《Linux SCTP再爆爆远程漏洞 请立即更新》是不是我写的。
我的答案是:”不是我写的。如果是的话,为什么网站的链接不写http://baoz.net 呢?“
现在也不早了,明天我们会提供一个SCTP扫描器供管理员使用,以确认自己的网络里到底没有SCTP服务器,最新消息敬请关注 http://baoz.net/linux-sctp/
【编辑推荐】