§.前言
這篇文章主要針對一些對網絡安全感興趣、同時又還不怎麼熟悉Unix入侵和防范的朋友們而寫的一篇文章。本文循序漸進地介紹了黑客攻擊Unix主機的主要方法和系統管理員如何針對這些方法進行有效的防御等。
§.Unix的特點
Unix能流行起來絕對不是偶然的,這跟Unix本身的特點之突出是分不開的特點,那就是:1、極強的可移植性;2、啟動異步進程的能力;3、一致的文件、設備和進程間I/O;5、層次化的文件系統;6、可用其它Shell來替代默認Shell的能力; 7、真正的多用戶和多任務。
列位注意,通常的Unix系統用戶有兩種:根用戶和普通用戶。
1.root——根用戶
這是SuperUser(超級用戶)的帳號,可以用這個帳號對本系統進行所有操作!獲得對系統的根訪問權限,也是黑客們拼命追求的終極目標。
2.普通用戶
給User(普通用戶)使用,具體權限由root分配的賬戶。可以有多個等級。黑客們多由此類賬戶開始試圖進入系統,如下例就是如此。
§.攻擊Unix系統的范例
先補了一些關於Unix的知識,下面我們要開始小試牛刀了。我們的攻擊平台是一台安裝了Redhat 6.0(內核版本2.2.5-15)的工作站(當然Win9x/Win2000上也可以試試啰!)。
聲明:本文中的目標主機的IP分別是202.202.0.8、202.103.10.110和211.50.33.117,以上IP純屬本人杜撰。如該IP所屬主機確實存在,則純屬巧合。
開始啦!
“又死機了!這是什麼爛東西?可惡!”我憤怒地猛擊鍵盤“還號稱全智能化軟件……給您‘身臨其境的美妙體驗’……,完全是放P!”我怒吼著。才買幾天的英語學習軟件就頻頻死機,而且花去了不菲的xxx大元人民幣,使我有一種徹底受騙的感覺。“你這個騙子,我非要給你點厲害看看,看你還到處騙人!”我一邊憤憤地叫著,一邊抄下了包裝盒上那個“騙子”軟件公司的網址:www.shitsoft.com.cn 。當夜無話。
第二天。忙了一早上,直到中午吃完中餐後才閒下來,眾人皆昏昏然欲見周公,我則坐到我的紅帽子旁,開始了正義的懲罰……
首先找一台Proxy,這樣就不會被反查法給抓到了。^_^ 不知原來那台韓國的“公雞”還在不在?試一試:
bash# telnet 211.50.33.117
Red Hat Linux release 6.2 (Goozer)
Kernel 2.2.14-5.0 on an i686
login:crossbow
password:
bash$
Ok! 還可以用,這麼長時間沒有理它,竟然還可以用!韓國的管理員真是太“好”了!^_^ 接著ping一下我們的目標,看看它長得啥模樣:
bash$ pwd
/home/crossbow
bash$ ping www.shitsoft.com.cn
Pinging www.shitsoft.com.cn [202.202.0.8] with 32 bytes of data:
Reply from 202.202.0.8: bytes=32 time<10ms TTL=245
Reply from 202.202.0.8: bytes=32 time<10ms TTL=245
Reply from 202.202.0.8: bytes=32 time<10ms TTL=245
Reply from 202.202.0.8: bytes=32 time<10ms TTL=245
Ping statistics for 202.202.0.8:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Detected SunOS
Log cleaning in process....
* Cleaning aculog ( 0 lines)...0 lines removed!
* Cleaning lastlog ( 19789 lines)...45 lines removed!
* Cleaning messages ( 12 lines)...1 lines removed!
* Cleaning messages.0 ( 12 lines)...0 lines removed!
* Cleaning messages.1 ( 28 lines)...0 lines removed!
* Cleaning messages.2 ( 38 lines)...0 lines removed!
* Cleaning messages.3 ( 17 lines)...0 lines removed!
* Cleaning spellhist ( 0 lines)...0 lines removed!
* Cleaning sulog ( 986 lines)...6 lines removed!
* Cleaning utmp ( 179 lines)...1 lines removed!
* Cleaning utmpx ( 387 lines)...1 lines removed!
* Cleaning vold.log ( 0 lines)...0 lines removed!
* Cleaning wtmp ( 299 lines)...0 lines removed!
* Cleaning wtmpx ( 565 lines)...0 lines removed!
* Cleaning authlog ( 0 lines)...0 lines removed!
* Cleaning syslog ( 53 lines)...0 lines removed!
* Cleaning syslog.0 ( 14 lines)...0 lines removed!
* Cleaning syslog.1 ( 64 lines)...0 lines removed!
* Cleaning syslog.2 ( 39 lines)...0 lines removed!
* Cleaning syslog.3 ( 5 lines)...0 lines removed!
* Cleaning syslog.4 ( 3 lines)...0 lines removed!
* Cleaning syslog.5 ( 210 lines)...0 lines removed!
# ./cleaner.sh root
…………
擦干淨後再如法對root賬戶炮制一遍。最後……看了一下手表,哇!13:53了,又要上工了,:-( 以後再來消遣你吧!^_^ 現在,我要上工,你就好好休息啰!嘿嘿!
# /sbin/shutdown now
…………
關機啦!Wow!
§.討論及防范措施
好了!我們從上面的例子可以看出,黑客的攻擊步驟是如下六個步驟:
1.收集資料
2.取得普通用戶的權限
3.遠程登陸
4.取得超級用戶的權限
5.留下後門
6.清除日志
其中最重要,也是最容易被管理員忽視的是第二個步驟。如果能夠得到一個那怕是權限再小的賬戶,黑客也可以利用各種五花八門的漏洞來提升他的權限,並最終獲得root。許多人認為只要對root賬戶加以注意就足夠了,其實不然,如果黑客很容易地進入了主機,那他就會跳過root口令這一攻擊難點,直接利用緩沖區溢出來root(如上面的例子就是這樣)。因此,大家一定要注意對普通賬戶密碼強度的測試和檢查,並強令用戶定期更改。
定期遍歷磁盤檢查.rhosts文件,這個後門十分危險,它可以直接不用口令而遠程登陸。況且現在有不少的工具可以自動掃描這個漏洞,一旦發現一個,黑客們就會像蒼蠅聞到血味一樣蜂擁而至。如果他們像我一樣的“善良”,只玩個shutdown還好說;碰到個把“辣手”黑客來個rm -fr *,你的飯碗估計就會丟了!
定期檢查屬性為-rwsr-sr--的文件。這種文件只要一被user執行,他馬上就會具有和該文件創造者一樣的權限。如果創造者是root的話,結果可想而之。一般黑客們都將shell改成此類屬性然後藏起來,便於下次利用。
不要過分相信日志,因為它很可能是被入侵者加過“工”的。注意留心某些啟動時自動加載的文件的內容和時間,因為它們可能會被植入木馬。如:/etc/rc.d/init.d/network,就是在網絡服務啟動時自動加載的。
使用MD5保護自己的二進制程序。MD5在發現/bin、/sbin等目錄下的文件被替換時會報警或用Email通知管理員,這可以有效地防止假login、假su的誘騙。
使用getsniff和rootkit detector等工具查找系統中是否有嗅探器和rootkit黑客工具包,尤其是rootkit,這玩藝危害無窮。
留心自己的CGI是否有漏洞,現在針對CGI漏洞的掃描工具特別多:如Unix/Linux平台下的messala和hunt等;Win9x/Win2000平台下的Twwwsacn和流光等等。尤其是流光,不論高手還是菜鳥都喜歡用它,真是一副老少皆宜的奇怪景觀。^_^
如果不需要ftp服務,最好關掉它,開著只會後患無窮。黑客可以先將rootkit、特制的su,已修改過屬性的shell放在他自己的ftp服務器上,得到普通賬戶後直接上傳到你的機器上並執行之,他就root了。簡單吧?
最後,你要經常了解是否又有新漏洞出現了,要搶在黑客前面補上它(老生常談了 ^_^)。