本文主要介紹Linux上檢測rootkit的兩種工具: Rootkit Hunter和Chkrootkit.
Rootkit Hunter
中文名叫”Rootkit獵手”, 可以發現大約58個已知的rootkits和一些嗅探器和後門程序. 它通過執行一系列的測試腳本來確認你的機器是否已經感染rootkits. 比如檢查rootkits使用的基本文件, 可執行二進制文件的錯誤文件權限, 檢測內核模塊等等. Rootkit Hunter由Michael Boelen開發, 是開源(GPL)軟件.安裝Rootkit Hunter非常簡單, 從網站下載軟件包, 解壓, 然後以root用戶身份運行installer.sh腳本.成功安裝後, 你可以通過運行下面命令來檢測你的機器是否已感染rootkit:# rkhunter -c 二進制可執行文件rkhunter被安裝到/usr/local/bin目錄, 你需要以root身份來運行該程序. 程序運行後, 它主要執行下面一系列的測試:1. MD5校驗測試, 檢測任何文件是否改動.2. 檢測rootkits使用的二進制和系統工具文件.3. 檢測特洛伊木馬程序的特征碼.4. 檢測大多常用程序的文件異常屬性.5. 執行一些系統相關的測試 - 因為rootkit hunter可支持多個系統平台.6. 掃描任何混雜模式下的接口和後門程序常用的端口.7. 檢測如/etc/rc.d/目錄下的所有配置文件, 日志文件, 任何異常的隱藏文件等等. 例如, 在檢測/dev/.udev和/etc/.pwd.lock文件時候, 我的系統被警告.8. 對一些使用常用端口的應用程序進行版本測試. 如: Apache Web Server, Procmail等. 完成上面檢測後, 你的屏幕會顯示掃描結果: 可能被感染的文件, 不正確的MD5校驗文件和已被感染的應用程序. 在我的機器上, 掃描用了175秒. 缺省情況下, rkhunter對系統進行已知的一些檢測. 但是你也可以通過使用’–scan-knownbad-files’來執行未知的錯誤檢測:# rkhunter -c –scan-knownbad-files rkhunter是通過一個含有rootkit名字的數據庫來檢測系統的rootkits漏洞, 所以經常更新該數據庫非常重要, 你可以通過下面命令來更新該數據庫:# rkhunter –update當然最好是通過cron job定期執行上面的命令, 你需要用root用戶添加下面命令到crontab文件:59 23 1 * * echo “Rkhunter update check in progress”;/usr/local/bin/rkhunter –update 上面一行告訴cron程序在每月第一天的下午11:59分執行rkhunter數據庫更新工作, 而且你的root用戶會收到一封結果通知郵件.
Chkrootkit Chkrootkit由Nelson Murilo和Klaus Steding Jessen開發. 與Rootkit Hunter程序不同的是, chrootkit不需要installer安裝程序, 你只需解開軟件包後執行chrootkit即可, 然後將對一些二進制文件進行一系列的測試, 除了與Rootkit Hunter相同的測試外, Chkrootkit還對一些重要的二進制文件進行檢測, 比如搜索入侵者已更改日志文件的特征信息等等. 而且, 如果你想列出已經測試的所有項目, 你可以運行帶有’-l’參數的命令:# chkrootkit -l在測試過程中, 如果你想在屏幕上看到更多有用的信息, 執行下面命令:# chkrootkit -x chkrootkit將在專家模式(eXPert mode)運行.在Linux上組合使用Rootkit Hunter和Chkrootkit工具是檢測rootkis不錯的辦法.