一、什么是rootkit?
rootkit是Linux平臺(tái)下最常見(jiàn)的一種木馬后門(mén)工具,它主要通過(guò)替換系統(tǒng)文件來(lái)達(dá)到入侵和和隱蔽的目的,這種木馬比普通木馬后門(mén)更加危險(xiǎn)和隱蔽,普通的檢測(cè)工具和檢查手段很難發(fā)現(xiàn)這種木馬。rootkit攻擊能力極強(qiáng),對(duì)系統(tǒng)的危害很大,它通過(guò)一套工具來(lái)建立后門(mén)和隱藏行跡,從而讓攻擊者保住權(quán)限,以使它在任何時(shí)候都可以使用root權(quán)限登錄到系統(tǒng)。
rootkit主要有兩種類(lèi)型:文件級(jí)別和內(nèi)核級(jí)別,下面分別進(jìn)行簡(jiǎn)單介紹。
1、文件級(jí)別rootkit
文件級(jí)別的rootkit一般是通過(guò)程序漏洞或者系統(tǒng)漏洞進(jìn)入系統(tǒng)后,通過(guò)修改系統(tǒng)的重要文件來(lái)達(dá)到隱藏自己的目的。在系統(tǒng)遭受rootkit攻擊后,合法的文件被木馬程序替代,變成了外殼程序,而其內(nèi)部是隱藏著的后門(mén)程序。通常容易被rootkit替換的系統(tǒng)程序有l(wèi)ogin、ls、ps、ifconfig、du、find、netstat等,其中l(wèi)ogin程序是最經(jīng)常被替換的,因?yàn)楫?dāng)訪問(wèn)Linux時(shí),無(wú)論是通過(guò)本地登錄還是遠(yuǎn)程登錄,/bin/login程序都會(huì)運(yùn)行,系統(tǒng)將通過(guò)/bin/login來(lái)收集并核對(duì)用戶的賬號(hào)和密碼,而rootkit就是利用這個(gè)程序的特點(diǎn),使用一個(gè)帶有根權(quán)限后門(mén)密碼的/bin/login來(lái)替換系統(tǒng)的/bin/login,這樣攻擊者通過(guò)輸入設(shè)定好的密碼就能輕松進(jìn)入系統(tǒng)。此時(shí),即使系統(tǒng)管理員修改root密碼或者清除root密碼,攻擊者還是一樣能通過(guò)root用戶登錄系統(tǒng)。攻擊者通常在進(jìn)入Linux系統(tǒng)后,會(huì)進(jìn)行一系列的攻擊動(dòng)作,最常見(jiàn)的是安裝嗅探器收集本機(jī)或者網(wǎng)絡(luò)中其他服務(wù)器的重要數(shù)據(jù)。在默認(rèn)情況下,Linux中也有一些系統(tǒng)文件會(huì)監(jiān)控這些工具動(dòng)作,例如ifconfig命令,所以,攻擊者為了避免被發(fā)現(xiàn),會(huì)想方設(shè)法替換其他系統(tǒng)文件,常見(jiàn)的就是ls、ps、ifconfig、du、find、netstat等。如果這些文件都被替換,那么在系統(tǒng)層面就很難發(fā)現(xiàn)rootkit已經(jīng)在系統(tǒng)中運(yùn)行了。
這就是文件級(jí)別的rootkit,對(duì)系統(tǒng)維護(hù)很大,目前最有效的防御方法是定期對(duì)系統(tǒng)重要文件的完整性進(jìn)行檢查,如果發(fā)現(xiàn)文件被修改或者被替換,那么很可能系統(tǒng)已經(jīng)遭受了rootkit入侵。檢查件完整性的工具很多,常見(jiàn)的有Tripwire、 aide等,可以通過(guò)這些工具定期檢查文件系統(tǒng)的完整性,以檢測(cè)系統(tǒng)是否被rootkit入侵。
2、內(nèi)核級(jí)別的rootkit
內(nèi)核級(jí)rootkit是比文件級(jí)rootkit更高級(jí)的一種入侵方式,它可以使攻擊者獲得對(duì)系統(tǒng)底層的完全控制權(quán),此時(shí)攻擊者可以修改系統(tǒng)內(nèi)核,進(jìn)而截獲運(yùn)行程序向內(nèi)核提交的命令,并將其重定向到入侵者所選擇的程序并運(yùn)行此程序,也就是說(shuō),當(dāng)用戶要運(yùn)行程序A時(shí),被入侵者修改過(guò)的內(nèi)核會(huì)假裝執(zhí)行A程序,而實(shí)際上卻執(zhí)行了程序B。
內(nèi)核級(jí)rootkit主要依附在內(nèi)核上,它并不對(duì)系統(tǒng)文件做任何修改,因此一般的檢測(cè)工具很難檢測(cè)到它的存在,這樣一旦系統(tǒng)內(nèi)核被植入rootkit,攻擊者就可以對(duì)系統(tǒng)為所欲為而不被發(fā)現(xiàn)。目前對(duì)于內(nèi)核級(jí)的rootkit還沒(méi)有很好的防御工具,因此,做好系統(tǒng)安全防范就非常重要,將系統(tǒng)維持在最小權(quán)限內(nèi)工作,只要攻擊者不能獲取root權(quán)限,就無(wú)法在內(nèi)核中植入rootkit。
二、rootkit后門(mén)檢測(cè)工具chkrootkit
chkrootkit是一個(gè)Linux系統(tǒng)下查找并檢測(cè)rootkit后門(mén)的工具,它的官方址: http://www.chkrootkit.org/。 chkrootkit沒(méi)有包含在官方的CentOS源中,因此要采取手動(dòng)編譯的方法來(lái)安裝,不過(guò)這種安裝方法也更加安全。下面簡(jiǎn)單介紹下chkrootkit的安裝過(guò)程。
1.準(zhǔn)備gcc編譯環(huán)境
對(duì)于CentOS系統(tǒng),需要安裝gcc編譯環(huán)境,執(zhí)行下述三條命令:
2、安裝chkrootkit
為了安全起見(jiàn),建議直接從官方網(wǎng)站下載chkrootkit源碼,然后進(jìn)行安裝,操作如下:
3、使用chkrootkit
安裝完的chkrootkit程序位于/usr/local/chkrootkit目錄下,執(zhí)行如下命令即可顯示chkrootkit的詳細(xì)用法:
[root@server chkrootkit]# /usr/local/chkrootkit/chkrootkit -hchkrootkit各個(gè)參數(shù)的含義如下所示。
參數(shù)含義
-h顯示幫助信息
-v顯示版本信息
-l顯示測(cè)試內(nèi)容
-ddebug模式,顯示檢測(cè)過(guò)程的相關(guān)指令程序
-q安靜模式,只顯示有問(wèn)題的內(nèi)容
-x高級(jí)模式,顯示所有檢測(cè)結(jié)果
-r dir設(shè)置指定的目錄為根目錄
-p dir1:dir2:dirN指定chkrootkit檢測(cè)時(shí)使用系統(tǒng)命令的目錄-n跳過(guò)NFS連接的目錄
chkrootkit的使用比較簡(jiǎn)單,直接執(zhí)行chkrootkit命令即可自動(dòng)開(kāi)始檢測(cè)系統(tǒng)。下面是某個(gè)系統(tǒng)的檢測(cè)結(jié)果:
從輸出可以看出,此系統(tǒng)的ifconfig、ls、login、netstat、ps和top命令已經(jīng)被感染。針對(duì)被感染rootkit的系統(tǒng),最安全而有效的方法就是備份數(shù)據(jù)重新安裝系統(tǒng)。
4、chkrootkit的缺點(diǎn)
chkrootkit在檢查rootkit的過(guò)程中使用了部分系統(tǒng)命令,因此,如果服務(wù)器被黑客入侵,那么依賴的系統(tǒng)命令可能也已經(jīng)被入侵者替換,此時(shí)chkrootkit的檢測(cè)結(jié)果將變得完全不可信。為了避免chkrootkit的這個(gè)問(wèn)題,可以在服務(wù)器對(duì)外開(kāi)放前,事先將chkrootkit使用的系統(tǒng)命令進(jìn)行備份,在需要的時(shí)候使用備份的原始系統(tǒng)命令讓chkrootkit對(duì)rootkit進(jìn)行檢測(cè)。這個(gè)過(guò)程可以通過(guò)下面的操作實(shí)現(xiàn):
上面這段操作是在/usr/share/下建立了一個(gè).commands隱藏文件,然后將chkrootkit使用的系統(tǒng)命令進(jìn)行備份到這個(gè)目錄下。為了安全起見(jiàn),可以將.commands目錄壓縮打包,然后下載到一個(gè)安全的地方進(jìn)行備份,以后如果服務(wù)器遭受入侵,就可以將這個(gè)備份上傳到服務(wù)器任意路徑下,然后通過(guò)chkrootkit命令的“-p”參數(shù)指定這個(gè)路徑進(jìn)行檢測(cè)即可。
三、rootkit后門(mén)檢測(cè)工具RKHunter
RKHunter是一款專(zhuān)業(yè)的檢測(cè)系統(tǒng)是否感染rootkit的工具,它通過(guò)執(zhí)行一系列的腳本來(lái)確認(rèn)服務(wù)器是否已經(jīng)感染rootkit。在官方的資料中,RKHunter可以作的事情有:
MD5校驗(yàn)測(cè)試,檢測(cè)文件是否有改動(dòng)
檢測(cè)rootkit使用的二進(jìn)制和系統(tǒng)工具文件
檢測(cè)特洛伊木馬程序的特征碼
檢測(cè)常用程序的文件屬性是否異常
檢測(cè)系統(tǒng)相關(guān)的測(cè)試
檢測(cè)隱藏文件
檢測(cè)可疑的核心模塊LKM
檢測(cè)系統(tǒng)已啟動(dòng)的監(jiān)聽(tīng)端口
下面詳細(xì)講述下RKHunter的安裝與使用。
1、安裝RKHunter
RKHunter的官方網(wǎng)頁(yè)地址為:http://www.rootkit.nl/projects/rootkit_hunter.html,建議從這個(gè)網(wǎng)站下載RKHunter,這里下載的版本是rkhunter-1.4.0.tar.gz。RKHunter的安裝非常簡(jiǎn)單,過(guò)程如下:
這里采用RKHunter的默認(rèn)安裝方式,rkhunter命令被安裝到了/usr/local/bin目錄下。
2、使用rkhunter指令
rkhunter命令的參數(shù)較多,但是使用非常簡(jiǎn)單,直接運(yùn)行rkhunter即可顯示此命令的用法。下面簡(jiǎn)單介紹下rkhunter常用的幾個(gè)參數(shù)選項(xiàng)。
[root@server ~]#/usr/local/bin/rkhunter–helpRkhunter常用參數(shù)以及含義如下所示。
參數(shù) 含義
-c, –check必選參數(shù),表示檢測(cè)當(dāng)前系統(tǒng)
–configfile file>使用特定的配置文件
–cronjob作為cron任務(wù)定期運(yùn)行
–sk, –skip-keypress自動(dòng)完成所有檢測(cè),跳過(guò)鍵盤(pán)輸入–summary顯示檢測(cè)結(jié)果的統(tǒng)計(jì)信息
–update檢測(cè)更新內(nèi)容
-V, –version顯示版本信息
–versioncheck檢測(cè)最新版本
下面是通過(guò)rkhunter對(duì)某個(gè)系統(tǒng)的檢測(cè)示例:
[root@server rkhunter-1.4.0]# /usr/local/bin/rkhunter -c[ Rootkit Hunter version 1.4.0 ]
#下面是第一部分,先進(jìn)行系統(tǒng)命令的檢查,主要是檢測(cè)系統(tǒng)的二進(jìn)制文件,因?yàn)檫@些文件最容易被rootkit攻擊。顯示OK字樣表示正常,顯示W(wǎng)arning表示有異常,需要引起注意,而顯示“Not found”字樣,一般無(wú)需理會(huì)
#下面是第二部分,主要檢測(cè)常見(jiàn)的rootkit程序,顯示“Not found”表示系統(tǒng)未感染此
#下面是第三部分,主要是一些特殊或附加的檢測(cè),例如對(duì)rootkit文件或目錄檢測(cè)、對(duì)惡意軟件檢測(cè)以及對(duì)指定的內(nèi)核模塊檢測(cè)
#下面是第四部分,主要對(duì)網(wǎng)絡(luò)、系統(tǒng)端口、系統(tǒng)啟動(dòng)文件、系統(tǒng)用戶和組配置、SSH配置、文件系統(tǒng)等進(jìn)行檢測(cè)
#下面是第五部分,主要是對(duì)應(yīng)用程序版本進(jìn)行檢測(cè)
#下面是最后一部分,這個(gè)部分其實(shí)是上面輸出的一個(gè)總結(jié),通過(guò)這個(gè)總結(jié),可以大概了解服務(wù)器目錄的安全狀態(tài)。
在Linux終端使用rkhunter來(lái)檢測(cè),最大的好處在于每項(xiàng)的檢測(cè)結(jié)果都有不同的顏色顯示,如果是綠色的表示沒(méi)有問(wèn)題,如果是紅色的,那就要引起關(guān)注了。另外,在上面執(zhí)行檢測(cè)的過(guò)程中,在每個(gè)部分檢測(cè)完成后,需要以Enter鍵來(lái)繼續(xù)。如果要讓程序自動(dòng)運(yùn)行,可以執(zhí)行如下命令:
[root@server ~]# /usr/local/bin/rkhunter –check –skip-keypress同時(shí),如果想讓檢測(cè)程序每天定時(shí)運(yùn)行,那么可以在/etc/crontab中加入如下內(nèi)容:
30 09 * * * root /usr/local/bin/rkhunter –check –cronjob這樣,rkhunter檢測(cè)程序就會(huì)在每天的9:30分運(yùn)行一次。
安全更新:
今天剛剛爆出Bash安全漏洞,SSH bash緊急安全補(bǔ)?。≈匾?!
測(cè)試是否存在漏洞,執(zhí)行以下命令:
$ env x=’() { :;}; echo vulnerable’ bash -c “echo this is a test”
vulnerable
this is a test
如果顯示如上,那么,很遺憾,必須立即打上安全補(bǔ)丁修復(fù),臨時(shí)解決辦法為:
yum -y update bash
升級(jí)bash后,執(zhí)行測(cè)試:
如果顯示如上,表示已經(jīng)修補(bǔ)了漏洞。
以上就是Linux后門(mén)入侵檢測(cè)工具以及最新bash漏洞解決方法,謝謝閱讀,希望能幫到大家,請(qǐng)繼續(xù)關(guān)注腳本之家,我們會(huì)努力分享更多優(yōu)秀的文章。
標(biāo)簽:銅陵 新余 山南 保定 潛江 衢州 運(yùn)城 麗水
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux后門(mén)入侵檢測(cè)工具以及最新bash漏洞解決方法》,本文關(guān)鍵詞 Linux,后門(mén),入侵檢測(cè),工具,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。