當前位置: 首頁>>技術教程>>正文


chkrootkit說/sbin/init被感染了,這是什麽意思?

, , ,

問題描述

我最近運行了chkrootkit並得到以下行:

Searching for Suckit rootkit...                   Warning: /sbin/init INFECTED

這究竟是什麽意思?我聽說這是誤報,究竟發生了什麽。

謝謝,麻煩您了。

最佳解決方案

這可能是誤報,因為chkrootkit中存在一個錯誤(據說在後來的版本0.50-3ubuntu1中修複)。顯然chkrootkit沒有進行足夠嚴格的檢查。

請參閱:https://bugs.launchpad.net/ubuntu/+source/chkrootkit/+bug/454566

另外你可以嘗試rkhunter,類似於chkrootkit。

更多信息:幸運的是,運行文件`chkrootkit`告訴我們chkrootkit隻是一個shell腳本,所以我們可以直接檢查它。

Searching for Suckit in the file /usr/sbin/chkrootkit we find:
   ### Suckit
   if [ -f ${ROOTDIR}sbin/init ]; then
      if [ "${QUIET}" != "t" ];then printn "Searching for Suckit rootkit... "; fi
      if [ ${SYSTEM} != "HP-UX" ] && ( ${strings} ${ROOTDIR}sbin/init | ${egrep} HOME  || \
              cat ${ROOTDIR}/proc/1/maps | ${egrep} "init." ) >/dev/null 2>&1
        then
        echo "Warning: ${ROOTDIR}sbin/init INFECTED"
      else
         if [ -d ${ROOTDIR}/dev/.golf ]; then
            echo "Warning: Suspect directory ${ROOTDIR}dev/.golf"
         else
            if [ "${QUIET}" != "t" ]; then echo "nothing found"; fi
         fi
      fi
   fi

關鍵是:

cat ${ROOTDIR}/proc/1/maps | ${egrep} "init."

從最新版本的Ubuntu開始,運行該命令會產生一些輸出(需要以root或sudo身份運行):

# sudo cat /proc/1/maps | egrep "init."
b78c2000-b78db000 r-xp 00000000 08:02 271571     /sbin/init (deleted)
b78db000-b78dc000 r--p 00019000 08:02 271571     /sbin/init (deleted)
b78dc000-b78dd000 rw-p 0001a000 08:02 271571     /sbin/init (deleted)

但是,這不是rootkit的感染。我還查看了rkhunter代碼,檢查更嚴格(測試rootkit安裝的各種其他文件)。

我在chkrootkit文件中更改了行1003,1004,不檢查執行/proc /1 /maps的檢查(記得先複製一份)

if [ ${SYSTEM} != "HP-UX" ] && ( ${strings} ${ROOTDIR}sbin/init | ${egrep} HOME  ) \
             >/dev/null 2>&1

次佳解決方案

關於Kubuntu 13.04截至2013-07-31

運行:

cat /sbin/init | egrep HOME

生產:

Binary file (standard input) matches

運行:

cat /proc/1/maps | egrep "init."

產生NO輸出。

注意:刪除周期會產生輸出(將”init.”更改為”init”)

b7768000-b779f000 r-xp 00000000 08:02 399192     /sbin/init
b779f000-b77a0000 r--p 00036000 08:02 399192     /sbin/init
b77a0000-b77a1000 rw-p 00037000 08:02 399192     /sbin/init

因此在我看來,檢查HOME的部分是問題所在。

如果可以假設rkhunter有一個有效的檢查,那麽也許簡單的路徑隻是從chkrootkit中刪除這一部分並運行rkhunter和chkrootkit?

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/6719.html,未經允許,請勿轉載。