UNIX系統(tǒng)漏洞及防范措施
7.4 UNIX(telnet ftp finger SSH等)系統(tǒng)漏洞及來源于BSD telnet守護(hù)程序的telnetd存在一個(gè)邊界檢查錯(cuò)誤。在處理telnet協(xié)議選項(xiàng)的函數(shù)中沒有進(jìn)行有效的邊界檢查,當(dāng)使用某些選項(xiàng)時(shí),可能發(fā)生緩沖區(qū)溢出在BSS區(qū),因此攻擊受到一定限制。防范措施
1. 多個(gè)Unix系統(tǒng)的telnetd存在緩沖區(qū)溢出漏洞
漏洞描述:
來源于BSD telnet守護(hù)程序的telnetd存在一個(gè)邊界檢查錯(cuò)誤。在處理telnet協(xié)議選項(xiàng)的函數(shù)中沒有進(jìn)行有效的邊界檢查,當(dāng)使用某些選項(xiàng)時(shí),可能發(fā)生緩沖區(qū)溢出在BSS區(qū),因此攻擊受到一定限制。由于攻擊者可以控制的字符是有限的而且溢出發(fā)生但是發(fā)現(xiàn)者報(bào)告說至少在某些系統(tǒng)(FreeBSD/BSDI/NetBSD)下攻擊是切實(shí)可行的。
防范措施:
關(guān)閉Telnet,換用ssh或openssh;另外,也可安裝廠商的補(bǔ)丁,目前FreeBSD為此發(fā)布了相應(yīng)的補(bǔ)丁。
2.多個(gè)Unix系統(tǒng)Taylor UUCP 參數(shù)處理錯(cuò)誤漏洞
漏洞描述:
Taylor UUCP 軟件包中的某些組件在處理命令行參數(shù)時(shí)存在一個(gè)安全漏洞,可能導(dǎo)致本地攻擊者獲取uucp用戶或者組權(quán)限。問題涉及了uux,uuxqt,uucp程序。對于OpenBSD 2.8系統(tǒng),攻擊者可以通過覆蓋
/usr//daily的crontab腳本會(huì)定期執(zhí)行這個(gè)程序。
對于RedHat 7.0,攻擊者可以創(chuàng)建任意空文件,也可以指定在控制臺(tái)登錄時(shí)執(zhí)行的命令。
其他系統(tǒng)也可能受到此問題影響。
測試程序:
zen-parse (zen-parse@gmx.net)提供了如下測試代碼:
(1)創(chuàng)建一個(gè)配置文件( /tmp/config.uucp ),允許執(zhí)行任意命令且允許將文件拷貝到任意uid/gid uucp
有寫權(quán)限的目錄;
(2)創(chuàng)建一個(gè)包含你想執(zhí)行的命令的命令文件( /tmp/commands.uucp );
(3)執(zhí)行下列操作:
$Content$nbsp;THISHOST=`uuname -l`$Content$nbsp;WHEREYOUWANTIT=/var/spool/uucp/${THISHOST}/X./X.${THISHOST}X1337$Content$nbsp;uux ’uucp --config=/tmp/config.uucp /tmp/commands.uucp ’${WHEREYOUWANTIT}
3. UnixWare coredumps 跟隨的符號(hào)連接
受影響的系統(tǒng):UnixWare 7.1
漏洞描述:
用戶可以用coredump數(shù)據(jù)覆蓋系統(tǒng)文件,存在獲得root權(quán)限的可能性。UnixWare的sgid執(zhí)行文件允許dump core(suid不允許)。通過“計(jì)算”將要調(diào)用的sgid執(zhí)行文件的pid,可以從“./core.pid”建立一個(gè)符號(hào)連接到一個(gè)group有寫權(quán)限的文件。如果能找出與“./.rhosts”或“/etc/hosts.equiv”的關(guān)聯(lián),將會(huì)有機(jī)會(huì)得到root權(quán)限。
防范措施:
安裝廠家的補(bǔ)丁程序。
4. UnixWare rtpm安全漏洞
受影響的系統(tǒng):UnixWare 7.1
漏洞描述:
Unixware 在管理口令數(shù)據(jù)庫方面與 Linux/BSD/Solaris 等系統(tǒng)有所不同。除了常規(guī)的/etc/passwd 和/etc/shadow文件外,Unixware還在/etc/security/ia/master和/etc/security/ia/omaster中保存這些文件的拷貝。這兩個(gè)二進(jìn)制文件以與/etc/passwd 和/etc/shadow 不同的格式存放數(shù)據(jù)。Unixware C 函數(shù)可以訪問這些數(shù)據(jù)。Unixware系統(tǒng)中某些認(rèn)證程序,如i2odialog守護(hù)程序,就使用這些文件而不使用/etc/shadow文件。
一旦發(fā)現(xiàn)了存在可攻擊的sgid sys程序,幾乎就可以完全控制整個(gè)系統(tǒng)了。/usr/sbin/rtpm就是一個(gè)存在緩沖區(qū)溢出(獲取sys組權(quán)限)的程序。利用它的漏洞,攻擊者可以從/etc/security/ia/master文件中抓取加密口令,或在/etc/security/tcb/privs文件中插入shell。通過這些方法都不難獲得root權(quán)限。
防范措施:
安裝廠家的補(bǔ)丁程序,可以去廠家的主頁下載。
5. UNIX系統(tǒng)的mtr存在潛在安全漏洞
漏洞描述:
由Matt Kimball和Roger Wolff開發(fā)的“mtr”程序(0.42以下版本)在除了HPUX外的UNIX系統(tǒng)中存在潛在的安全問題。作者原意是通過調(diào)用seteuid(getuid())函數(shù)來防止利用mtr或其鏈接庫非法獲得root特權(quán),但由于用戶uid可以通過setuid(0)函數(shù)重置為0,攻擊者只需利用在mtr所調(diào)用的鏈接庫中尋找到的緩沖區(qū)溢出漏洞,就有可能成功獲得root特權(quán)。在修補(bǔ)版本中,seteuid()函數(shù)被改為setuid()函數(shù),從而清除了這個(gè)潛在安全漏洞。大多數(shù)的Linux發(fā)行版本包含了mtr工具的0.28版本。該版本也存在此漏洞,請向各發(fā)行商查詢。
防范措施:
升級(jí)到mtr-0.42或以上版本。另一個(gè)臨時(shí)的解決方法是去掉setuid屬性。TurboLinux 6.0.2以上版本中該漏洞已被修補(bǔ)。
6. UnixWare majordomo 安全漏洞
漏洞描述:
在UnixWare 7.1中缺省附帶的majordomo包中存在一個(gè)安全漏洞,允許本地用戶獲得額外的權(quán)限。目前已被測試的majordomo版本是1.94.4.majordomo wrapper允許用戶用“owner”的uid和“daemon”的gid來運(yùn)行/usr/local/majordomo目錄下的程序。wrapper的屬性被設(shè)置為:
-rwsr-xr-x 1 root daemon 6464 Jan 4 1999 /usr/local/majordomo/wrapper
但在執(zhí)行該程序前,wrapper會(huì)先setuid()到“owner”,同時(shí)setgid()到“daemon”。
/usr/local/majordomo/resend是一個(gè)Perl程序,它沒有正確檢查輸入的參數(shù),因而可能導(dǎo)致安全問題。其中的有問題部分的代碼如下:
-snip-# If the first argument is "@filename", read the real arguments# from "filename", and shove them onto the ARGV for later processing# by &Getopts()#if ($ARGV[0] =~ /^\@/) {$fn = shift(@ARGV);$fn =~ s/^@//;open(AV, $fn) || die("open(AV, \"$fn\"): $!\nStopped");-snip-
如果我們的第一個(gè)參數(shù)以“@”開始,resend 將嘗試用 open()函數(shù)打開我們提供的文件名。但是如果文件名個(gè)參數(shù)是“@|id”,resend就會(huì)end的,resend其實(shí)是以owner:daemon的身份執(zhí)行的,所以就可以獲得“owner”用戶和“daemon”組的權(quán)限。
防范措施:
廠家已經(jīng)有安全補(bǔ)丁,可以去廠家頁面下載。
【編輯推薦】