站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

RkHunter-掃瞄主機是否中了 RootKit

前言

[RootKitHunter] 是個能夠偵測作業系統中的檔案是否含有 Rootkits、Backdoors、Sniffers 的好工具,它包含 Shell Script、Perl Modules、Text-Based Databases,它能順利運作在各大 Unix 系統中 (詳細內容可參考 [RootKitHunter 官網說明]) 目前最新版本為 Version 1.3.4

實作環境

安裝及設定

步驟1.安裝 RkHunter 套件

切換至 Ports Tree 路徑安裝 RkHunter 套件

 #cd /usr/ports/security/rkhunter    //切換至安裝路徑
 #make install clean                 //安裝套件並清除安裝過程中產生不必要檔案

步驟2.開始使用 RkHunter

RkHunter 語法及可用參數說明如下

 #rkhunter <parameters>

補充. Rootkit Hunter FAQ 翻譯

Q1.什麼是 Rootkit Hunter?

Ans:

這是一個檢查運作中的 Unix 機器是否有被植入 Rootkits 的工具。

Q2.什麼是 Rootkits?

Ans:

那是指大部分會自我隱藏並用 blackhats / crackers / scriptkiddies 來矇騙系統管理者的工具程式。

Q3.如何安裝 Rootkit Hunter 呢?

Ans:

下載 Tarball 檔案並解壓縮後執行安裝 Script 即可,以下步驟分別為下載、解開、執行安裝 Script。

 #wget http://downloads.rootkit.nl/rkhunter-<version>.tar.gz       //下載
 #tar zxf rkhunter-<version>.tar.gz                                //解壓縮
 #cd rkhunter 
 #./installer.sh                                                   //執行安裝 Script

Q4.RkHunter 顯示系統上有些可疑點,該如何是好?

Ans1:

如果您的系統已經被感染 Rootkit 那幾乎不可能清除它 (換言之它是不乾淨的),請絕對不要相信被感染 Rootkit 的機器,因為「掩藏」就是它的主要目的,推薦您乾淨安裝系統及備份後,繼續以下步驟:

  1. 將主機離線
  2. 備份您的資料 (儘可能備份包括 Binaries 和 Log)
  3. 檢查這些資料完整性
  4. 將您的主機重新安裝
  5. 調查舊記錄文件和可能的被使用的工具,此外,調查在被入侵時有漏洞的服務。

Ans2:

如果檢查失敗,它有可能是您所謂的「假陽性反應」, 有時這會在您改變系統預設設定或相關 Binaries 時發生。如果是這樣請確認:

Q5.Determining OS... Warning: this operating system is not fully supported! 這警告代表什麼意思?

Ans:

這簡單告訴您目前並非所有功能和檢查都可執行,因為對 Script 而言作業系統屬於 unknown (未知) 就像是 md5 本身是可用的,但 md5 hashes 不被這作業系統所支援。如果希望 RkHunter 對新的作業系統能支援,請到網頁上告訴我您所用的作業系統。

Q6.RkHunter 回報有些程式無法找到,該怎辦?

Ans:

有時只是因為您使用 Shell 的 PATH 環境變數並未設定好才沒找到而已。由於沒設定相關路徑,RkHunter 會試著直接執行 Binary 那這時作業系統會從您目前的 Shell PATH 環境變數來找。如果 Binary 沒找到的話,就會出現這錯誤訊息。

Q7.使用 prelinking 更新一些東西之後,再用 RkHunter 檢查時都顯示 BAD 該怎辦?

Ans:

通常 prelinking 資料庫都須重建 (prelinking 會把您的 Binaries 和 Libraries 做最佳化)。這是因為在 Binaries (或 Libraries) 其中的任何一個變更之後,它需要再次把所有相關檔案作最佳化。

若您 OS 是 Red Hat/ Fedora 請執行

 #/etc/cron.daily/prelink

Q8.雖然 RkHunter 指程式有正確的 hashes(=OK),但記錄檔顯示一堆不正確的項目。這可能是什麼原因呢?

Ans:

由於 RkHunter 主程式是 Shell Script 程式,會用到很多小工具程式來讀資料庫 (實際上是 CSV 之類的檔案格式) 您看到的記錄檔是 Debug 資料並包含很多額外資訊。條 Hash 資料庫將會被讀取並和 Binary 的真正 Hash 作比對,(因為每個 Binary 都有不同版本) 所以它會有某些好跟壞的 Hashes。每條 Hash 記錄在 Log 檔中也可用到,因此如果 Hash 結果與該 Binary 不符合的話,它會被記錄在 Log 檔內。若多重 Hashes 結果有其中之一符合的話,您不必擔心那些失敗的東西。

Q9.我要怎麼把 RkHunter 設定為每天自動執行?

Ans:

請將下列內容新增至您的排程檔案(/etc/crontab ),則 Rookit Hunter 就會在每天早上 5:30 執行

 30 5 * * * root </path/to>/rkhunter -c --cronjob (或其他更多選項) 

Q10.我的作業系統不支援 RkHunter 您能解決嗎?

Ans:

這問題很難確定。請上 [RkHunter Contact] 並註明您使用的作業系統 (包括系統架構!)。

Q11.當 RkHunter 有新版本時,我可以得到通知嗎?

Ans:

可以,請在 Freshmeat 訂閱我們的專案,URL 為 [Rootkit Hunter | freshmeat.net]

Q12.從 crontab 中執行 RkHunter 的最好方式是?

Ans:

在 crontab 中加入後面的參數 -c --quiet --cronjob 然後 RkHunter 將會自動執行但沒有顏色輸出跟特殊字元 (-- cronjob)。它只會在找到一些警告或錯誤顯示文字,而這點對於有很多機器必須要管理的您非常好,因為不會有大量且相當數量的郵件。

Q13.我能對這專案的發展幫一些忙嗎?

Ans:

大家都能幫上忙, 但只限於以下條件:

Q14.我喜歡這軟體!我要怎麼感謝您?

Ans:

參考

[ Rootkit Hunter - Protect your machine]

Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com