Jawaban:
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
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?
strings /sbin/init | grep HOME
saya dapatkan XDG_CACHE_HOME and XDG_CONFIG_HOME
apakah itu masih positif palsu? Apa tujuan mencari string "HOME" di / sbin / init? Mengapa itu harus positif?