Linux后門入侵檢測工具以及最新bash漏洞解決方法

一、什么是rootkit?
rootkit是Linux平臺下最常見的一種木馬后門工具,它主要通過替換系統(tǒng)文件來達到入侵和和隱蔽的目的,這種木馬比普通木馬后門更加危險和隱蔽,普通的檢測工具和檢查手段很難發(fā)現(xiàn)這種木馬。rootkit攻擊能力極強,對系統(tǒng)的危害很大,它通過一套工具來建立后門和隱藏行跡,從而讓攻擊者保住權(quán)限,以使它在任何時候都可以使用root權(quán)限登錄到系統(tǒng)。
rootkit主要有兩種類型:文件級別和內(nèi)核級別,下面分別進行簡單介紹。
1、文件級別rootkit
文件級別的rootkit一般是通過程序漏洞或者系統(tǒng)漏洞進入系統(tǒng)后,通過修改系統(tǒng)的重要文件來達到隱藏自己的目的。在系統(tǒng)遭受rootkit攻擊后,合法的文件被木馬程序替代,變成了外殼程序,而其內(nèi)部是隱藏著的后門程序。通常容易被rootkit替換的系統(tǒng)程序有l(wèi)ogin、ls、ps、ifconfig、du、find、netstat等,其中l(wèi)ogin程序是最經(jīng)常被替換的,因為當(dāng)訪問Linux時,無論是通過本地登錄還是遠程登錄,/bin/login程序都會運行,系統(tǒng)將通過/bin/login來收集并核對用戶的賬號和密碼,而rootkit就是利用這個程序的特點,使用一個帶有根權(quán)限后門密碼的/bin/login來替換系統(tǒng)的/bin/login,這樣攻擊者通過輸入設(shè)定好的密碼就能輕松進入系統(tǒng)。此時,即使系統(tǒng)管理員修改root密碼或者清除root密碼,攻擊者還是一樣能通過root用戶登錄系統(tǒng)。攻擊者通常在進入Linux系統(tǒng)后,會進行一系列的攻擊動作,最常見的是安裝嗅探器收集本機或者網(wǎng)絡(luò)中其他服務(wù)器的重要數(shù)據(jù)。在默認情況下,Linux中也有一些系統(tǒng)文件會監(jiān)控這些工具動作,例如ifconfig命令,所以,攻擊者為了避免被發(fā)現(xiàn),會想方設(shè)法替換其他系統(tǒng)文件,常見的就是ls、ps、ifconfig、du、find、netstat等。如果這些文件都被替換,那么在系統(tǒng)層面就很難發(fā)現(xiàn)rootkit已經(jīng)在系統(tǒng)中運行了。
這就是文件級別的rootkit,對系統(tǒng)維護很大,目前最有效的防御方法是定期對系統(tǒng)重要文件的完整性進行檢查,如果發(fā)現(xiàn)文件被修改或者被替換,那么很可能系統(tǒng)已經(jīng)遭受了rootkit入侵。檢查件完整性的工具很多,常見的有Tripwire、 aide等,可以通過這些工具定期檢查文件系統(tǒng)的完整性,以檢測系統(tǒng)是否被rootkit入侵。
2、內(nèi)核級別的rootkit
內(nèi)核級rootkit是比文件級rootkit更高級的一種入侵方式,它可以使攻擊者獲得對系統(tǒng)底層的完全控制權(quán),此時攻擊者可以修改系統(tǒng)內(nèi)核,進而截獲運行程序向內(nèi)核提交的命令,并將其重定向到入侵者所選擇的程序并運行此程序,也就是說,當(dāng)用戶要運行程序A時,被入侵者修改過的內(nèi)核會假裝執(zhí)行A程序,而實際上卻執(zhí)行了程序B。
內(nèi)核級rootkit主要依附在內(nèi)核上,它并不對系統(tǒng)文件做任何修改,因此一般的檢測工具很難檢測到它的存在,這樣一旦系統(tǒng)內(nèi)核被植入rootkit,攻擊者就可以對系統(tǒng)為所欲為而不被發(fā)現(xiàn)。目前對于內(nèi)核級的rootkit還沒有很好的防御工具,因此,做好系統(tǒng)安全防范就非常重要,將系統(tǒng)維持在最小權(quán)限內(nèi)工作,只要攻擊者不能獲取root權(quán)限,就無法在內(nèi)核中植入rootkit。
二、rootkit后門檢測工具chkrootkit
chkrootkit是一個Linux系統(tǒng)下查找并檢測rootkit后門的工具,它的官方址: http://www.chkrootkit.org/。 chkrootkit沒有包含在官方的CentOS源中,因此要采取手動編譯的方法來安裝,不過這種安裝方法也更加安全。下面簡單介紹下chkrootkit的安裝過程。
1.準(zhǔn)備gcc編譯環(huán)境
對于CentOS系統(tǒng),需要安裝gcc編譯環(huán)境,執(zhí)行下述三條命令:
[root@server ~]# yum -y install gcc-c++
[root@server ~]# yum -y install mak
2、安裝chkrootkit
為了安全起見,建議直接從官方網(wǎng)站下載chkrootkit源碼,然后進行安裝,操作如下:
[root@server ~]# make sense
3、使用chkrootkit
安裝完的chkrootkit程序位于/usr/local/chkrootkit目錄下,執(zhí)行如下命令即可顯示chkrootkit的詳細用法:
[root@server chkrootkit]# /usr/local/chkrootkit/chkrootkit -hchkrootkit各個參數(shù)的含義如下所示。
參數(shù)含義
-h顯示幫助信息
-v顯示版本信息
-l顯示測試內(nèi)容
-ddebug模式,顯示檢測過程的相關(guān)指令程序
-q安靜模式,只顯示有問題的內(nèi)容
-x高級模式,顯示所有檢測結(jié)果
-r dir設(shè)置指定的目錄為根目錄
-p dir1:dir2:dirN指定chkrootkit檢測時使用系統(tǒng)命令的目錄-n跳過NFS連接的目錄
chkrootkit的使用比較簡單,直接執(zhí)行chkrootkit命令即可自動開始檢測系統(tǒng)。下面是某個系統(tǒng)的檢測結(jié)果:
Checking `ls’… INFECTED
Checking `login’… INFECTED
Checking `netstat’… INFECTED
Checking `ps’… INFECTED
Checking `top’… INFECTED
Checking `sshd’… not infected
Checking `syslogd’… not tested
Checking `tar’… not infected
Checking `tcpd’… not infected
Checking `tcpdump’… not infected
Checking `telnetd’… not found
從輸出可以看出,此系統(tǒng)的ifconfig、ls、login、netstat、ps和top命令已經(jīng)被感染。針對被感染rootkit的系統(tǒng),最安全而有效的方法就是備份數(shù)據(jù)重新安裝系統(tǒng)。
4、chkrootkit的缺點
chkrootkit在檢查rootkit的過程中使用了部分系統(tǒng)命令,因此,如果服務(wù)器被黑客入侵,那么依賴的系統(tǒng)命令可能也已經(jīng)被入侵者替換,此時chkrootkit的檢測結(jié)果將變得完全不可信。為了避免chkrootkit的這個問題,可以在服務(wù)器對外開放前,事先將chkrootkit使用的系統(tǒng)命令進行備份,在需要的時候使用備份的原始系統(tǒng)命令讓chkrootkit對rootkit進行檢測。這個過程可以通過下面的操作實現(xiàn):
[root@server share]# tar zcvf commands.tar.gz .commands[root@server share]# rm -rf commands.tar.gz
上面這段操作是在/usr/share/下建立了一個.commands隱藏文件,然后將chkrootkit使用的系統(tǒng)命令進行備份到這個目錄下。為了安全起見,可以將.commands目錄壓縮打包,然后下載到一個安全的地方進行備份,以后如果服務(wù)器遭受入侵,就可以將這個備份上傳到服務(wù)器任意路徑下,然后通過chkrootkit命令的“-p”參數(shù)指定這個路徑進行檢測即可。
三、rootkit后門檢測工具RKHunter
RKHunter是一款專業(yè)的檢測系統(tǒng)是否感染rootkit的工具,它通過執(zhí)行一系列的腳本來確認服務(wù)器是否已經(jīng)感染rootkit。在官方的資料中,RKHunter可以作的事情有:
MD5校驗測試,檢測文件是否有改動
檢測rootkit使用的二進制和系統(tǒng)工具文件
檢測特洛伊木馬程序的特征碼
檢測常用程序的文件屬性是否異常
檢測系統(tǒng)相關(guān)的測試
檢測隱藏文件
檢測可疑的核心模塊LKM
檢測系統(tǒng)已啟動的監(jiān)聽端口
下面詳細講述下RKHunter的安裝與使用。
1、安裝RKHunter
RKHunter的官方網(wǎng)頁地址為:http://www.rootkit.nl/projects/rootkit_hunter.html,建議從這個網(wǎng)站下載RKHunter,這里下載的版本是rkhunter-1.4.0.tar.gz。RKHunter的安裝非常簡單,過程如下:
rkhunter-1.4.0.tar.gz
[root@server ~]# pwd
/root
[root@server ~]# tar -zxvf rkhunter-1.4.0.tar.gz[root@server ~]# cd rkhunter-1.4.0
[root@server rkhunter-1.4.0]# ./installer.sh –layout default –install
這里采用RKHunter的默認安裝方式,rkhunter命令被安裝到了/usr/local/bin目錄下。
2、使用rkhunter指令
rkhunter命令的參數(shù)較多,但是使用非常簡單,直接運行rkhunter即可顯示此命令的用法。下面簡單介紹下rkhunter常用的幾個參數(shù)選項。
[root@server ~]#/usr/local/bin/rkhunter–helpRkhunter常用參數(shù)以及含義如下所示。
參數(shù) 含義
-c, –check必選參數(shù),表示檢測當(dāng)前系統(tǒng)
–configfile <file>使用特定的配置文件
–cronjob作為cron任務(wù)定期運行
–sk, –skip-keypress自動完成所有檢測,跳過鍵盤輸入–summary顯示檢測結(jié)果的統(tǒng)計信息
–update檢測更新內(nèi)容
-V, –version顯示版本信息
–versioncheck檢測最新版本
下面是通過rkhunter對某個系統(tǒng)的檢測示例:
[root@server rkhunter-1.4.0]# /usr/local/bin/rkhunter -c[ Rootkit Hunter version 1.4.0 ]
#下面是第一部分,先進行系統(tǒng)命令的檢查,主要是檢測系統(tǒng)的二進制文件,因為這些文件最容易被rootkit攻擊。顯示OK字樣表示正常,顯示W(wǎng)arning表示有異常,需要引起注意,而顯示“Not found”字樣,一般無需理會
Performing ‘strings’ command checks
Checking ‘strings’ command [ OK ]
Performing ‘shared libraries’ checks
Checking for preloading variables [ None found ]
Checking for preloaded libraries [ None found ]
Checking LD_LIBRARY_PATH variable [ Not found ]
Performing file properties checks
Checking for prerequisites [ Warning ]
/usr/local/bin/rkhunter [ OK ]
/sbin/chkconfig [ OK ]
….(略)….
[Press <ENTER> to continue]
#下面是第二部分,主要檢測常見的rootkit程序,顯示“Not found”表示系統(tǒng)未感染此
Performing check of known rootkit files and directories55808 Trojan – Variant A [ Not found ]
ADM Worm [ Not found ]
AjaKit Rootkit [ Not found ]
Adore Rootkit [ Not found ]
aPa Kit [ Not found ]
Apache Worm [ Not found ]
Ambient (ark) Rootkit [ Not found ]
Balaur Rootkit [ Not found ]
BeastKit Rootkit [ Not found ]
beX2 Rootkit [ Not found ]
BOBKit Rootkit [ Not found ]
….(略)….
[Press <ENTER> to continue]
#下面是第三部分,主要是一些特殊或附加的檢測,例如對rootkit文件或目錄檢測、對惡意軟件檢測以及對指定的內(nèi)核模塊檢測
Suckit Rookit additional checks [ OK ]
Checking for possible rootkit files and directories [ None found ]
Checking for possible rootkit strings [ None found ]
Performing malware checks
Checking running processes for suspicious files [ None found ]
Checking for login backdoors [ None found ]
Checking for suspicious directories [ None found ]
Checking for sniffer log files [ None found ]
Performing Linux specific checks
Checking loaded kernel modules [ OK ]
Checking kernel module names [ OK ]
[Press <ENTER> to continue]
#下面是第四部分,主要對網(wǎng)絡(luò)、系統(tǒng)端口、系統(tǒng)啟動文件、系統(tǒng)用戶和組配置、SSH配置、文件系統(tǒng)等進行檢測
Performing checks on the network ports
Checking for backdoor ports [ None found ]
Performing checks on the network interfacesChecking for promiscuous interfaces [ None found ]
Checking the local host…
Performing system boot checks
Checking for local host name [ Found ]
Checking for system startup files [ Found ]
Checking system startup files for malware [ None found ]
Performing group and account checks
Checking for passwd file [ Found ]
Checking for root equivalent (UID 0) accounts [ None found ]
Checking for passwordless accounts [ None found ]
….(略)….
[Press <ENTER> to continue]
#下面是第五部分,主要是對應(yīng)用程序版本進行檢測
Checking version of GnuPG[ OK ]
Checking version of OpenSSL [ Warning ]
Checking version of OpenSSH [ OK ]
#下面是最后一部分,這個部分其實是上面輸出的一個總結(jié),通過這個總結(jié),可以大概了解服務(wù)器目錄的安全狀態(tài)。
=====================
File properties checks…
Required commands check failed
Files checked: 137
Suspect files: 4
Rootkit checks…
Rootkits checked : 311
Possible rootkits: 0
Applications checks…
Applications checked: 3
Suspect applications: 1
The system checks took: 6 minutes and 41 seconds
在Linux終端使用rkhunter來檢測,最大的好處在于每項的檢測結(jié)果都有不同的顏色顯示,如果是綠色的表示沒有問題,如果是紅色的,那就要引起關(guān)注了。另外,在上面執(zhí)行檢測的過程中,在每個部分檢測完成后,需要以Enter鍵來繼續(xù)。如果要讓程序自動運行,可以執(zhí)行如下命令:
[root@server ~]# /usr/local/bin/rkhunter –check –skip-keypress同時,如果想讓檢測程序每天定時運行,那么可以在/etc/crontab中加入如下內(nèi)容:
30 09 * * * root /usr/local/bin/rkhunter –check –cronjob這樣,rkhunter檢測程序就會在每天的9:30分運行一次。
安全更新:
今天剛剛爆出Bash安全漏洞,SSH bash緊急安全補?。≈匾?!
測試是否存在漏洞,執(zhí)行以下命令:
$ env x=’() { :;}; echo vulnerable’ bash -c “echo this is a test”
vulnerable
this is a test
如果顯示如上,那么,很遺憾,必須立即打上安全補丁修復(fù),臨時解決辦法為:
yum -y update bash
升級bash后,執(zhí)行測試:
bash: warning: x: ignoring function definition attemptbash: error importing function definition for `x’
this is a test
如果顯示如上,表示已經(jīng)修補了漏洞。
以上就是Linux后門入侵檢測工具以及最新bash漏洞解決方法,謝謝閱讀,希望能幫到大家,請繼續(xù)關(guān)注腳本之家,我們會努力分享更多優(yōu)秀的文章。
相關(guān)文章
Fedora Linux 42 穩(wěn)定版發(fā)布: 帶來大量新功能和軟件更新
Fedora 42昨日發(fā)布,這是 Red Hat 贊助開發(fā)的杰出前沿 Linux 發(fā)行版的最新版,包含大量新功能和軟件更新,使其成為 2025 年上半年發(fā)布的一款出色的 Linux 操作系統(tǒng)之一,內(nèi)2025-04-16如何在Linux查看硬盤信息? 查看Linux硬盤大小類型和硬件信息的5種方法
使用Linux系統(tǒng)的過程中,查看和了解硬盤信息是非常重要的工作,尤其是對于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤信息?以下是具體內(nèi)容介紹2025-03-12如何在 Linux 中查看 CPU 詳細信息? 3招輕松查看CPU型號、核心數(shù)和溫度
在日常運維工作中,獲取 CPU 信息是系統(tǒng)運維管理員常見的工作內(nèi)容,無論是為了性能調(diào)優(yōu)、硬件升級還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨樹一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡化,優(yōu)化,現(xiàn)代化,實用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來簡要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機U盤?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個win11裝機u盤,詳細如下2025-02-17Rsnapshot怎么用? 基于Rsync的強大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過 SSH 備份遠程文件,接下來詳細介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時、每天、每周和每月的本地備份,以及如何進2025-02-06Linux Kernel 6.13發(fā)布:附更新內(nèi)容及新特性解讀
Linux 內(nèi)核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡化內(nèi)核搶占邏輯,通過減少與調(diào)度器相關(guān)的調(diào)用次數(shù),讓內(nèi)核在運行時表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領(lǐng)創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預(yù)覽版發(fā)布
今日,深度操作系統(tǒng)正式推出deepin 25 Preview版本,該版本集成了五大核心特性:磐石系統(tǒng)、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系統(tǒng)2025-01-18Linux Mint Xia 22.1重磅發(fā)布: 重要更新一覽
Beta 版 Linux Mint“Xia” 22.1 發(fā)布,新版本基于 Ubuntu 24.04,內(nèi)核版本為 Linux 6.8,這次更新帶來了諸多優(yōu)化和改進,進一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領(lǐng)域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來看看詳細安裝指南2025-01-16