亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

入侵實例看虛擬主機系統的安全問題(下)
2007-03-02   黑白網絡

由一次入侵實例看虛擬主機系統的安全問題(下)

作者: 更新日期:2004-10-31 類別:網絡安全->安全防御 總瀏覽/今日:332/1

雖然到目前為止,我事實上已經控制了他所有的UNIX主機,也早就有了root權限,但root的密碼我還是不知道,這多少還有點不甘心,怎樣來得到這個密碼呢?窮舉當然是一種,但我就算知道了root密碼,也不想要干什么,何必費這么大的勁,所以我決定來一招偷天換日,雖然sysadm很少會從telnet登錄,但他總要有登陸的時候的,而且一登陸肯定要干root才干的事,他必須使用su命令讓自己成為root,使用su命令的時候當然需要輸入root的密碼,我就可從這點入手,做一個假的su來欺騙,讓他先運行的是我寫的su,把他輸入的密碼保存到一個文件上,即使他的密碼是對的,也給他出錯提示,然后刪除我的這個su,他再次運行的就是真正的su了。所以我用sysadm登錄并寫了如下腳本放在他的用戶目錄下,文件名為su

%vi su

#!/bin/sh

echo -n "Password:"

stty -echo;read PASSWD;stty echo

echo "$PASSWD">>/tmp/.password

echo;

echo "Sorry"

rm -fr ~/su

:wq

%chmod 755 su

為了讓他先運行的是我的su而不是系統的su,還需要改變shell的rc文件,所以打開.cshrc 在

set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin)前面增加一個~,

即讓系統在查找命令時首先查找的是自己的目錄,就是放有我寫的su的目錄,變成這個樣子

set path = (~ /sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin)

因為不知道他會使用那個shell,所以每一個rc文件都做了同樣的處理......

最后的結果當然是順利的取得了root的密碼,雖然這個方法看起來很簡陋,容易看穿,但事實上卻是非常的隱蔽,在一個UNIX系統上,輸入密碼是連個*都沒有給你回顯的,管理員去su的時候,一般都是有事,需要很快做好,輸錯一次密碼應該還沒感覺過來,就算之后感覺出來了但我這個su又是運行一次就刪掉了,不像什么木馬后門之類,做完事還大摸大樣的留在那里,而rc文件,一般設置完成之后都很少有去看的,大不了我得到密碼之后改回來就是了,基本上并沒有留下什么痕跡。

實際上,這個入侵的實例,由頭到尾都是極為普通的,沒有什么高技術的成分,也沒有現在人家都喜歡用的什么什么漏洞,什么什么溢出,只是由一個普通用戶的弱口令開始,慢慢的發展到了整個主機群被控于一個入侵者的手中,事實上,操作系統和各種相關服務的本身并沒有什么漏洞,問題主要還是發生在CGI程序的編寫,維護中的疏忽,管理員對安全問題不敏感這些上。在系統本身的漏洞少這點上,應該可以看出,主機一開始是由一些資深的工程師配置,之后也會根據以發現的漏洞做修補,但在以后的管理過程中,是由下一層技術人員負責,這一層的人往往技術面不廣,人家叫干什么就干什么,不會有很大的責任壓力,這樣就把安全問題越捅越大。如果沒有那個備份文件,我根本不能了解那個以root運行的apache的cgi-bin的目錄結構和具體的文件名,因為其他人并沒有r權限。第二個就是suid為root的程序的寫法不夠嚴格(以root運行的apache執行CGI時和suid root是差不多一樣的),在一個虛擬主機上,為了讓用戶可以通過web界面來管理,不得不讓apache以root的身份運行,因為用戶的設置,需要改變很多系統的配置文件,如passwd httpd.conf sendmail.cf 等等,雖然apache的suexe提供了比squid更多安全選項如docroot等,但在這里根本就派不上用場。所以這個CGI應該是每一行代碼都要知道自己是以root運行的,絲毫不得有差錯,但遺憾的是,我見到的大多數服務商的這種CGI都忘記了自己是誰,其寫法和普通的CGI類似,創建的文件大多是設置為666,777,而程序本身的屬性為755,事實上,當apache加入suexec這個功能后,CGI程序本身設置為700,其他文件為400就可以了,可以做到除了自己,任何人不可以讀。如果沒有這個屬性的問題,在上面的實例中,我也不可能在cgi-bin下面創建文件,讓apache去運行,也就無法改變主業,復制文件,修改程序。正是這一步,把整個系統推向了被毀滅的邊緣。第三個問題就老生常談了,人本身的安全意識問題,在幾個服務商的主機上都發現了,同一個服務商,它的結構一樣的不同的主機,某些目錄的權限也不一樣,這個很明顯是在日常的維護中改變的。在維護過程中,對一些微妙的東西不注意,往往也是危險發生的原因,比如那個su,就這樣讓我把root密碼給偷了去。而上面提及的問題,到頭來也是體現在這個問題上,安全似乎沒有大小之分,一個大的遠程溢出可以讓入侵者得到root,但只是一些小小疏忽也可以讓入侵者得到root,但大家往往都把注意力集中在一些系統漏洞的修補上,卻忽視了某些"小問題"。

在目前的技術水平上實現的虛擬主機,這些問題的出現應該說是在所難免的,因為這涉及到了服務商的整個員工隊伍的素質問題,在沒有更好的虛擬主機的實現方法之前,如果從技術方面考慮,我覺得應該在權限方面多下功夫,比如用程序隔一定時間(如一小時)檢查各個重要的目錄、文件是否有被修改,用編譯的程序來代替腳本類型的程序等等,說下去又一長篇大論,本人知識水平有限,為了避免在各位高人面前班門弄斧,就此打住。

熱詞搜索:

上一篇:入侵實例看虛擬主機系統的安全問題(上)
下一篇:LINUX中的郵件安全問題

分享到: 收藏