chkrootkit говорит, что / sbin / init инфицирован, что это значит?

Я недавно запустил chkrootkit и получил следующую строку:

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

Что это значит точно? Я слышал, что это был ложный позитив, что именно происходит.

Пожалуйста и спасибо.

30
задан 7 February 2011 в 21:46

2 ответа

Скорее всего, это ложное срабатывание, поскольку в 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
34
ответ дан 7 February 2011 в 21:46

В Kubuntu 13.04 по состоянию на 31.07.2013

Запуск:

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?

2
ответ дан 7 February 2011 в 21:46

Другие вопросы по тегам:

Похожие вопросы: