Ответы:
Вероятно, это неверный результат, поскольку в chkrootkit есть ошибка (предположительно исправленная в более поздней версии 0.50-3ubuntu1). Очевидно, chkrootkit не выполняет достаточно строгую проверку.
Смотрите: https://bugs.launchpad.net/ubuntu/+source/chkrootkit/+bug/454566
Кроме того, вы можете попробовать rkhunter, который похож на chkrootkit.
Еще немного информации: К счастью, запуск файла `which chkrootkit` показывает, что chkrootkit - это всего лишь сценарий оболочки, поэтому мы можем проверить его напрямую.
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)
Однако это не заражение руткитом. Я также посмотрел на код rkhunter, и проверки гораздо более строгие (тестирование для всех видов дополнительных файлов, установленных руткитом).
Я изменил строки 1003,1004 в файле chkrootkit, чтобы не проверять, выполнить проверку / 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."
Не производит вывод.
Примечание: удаление периода приводит к выводу (изменение «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?
strings /sbin/init | grep HOME
получить XDG_CACHE_HOME and XDG_CONFIG_HOME
, это все еще ложный положительный результат? Какова цель поиска строки "HOME" в / sbin / init? Почему это должно быть положительным?