一、rootkit簡介
rootkit是Linux平臺下最常見的一種木馬后門工具,它主要通過替換系統文件來達到入侵和和隱蔽的目的,這種木馬比普通木馬后門更加危險和隱蔽,普通的檢測工具和檢查手段很難發現這種木馬。rootkit攻擊能力極強,對系統的危害很大,它通過一套工具來建立后門和隱藏行跡,從而讓攻擊者保住權限,以使它在任何時候都可以使用root權限登錄到系統。
rootkit主要有兩種類型:文件級別和內核級別,下面分別進行簡單介紹。
1、文件級別rootkit
文件級別的rootkit一般是通過程序漏洞或者系統漏洞進入系統后,通過修改系統的重要文件來達到隱藏自己的目的。在系統遭受rootkit攻擊后,合法的文件被木馬程序替代,變成了外殼程序,而其內部是隱藏著的后門程序。通常容易被rootkit替換的系統程序有login、ls、ps、ifconfig、du、find、netstat等,其中login程序是最經常被替換的,因為當訪問Linux時,無論是通過本地登錄還是遠程登錄,/bin/login程序都會運行,系統將通過/bin/login來收集并核對用戶的賬號和密碼,而rootkit就是利用這個程序的特點,使用一個帶有根權限后門密碼的/bin/login來替換系統的/bin/login,這樣攻擊者通過輸入設定好的密碼就能輕松進入系統。此時,即使系統管理員修改root密碼或者清除root密碼,攻擊者還是一樣能通過root用戶登錄系統。攻擊者通常在進入Linux系統后,會進行一系列的攻擊動作,最常見的是安裝嗅探器收集本機或者網絡中其他服務器的重要數據。在默認情況下,Linux中也有一些系統文件會監控這些工具動作,例如ifconfig命令,所以,攻擊者為了避免被發現,會想方設法替換其他系統文件,常見的就是ls、ps、ifconfig、du、find、netstat等。如果這些文件都被替換,那么在系統層面就很難發現rootkit已經在系統中運行了。
這就是文件級別的rootkit,對系統維護很大,目前最有效的防御方法是定期對系統重要文件的完整性進行檢查,如果發現文件被修改或者被替換,那么很可能系統已經遭受了rootkit入侵。檢查件完整性的工具很多,常見的有Tripwire、aide等,可以通過這些工具定期檢查文件系統的完整性,以檢測系統是否被rootkit入侵。
2、內核級別的rootkit
內核級rootkit是比文件級rootkit更高級的一種入侵方式,它可以使攻擊者獲得對系統底層的完全控制權,此時攻擊者可以修改系統內核,進而截獲運行程序向內核提交的命令,并將其重定向到入侵者所選擇的程序并運行此程序,也就是說,當用戶要運行程序A時,被入侵者修改過的內核會假裝執行A程序,而實際上卻執行了程序B。
內核級rootkit主要依附在內核上,它并不對系統文件做任何修改,因此一般的檢測工具很難檢測到它的存在,這樣一旦系統內核被植入rootkit,攻擊者就可以對系統為所欲為而不被發現。目前對于內核級的rootkit還沒有很好的防御工具,因此,做好系統安全防范就非常重要,將系統維持在最小權限內工作,只要攻擊者不能獲取root權限,就無法在內核中植入rootkit。
二、rootkit后門檢測工具chkrootkit
chkrootkit是一個Linux系統下查找并檢測rootkit后門的工具,它的官方址:http://www.chkrootkit.org/。chkrootkit沒有包含在官方的CentOS源中,因此要采取手動編譯的方法來安裝,不過這種安裝方法也更加安全。下面簡單介紹下chkrootkit的安裝過程。
1.準備gcc編譯環境
對于CentOS系統,需要安裝gcc編譯環境,執行下述三條命令:
[root@server~]#yum-yinstallgcc
[root@server~]#yum-yinstallgcc-c++
[root@server~]#yum-yinstallmake
2、安裝chkrootkit
為了安全起見,建議直接從官方網站下載chkrootkit源碼,然后進行安裝,操作如下:
[root@server~]#tarzxvfchkrootkit.tar.gz
[root@server~]#cdchkrootkit-*
[root@server~]#makesense
#注意,上面的編譯命令為makesense
[root@server~]#cd..
[root@server~]#cp-rchkrootkit-*/usr/local/chkrootkit
[root@server~]#rm-rfchkrootkit-*
3、使用chkrootkit
安裝完的chkrootkit程序位于/usr/local/chkrootkit目錄下,執行如下命令即可顯示chkrootkit的詳細用法:
[root@serverchkrootkit]#/usr/local/chkrootkit/chkrootkit?-h
chkrootkit各個參數的含義如下所示。
參數含義
-h顯示幫助信息
-v顯示版本信息
-l顯示測試內容
-ddebug模式,顯示檢測過程的相關指令程序
-q安靜模式,只顯示有問題的內容
-x高級模式,顯示所有檢測結果
-rdir設置指定的目錄為根目錄
-pdir1:dir2:dirN指定chkrootkit檢測時使用系統命令的目錄
-n跳過NFS連接的目錄
chkrootkit的使用比較簡單,直接執行chkrootkit命令即可自動開始檢測系統。下面是某個系統的檢測結果:
[root@serverchkrootkit]#/usr/local/chkrootkit/chkrootkit
Checking`ifconfig'...INFECTED
Checking`ls'...INFECTED
Checking`login'...INFECTED
Checking`netstat'...INFECTED
Checking`ps'...INFECTED
Checking`top'...INFECTED
Checking`sshd'...notinfected
Checking`syslogd'...nottested
Checking`tar'...notinfected
Checking`tcpd'...notinfected
Checking`tcpdump'...notinfected
Checking`telnetd'...notfound
從輸出可以看出,此系統的ifconfig、ls、login、netstat、ps和top命令已經被感染。針對被感染rootkit的系統,最安全而有效的方法就是備份數據重新安裝系統。
4、chkrootkit的缺點
chkrootkit在檢查rootkit的過程中使用了部分系統命令,因此,如果服務器被黑客入侵,那么依賴的系統命令可能也已經被入侵者替換,此時chkrootkit的檢測結果將變得完全不可信。為了避免chkrootkit的這個問題,可以在服務器對外開放前,事先將chkrootkit使用的系統命令進行備份,在需要的時候使用備份的原始系統命令讓chkrootkit對rootkit進行檢測。這個過程可以通過下面的操作實現:
[root@server~]#mkdir/usr/share/.commands
[root@server~]#cp`which--skip-aliasawkcutechofindegrepidheadlsnetstatpsstringsseduname`/usr/share/.commands
[root@server~]#/usr/local/chkrootkit/chkrootkit-p/usr/share/.commands/
[root@servershare]#cd/usr/share/
[root@servershare]#tarzcvfcommands.tar.gz.commands
[root@servershare]#?rm-rfcommands.tar.gz
上面這段操作是在/usr/share/下建立了一個.commands隱藏文件,然后將chkrootkit使用的系統命令進行備份到這個目錄下。為了安全起見,可以將.commands目錄壓縮打包,然后下載到一個安全的地方進行備份,以后如果服務器遭受入侵,就可以將這個備份上傳到服務器任意路徑下,然后通過chkrootkit命令的“-p”參數指定這個路徑進行檢測即可。
三、rootkit后門檢測工具RKHunter
RKHunter是一款專業的檢測系統是否感染rootkit的工具,它通過執行一系列的腳本來確認服務器是否已經感染rootkit。在官方的資料中,RKHunter可以作的事情有:
MD5校驗測試,檢測文件是否有改動
檢測rootkit使用的二進制和系統工具文件
檢測特洛伊木馬程序的特征碼
檢測常用程序的文件屬性是否異常
檢測系統相關的測試
檢測隱藏文件
檢測可疑的核心模塊LKM
檢測系統已啟動的監聽端口
下面詳細講述下RKHunter的安裝與使用。
1、安裝RKHunter
RKHunter的官方網頁地址為:http://www.rootkit.nl/projects/rootkit_hunter.html,建議從這個網站下載RKHunter,這里下載的版本是rkhunter-1.4.0.tar.gz。RKHunter的安裝非常簡單,過程如下:
[root@server~]#ls
rkhunter-1.4.0.tar.gz
[root@server~]#pwd
/root
[root@server~]#tar-zxvfrkhunter-1.4.0.tar.gz
[root@server~]#cdrkhunter-1.4.0
[root@serverrkhunter-1.4.0]#./installer.sh?--layoutdefault--install
這里采用RKHunter的默認安裝方式,rkhunter命令被安裝到了/usr/local/bin目錄下。
2、使用rkhunter指令
rkhunter命令的參數較多,但是使用非常簡單,直接運行rkhunter即可顯示此命令的用法。下面簡單介紹下rkhunter常用的幾個參數選項。
[root@server~]#/usr/local/bin/rkhunter–help
Rkhunter常用參數以及含義如下所示。
參數??????含義
-c,–check必選參數,表示檢測當前系統
–configfile
–cronjob作為cron任務定期運行
–sk,–skip-keypress自動完成所有檢測,跳過鍵盤輸入
–summary顯示檢測結果的統計信息
–update檢測更新內容
-V,–version顯示版本信息
–versioncheck檢測最新版本
下面是通過rkhunter對某個系統的檢測示例:
[root@serverrkhunter-1.4.0]#/usr/local/bin/rkhunter?-c
[RootkitHunterversion1.4.0]
#下面是第一部分,先進行系統命令的檢查,主要是檢測系統的二進制文件,因為這些文件最容易被rootkit攻擊。顯示OK字樣表示正常,顯示Warning表示有異常,需要引起注意,而顯示“Notfound”字樣,一般無需理會
Checkingsystemcommands...
Performing'strings'commandchecks
Checking'strings'command?????????????[OK]
Performing'sharedlibraries'checks
Checkingforpreloadingvariables????????????[Nonefound]
Checkingforpreloadedlibraries????????????[Nonefound]
CheckingLD_LIBRARY_PATHvariable????????[Notfound]
Performingfilepropertieschecks
Checkingforprerequisites???????????????[Warning]
/usr/local/bin/rkhunter?[OK]
/sbin/chkconfig???????????????????[OK]
....(略)....
[Press
#下面是第二部分,主要檢測常見的rootkit程序,顯示“Notfound”表示系統未感染此rootkit
Checkingforrootkits...
Performingcheckofknownrootkitfilesanddirectories
55808Trojan-VariantA????????????????[Notfound]
ADMWorm?????????????????????[Notfound]
AjaKitRootkit????????????????????[Notfound]
AdoreRootkit?????????????????????[Notfound]
aPaKit???????????????????????[Notfound]
ApacheWorm?????????????????????[Notfound]
Ambient(ark)Rootkit??????????????????[Notfound]
BalaurRootkit?????[Notfound]
BeastKitRootkit????????????????????[Notfound]
beX2Rootkit??????????????????????[Notfound]
BOBKitRootkit??????????[Notfound]
....(略)....
[Press
#下面是第三部分,主要是一些特殊或附加的檢測,例如對rootkit文件或目錄檢測、對惡意軟件檢測以及對指定的內核模塊檢測
Performingadditionalrootkitchecks
SuckitRookitadditionalchecks?????????????[OK]
Checkingforpossiblerootkitfilesanddirectories???[Nonefound]
Checkingforpossiblerootkitstrings??????????[Nonefound]
Performingmalwarechecks
Checkingrunningprocessesforsuspiciousfiles?????[Nonefound]
Checkingforloginbackdoors?????????????[Nonefound]
Checkingforsuspiciousdirectories??????????[Nonefound]
Checkingforsnifferlogfiles?????????????[Nonefound]
PerformingLinuxspecificchecks
Checkingloadedkernelmodules??????????[OK]
Checkingkernelmodulenames??????????[OK]
[Press
#下面是第四部分,主要對網絡、系統端口、系統啟動文件、系統用戶和組配置、SSH配置、文件系統等進行檢測
Checkingthenetwork...
Performingchecksonthenetworkports
Checkingforbackdoorports????????????[Nonefound]
Performingchecksonthenetworkinterfaces
Checkingforpromiscuousinterfaces???????????[Nonefound]
Checkingthelocalhost...
Performingsystembootchecks
Checkingforlocalhostname????????????[Found]
Checkingforsystemstartupfiles????????????[Found]
Checkingsystemstartupfilesformalware????????[Nonefound]
Performinggroupandaccountchecks
Checkingforpasswdfile[Found]
Checkingforrootequivalent(UID0)accounts??????[Nonefound]
Checkingforpasswordlessaccounts?????????[Nonefound]
....(略)....
[Press
#下面是第五部分,主要是對應用程序版本進行檢測
Checkingapplicationversions...
CheckingversionofGnuPG[OK]
CheckingversionofOpenSSL????????????[Warning]
CheckingversionofOpenSSH????????????[OK]
#下面是最后一部分,這個部分其實是上面輸出的一個總結,通過這個總結,可以大概了解服務器目錄的安全狀態。
Systemcheckssummary
=====================
Filepropertieschecks...
Requiredcommandscheckfailed
Fileschecked:137
Suspectfiles:4
Rootkitchecks...
Rootkitschecked:311
Possiblerootkits:0
Applicationschecks...
Applicationschecked:3
Suspectapplications:1
Thesystemcheckstook:6minutesand41seconds
在Linux終端使用rkhunter來檢測,最大的好處在于每項的檢測結果都有不同的顏色顯示,如果是綠色的表示沒有問題,如果是紅色的,那就要引起關注了。另外,在上面執行檢測的過程中,在每個部分檢測完成后,需要以Enter鍵來繼續。如果要讓程序自動運行,可以執行如下命令:
[root@server~]#/usr/local/bin/rkhunter–check–skip-keypress
同時,如果想讓檢測程序每天定時運行,那么可以在/etc/crontab中加入如下內容:
3009***root/usr/local/bin/rkhunter–check–cronjob
這樣,rkhunter檢測程序就會在每天的9:30分運行一次。
安全更新:
今天剛剛爆出Bash安全漏洞,SSHbash緊急安全補??!重要!
測試是否存在漏洞,執行以下命令:
$envx='(){:;};echovulnerable'bash-c"echothisisatest"
vulnerable
thisisatest
如果顯示如上,那么,很遺憾,必須立即打上安全補丁修復,
臨時解決辦法為:
yum-yupdatebash
升級bash后,執行測試:
$envx='(){:;};echovulnerable'bash-c"echothisisatest"
bash:warning:x:ignoringfunctiondefinitionattempt
bash:errorimportingfunctiondefinitionfor`x'
thisisatest
如果顯示如上,表示已經修補了漏洞。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
(資料圖片)最新更新:針對暴雪與網易終止合作后游戲廠商爭取代理權一事,據媒體最新消息稱,騰訊方面回應,內部暫時沒有相關消息,暴雪版權的問題建議以暴雪官方回復為準。米哈游則表示,米哈游接手暴雪版權代理為假消息,米哈游自成立以來主打自研游戲,目前尚未有代理運營的游戲項目。11月17日,#暴雪單方宣布與網易停止合作#上熱搜,暴雪娛樂發聲明稱,由于同網易的現有授權協議將在2023年1月23日到期,將暫停在...
【資料圖】對 于 國旗的拼音怎么拼寫聲調_國旗的拼音的知識大家了解嗎?以下就是小編整理的關于國旗的拼音怎么拼寫聲調_國旗的拼音的介紹,希望對大家有幫助!1、首先給“國”字的聲母“G”打蠟。2、然后寫最后的“U”,再寫“O”。3、最后用gu]調標注“uo”。畫4、然后“flag”這個詞先用首字母“Q”拼寫。桃疇5、再寫“l”。6、最后,標出音調[q]。7、國板旗。所以拼音是這樣寫的。本文到此結束,希...
(資料圖片僅供參考)1、軍團再臨第二版,獵人的寵物有三個職業技能(狡猾、兇猛、堅韌)。所有寵物都可以隨意切換。所以其實寵物只有外觀的區別,效果是一樣的。2、在8.0版本中,暴雪發布了藍色貼紙,專門說明獵人寶寶的情況。取消了軍團二次降臨版本中的設定,恢復了之前老版本中的設定,也就是說寵物會根據自己的物種有不同的天賦和技能。3、在8.0版本中,舊的DPS/坦克專精將被移除,所有攻防被動技能將成為所有寵...