chkrootkit mengatakan / sbin / init terinfeksi, apa artinya?

30

Saya baru-baru ini berlari chkrootkitdan mendapat baris berikut:

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

Apa artinya ini sebenarnya? Saya mendengar ini adalah positif palsu, apa yang sebenarnya terjadi.

Silahkan dan terima kasih.

myusuf3
sumber

Jawaban:

34

Kemungkinan ini adalah false positive karena ada bug di chkrootkit (seharusnya diperbaiki di versi yang lebih baru 0,50-3ubuntu1). Rupanya chkrootkit tidak melakukan pemeriksaan yang cukup ketat.

Lihat: https://bugs.launchpad.net/ubuntu/+source/chkrootkit/+bug/454566

Selain itu Anda dapat mencoba rkhunter yang mirip dengan chkrootkit.

Beberapa informasi lebih lanjut: Untungnya, menjalankan file `chkrootkit` yang menunjukkan kepada kita bahwa chkrootkit hanyalah skrip shell sehingga kita dapat memeriksanya secara langsung.

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

Kuncinya adalah:

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

Sejak versi terbaru Ubuntu, menjalankan perintah itu menghasilkan beberapa keluaran (perlu dijalankan sebagai root atau 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)

Namun, ini bukan infeksi oleh rootkit. Saya juga telah melihat kode rkhunter, dan pemeriksaannya jauh lebih ketat (menguji semua jenis file tambahan yang dipasang oleh rootkit).

Saya telah mengubah baris 1003.100 dalam file chkrootkit untuk tidak melakukan check / proc / 1 / maps (ingat untuk mengambil salinannya terlebih dahulu)

if [ ${SYSTEM} != "HP-UX" ] && ( ${strings} ${ROOTDIR}sbin/init | ${egrep} HOME  ) \
             >/dev/null 2>&1
Simon B
sumber
4
Ini berlaku untuk V0.49 sebagaimana diinstal oleh apt-get. Sepertinya chkrootkit 0.50 ( langsung tersedia dari chkrootkit.org ) memperbaiki false positive ini.
Quog
jika Anda ingin tahu versi mana yang disertakan dengan ubuntu Anda, silakan lihat di: packages.ubuntu.com/search?keywords=chkrootkit
Édouard Lopez
Karena ini muncul dalam pencarian ketika saya memecahkan masalah, saya ingin menyebutkan bahwa ada diskusi lain dengan informasi tambahan di sini: askubuntu.com/questions/597432/…
Cody Sharp
2

Di Kubuntu 13.04 pada 2013-07-31

Berlari:

cat /sbin/init | egrep HOME

Menghasilkan:

Binary file (standard input) matches

DAN

Berlari:

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

Menghasilkan NO output.

Catatan: Menghapus periode menghasilkan output (mengubah "init." Menjadi "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

Jadi nampak bagi saya bahwa bagian yang memeriksa HOME adalah masalahnya.

Jika seseorang dapat membuat asumsi bahwa rkhunter memiliki pemeriksaan yang valid, maka mungkin rute mudahnya adalah dengan menghapus bagian ini dari chkrootkit dan menjalankan rkhunter dan chkrootkit?

pengguna180342
sumber
1
Saya memiliki yang sama di Ubuntu 14,04 32 bit. Jika saya coba strings /sbin/init | grep HOMEsaya dapatkan XDG_CACHE_HOME and XDG_CONFIG_HOMEapakah itu masih positif palsu? Apa tujuan mencari string "HOME" di / sbin / init? Mengapa itu harus positif?
rubo77