UNIX系統漏洞及防範措施

來源:互聯網
上載者:User

7.4 UNIX(telnet ftp finger SSH等)系統漏洞及來源於BSD telnet精靈的telnetd存在一個邊界檢查錯誤。在處理telnet協議選項的函數中沒有進行有效邊界檢查,當使用某些選項時,可能發生緩衝區溢位在BSS區,因此攻擊受到一定限制。防範措施

1. 多個Unix系統的telnetd存在緩衝區溢位漏洞

漏洞描述:

來源於BSD telnet精靈的telnetd存在一個邊界檢查錯誤。在處理telnet協議選項的函數中沒有進行有效邊界檢查,當使用某些選項時,可能發生緩衝區溢位在BSS區,因此攻擊受到一定限制。由於攻擊者可以控制的字元是有限的而且溢出發生但是發現者報告說至少在某些系統(FreeBSD/BSDI/NetBSD)下攻擊是切實可行的。

防範措施:

關閉Telnet,換用ssh或openssh;另外,也可安裝廠商的補丁,目前FreeBSD為此發布了相應的補丁。

2.多個Unix系統Taylor UUCP 參數處理錯誤漏洞

漏洞描述:

Taylor UUCP 軟體包中的某些組件在處理命令列參數時存在一個安全性漏洞,可能導致本地攻擊者擷取uucp使用者或者組許可權。問題涉及了uux,uuxqt,uucp程式。對於OpenBSD 2.8系統,攻擊者可以通過覆蓋

/usr//daily的crontab指令碼會定期執行這個程式。

對於RedHat 7.0,攻擊者可以建立任意空檔案,也可以指定在控制台登入時執行的命令。

其他系統也可能受到此問題影響。

測試程式:

zen-parse (zen-parse@gmx.net)提供了如下測試代碼:

(1)建立一個設定檔( /tmp/config.uucp ),允許執行任意命令且允許將檔案拷貝到任意uid/gid uucp

有寫入權限的目錄;

(2)建立一個包含你想執行的命令的命令檔案( /tmp/commands.uucp );

(3)執行下列操作:

$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 跟隨的符號串連

受影響的系統:UnixWare 7.1

漏洞描述:

使用者可以用coredump資料覆蓋系統檔案,存在獲得root許可權的可能性。UnixWare的sgid執行檔案允許dump core(suid不允許)。通過“計算”將要調用的sgid執行檔案的pid,可以從“./core.pid”建立一個符號串連到一個group有寫入權限的檔案。如果能找出與“./.rhosts”或“/etc/hosts.equiv”的關聯,將會有機會得到root許可權。

防範措施:

安裝廠家的補丁程式。

4. UnixWare rtpm安全性漏洞

受影響的系統:UnixWare 7.1

漏洞描述:

Unixware 在管理口令資料庫方面與 Linux/BSD/Solaris 等系統有所不同。除了常規的/etc/passwd 和/etc/shadow檔案外,Unixware還在/etc/security/ia/master和/etc/security/ia/omaster中儲存這些檔案的拷貝。這兩個二進位檔案以與/etc/passwd 和/etc/shadow 不同的格式存放資料。Unixware C 函數可以訪問這些資料。Unixware系統中某些認證程式,如i2odialog精靈,就使用這些檔案而不使用/etc/shadow檔案。

一旦發現了存在可攻擊的sgid sys程式,幾乎就可以完全控制整個系統了。/usr/sbin/rtpm就是一個存在緩衝區溢位(擷取sys組許可權)的程式。利用它的漏洞,攻擊者可以從/etc/security/ia/master檔案中抓取加密口令,或在/etc/security/tcb/privs檔案中插入shell。通過這些方法都不難獲得root許可權。

防範措施:

安裝廠家的補丁程式,可以去廠家的首頁下載。

5. UNIX系統的mtr存在潛在安全性漏洞

漏洞描述:

由Matt Kimball和Roger Wolff開發的“mtr”程式(0.42以下版本)在除了HPUX外的UNIX系統中存在潛在的安全問題。作者原意是通過調用seteuid(getuid())函數來防止利用mtr或其連結庫非法獲得root特權,但由於使用者uid可以通過setuid(0)函數重設為0,攻擊者只需利用在mtr所調用的連結庫中尋找到的緩衝區溢位漏洞,就有可能成功獲得root特權。在修補版本中,seteuid()函數被改為setuid()函數,從而清除了這個潛在安全性漏洞。大多數的Linux發行版本包含了mtr工具的0.28版本。該版本也存在此漏洞,請向各發行商查詢。

防範措施:

升級到mtr-0.42或以上版本。另一個臨時的解決方案是去掉setuid屬性。TurboLinux 6.0.2以上版本中該漏洞已被修補。

6. UnixWare majordomo 安全性漏洞

漏洞描述:

在UnixWare 7.1中預設附帶的majordomo包中存在一個安全性漏洞,允許本機使用者獲得額外的許可權。目前已被測試的majordomo版本是1.94.4.majordomo wrapper允許使用者用“owner”的uid和“daemon”的gid來運行/usr/local/majordomo目錄下的程式。wrapper的屬性被設定為:

-rwsr-xr-x 1 root daemon 6464 Jan 4 1999 /usr/local/majordomo/wrapper

但在執行該程式前,wrapper會先setuid()到“owner”,同時setgid()到“daemon”。

/usr/local/majordomo/resend是一個Perl程式,它沒有正確檢查輸入的參數,因而可能導致安全問題。其中的有問題部分的代碼如下:

-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-

如果我們的第一個參數以“@”開始,resend 將嘗試用 open()函數開啟我們提供的檔案名稱。但是如果檔案名稱個參數是“@|id”,resend就會end的,resend其實是以owner:daemon的身份執行的,所以就可以獲得“owner”使用者和“daemon”組的許可權。

防範措施:

廠家已經有安全補丁,可以去廠家頁面下載。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.