1. 程式人生 > >rootkit後門檢測工具

rootkit後門檢測工具

make 啟動文件 有效 下載 下載軟件 方法 腳本 簡單的 cront

1、 關於rootkit

rootkit是Linux平臺下最常見的一種木馬後門工具,它主要通過替換系統文件來達到入侵和和隱蔽的目的,這種木馬比普通木馬後門更加危險和隱蔽,普通的檢測工具和檢查手段很難發現這種木馬。

rootkit攻擊能力極強,對系統的危害很大,它通過一套工具來建立後門和隱藏行跡,從而讓攻擊者保住權限,以使它在任何時候都可以使用root 權限登錄到系統。

rootkit主要有兩種類型:文件級別和內核級別。

文件級別的rootkit: 一般是通過程序漏洞或者系統漏洞進入系統後,通過修改系統的重要文件來達到隱藏自己的目的。在系統遭受rootkit攻擊後,合法的文件被木馬程序替代,變成了外殼程序,而其內部是隱藏著的後門程序。

通常容易被rootkit替換的系統程序有login、ls、ps、ifconfig、du、find、netstat等。文件級別的rootkit,對系統危害很大,目前最有效的防禦方法是定期對系統重要文件的完整性進行檢查,如Tripwire、aide等。

內核級rootkit: 是比文件級rootkit更高級的一種入侵方式,它可以使攻擊者獲得對系統底層的完全控制權,此時攻擊者可以修改系統內核,進而截獲運行程序向內核提交的命令,並將其重定向到入侵者所選擇的程序並運行此程序。

內核級rootkit主要依附在內核上,它並不對系統文件做任何修改。以防範為主。一般系統鏡像要從官網或可信度高的網站下載鏡像。

2、 RKHunter

rkhunter是Linux系統平臺下的一款開源入侵檢測工具,具有非常全面的掃描範圍,除了能夠檢測各種已知的rootkit特征碼以外,還支持端口掃描、常用程序文件的變動情況檢查。

通過一系列腳本來確認服務器是否已經感染rootkit,主要執行以下測試:

1)MD5校驗測試, 檢測文件是否被改動。

2)檢測rootkits使用的二進制和系統工具文件。

3)檢測特洛伊木馬程序的特征碼。

4)檢測常用程序的文件異常屬性。

5)檢測系統相關。如:啟動文件、系統用戶和組配置、ssh配置、文件系統等。

6)檢測隱藏文件、/etc/rc.d/目錄下的所有配置文件、日誌文件等。

7)檢測Linux內核監控模塊:驅動模塊(LKM)。

8)檢測系統已經啟動的監聽端口:掃描任何混雜模式下的接口和後門程序常用的端口。

9)檢測應用程序版本,如: Apache Web Server, Procmail等。

10)檢測網絡。

1、編譯安裝rkhunter

yum -y install gcc gcc-c++ make cmake glibc-static glibc-utils

wget https://jaist.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.6/rkhunter-1.4.6.tar.gz
tar zxvf rkhunter-1.4.6.tar.gz
cd rkhunter-1.4.6
./installer.sh --install

2.為基本系統程序建立校對樣本,建議系統安裝完成後就建立。

rkhunter --propupd  # 創建樣本

ls /var/lib/rkhunter/db/rkhunter.dat   #樣本文件位置

3、rkhunter的使用及檢測輸出信息說明

執行檢測命令:

rkhunter --check

如果您不想要每個部分都以 Enter 來繼續,想要讓程序自動持續執行,可以使用:

rkhunter --check –sk

檢測過程會分為幾部分

##第一部分:檢測系統命令,主要檢測系統的二進制文件,這些文件最容易被rootkit攻擊;

#[ OK ]表示正常,[ Warning ]表示有異常,[ None found ]未找到

##第二部分:檢測rootkit,主要檢測常見的rootkit程序;

#[ Not found ]表示未感染

##第三部分:特殊或附加檢測:對rootkit文件或目錄檢測、對惡意軟件檢測、對指定內核檢測等

##第四部分:檢測網絡、系統端口、系統啟動文件、系統用戶和組配置、ssh配置、文件系統等

##第五部分:應用程序版本檢測

##第六部分:總結服務器目前的安全狀態

4.在線升級rkhunter

rkhunter是通過一個含有rootkit名字的數據庫來檢測系統的rootkits漏洞, 所以經常更新該數據庫非常重要, 你可以通過下面命令來更新該數據庫:

rkhunter --update

5.檢測最新版本

讓 rkhunter 保持在最新的版本;

rkhunter --versioncheck

6.rkhunter其它用法:自動自行、定向任務執行等

自動執行程序:

rkhunter --check --skip-keypress

加入定時任務:

crontab -e

10 03 * * * /usr/bin/rkhunter --check --skip-keypress >/home/check_rkhunter/chk.txt

3、 chkrookit

1、編譯安裝chkrookit

yum -y install gcc gcc-c++ make cmake glibc-static glibc-utils
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz #下載軟件包
tar zxvf chkrootkit.tar.gz
make sense

#註意,此處為make sense

2、chkrookit的使用

1)Usage: ./chkrootkit [options] [test ...]

Options:

-h 顯示幫助信息

-V 顯示版本信息

-l 顯示測試內容

-d debug模式,顯示檢測過程的相關指令程序

-q 安靜模式,只顯示有問題部分,

-x 高級模式,顯示所有檢測結果

-r dir 設定指定的目錄為根目錄

-p dir1:dir2:dirN 檢測指定目錄

-n 跳過NFS連接的目錄

2)檢測:直接執行chkrootkit命令即可檢測系統

./chkrootkit |grep INFECTED

3)指定使用備份的系統工具檢測:

-p 指定通過哪個檢測路徑檢測

chkrootkit -p /usr/bin/

chkrootkit -p /usr/share/ | grep INFECTED

4、解決思路

如果您的系統經過 rkhunter 的檢測之後,卻發現很多的『紅字』時,該怎麽辦?

基本上,官方網站與一般網管老手的建議都一樣,如果被 rootkit 之類的程序包攻擊後 ( 也就是上一節的檢測表中的第二部分所攻擊時 ),那麽最好直接重新安裝系統, 不要存在說可以移除 rootkit 或者木馬程序的幻想,因為,『隱藏』本來就是 rootkit 與木馬程序的拿手好戲! 我們不知道到底這個 rootkit 或者木馬程序有多剽悍,為了保險起見,還是重灌系統吧!如何重灌?簡單的說:

1.將原主機的網絡線拔除;

2.備份您的數據,最好備份成兩部分,一部份是全部的系統內容,越詳盡越好,包括 binary files 與 logfile 等等, 至於另一部份則可以考慮僅備份重要的數據文件即可!

3.將上個步驟的數據備份(僅重要數據部分!)進行整體的檢查,查看是否有怪異的數據存在(這部分可能會花去不少時間!)

4.重新安裝一部完整的系統,這包括:

o僅安裝需要的套件在服務器上面;

o先進行 簡單的防火墻 設定後才進行聯機;

o以 APT/YUM 之類的工具進行在線更新;

o執行類似 rkhunter/nessus 之類的軟件,檢驗系統是否處在較為安全的狀態

5.將原本的重要數據移動至上個步驟安裝好的系統當中,並啟動原本服務器上面的各項服務;

6.以 rkhunter/nessus 之類的軟件檢驗系統是否處在較為安全的環境,並且加強防火墻的機制!

7.最後,將原本完整備份的數據拿出來進行分析,尤其是 logfile 部分,試圖找出 cracker 是那個服務?那個時間點? 以那個遠程 IP 聯機進入本機等等的信息,並針對該信息研擬預防的方法,並應用在已經運作的機器上。

備份chkrootkit使用的系統命令

chkrootkit在檢測rootkit時使用部分系統命令,如果系統被入侵,那麽依賴的系統命令也可能已經被入侵者替換,從而導致檢測結果不可信。

所以在服務器對外開放前,建議事先備份chkrootkit使用的系統命令,在chkrootkit做系統檢測時使用備份的原始系統命令對rootkit進行檢測可以保證結果可信度。

以下是具體步驟:

#復制系統命令
cp `which ssh awk cut echo find egrep id head ls netstat ps strings sed uname` ./commands

#壓縮檢測用到的系統工具並備份到安全目錄

tar zcvf commands.tar.gz ./commands
sz commands.tar.gz # 下載到本機
rm -rf commands.tar.gz

rootkit後門檢測工具