天天看點

linux安全1

在微軟本月月經日(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分享經驗。

如上圖所示,利用此漏洞極其簡單,并且影響所有的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 slhc /bin/true

install ipv6 /bin/true

install irda /bin/true

install ax25 /bin/true

install x25 /bin/true

EOM

/etc/init.d/bluez-utils stop

很明顯,第三、四個方案最簡單也相對有效,對業務影響也最小,如果您對編譯和安裝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、如果selinux沒開,會報缺少Pulseaudio檔案,實際上根本不需要他,隻是selinux沒開導緻的,用另外一個exp攻擊同樣不成功。從這裡可以總結出來,如果你沒開selinux,在現有的exploit下,不需要做任何操作,也不會受到攻擊。當然,這個是我個人經驗總結,并且隻在RHEL5上驗證過,請各位自己評估風險。順帶說一下,SElinux這東西,預設是開啟的,如果你沒關閉過他。根據我的猜測,可能是exp在bypass selinux那段代碼裡出了點問題。是以說改/etc/selinux/config檔案,禁用selinux,也可以在一定程度上防範公開的exp。

[xiaoruan@localhost wunderbar_emporium]$ ./wunderbar_emporium.sh

 [+] Personality set to: PER_SVR4

Pulseaudio does not exist!

[xiaoruan@localhost run]$ sh run.sh

padlina z lublina!

mprotect: Cannot allocate memory

2、回連的shell溢出雖然可以成功,但uid不是0,解決辦法是用一個帶pty的shell。這個經驗由cnbird提供。

Linux在微軟的月經日爆如此嚴重的漏洞,挺值得紀念的。如果您希望了解本漏洞更多的内幕、八卦和細節,請通路http://baoz.net/linux-sockops-wrap-proto-ops-local-root-exploit/

本文出自 51CTO.COM技術部落格

繼續閱讀