chkrootkit dice / sbin / init è infetto, cosa significa?


30

Di recente ho corso chkrootkite ottenuto la seguente riga:

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

Cosa significa esattamente? Ho sentito che questo era un falso positivo, cosa sta succedendo esattamente.

Per favore e grazie.

Risposte:


34

È probabile che si tratti di un falso positivo poiché esiste un bug in chkrootkit (presumibilmente corretto in una versione successiva 0.50-3ubuntu1). Apparentemente chkrootkit non esegue un controllo abbastanza rigoroso.

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

Inoltre potresti provare rkhunter che è simile a chkrootkit.

Qualche informazione in più: Fortunatamente, eseguendo il file `quale chkrootkit` ci mostra che chkrootkit è solo uno script di shell in modo da poterlo ispezionare direttamente.

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

La linea chiave è:

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

Dalle recenti versioni di Ubuntu, l'esecuzione di quel comando produce un output (è necessario eseguirlo come root o 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)

Tuttavia, questa non è un'infezione da un rootkit. Ho anche esaminato il codice rkhunter e i controlli sono molto più rigorosi (test per tutti i tipi di file aggiuntivi installati dal rootkit).

Ho modificato le righe 1003,1004 nel file chkrootkit per non verificare eseguire il controllo di / proc / 1 / maps (ricordarsi di prendere prima una copia)

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

4
Questo vale per V0.49 installato da apt-get. Sembra che chkrootkit 0.50 (disponibile direttamente da chkrootkit.org ) risolva questo falso positivo.
Quog,

se vuoi sapere quale versione viene fornita con Ubuntu dai un'occhiata a: packages.ubuntu.com/search?keywords=chkrootkit
Édouard Lopez

Poiché questo è emerso
Cody Sharp

2

Su Kubuntu 13.04 a partire dal 2013-07-31

In esecuzione:

cat /sbin/init | egrep HOME

produce:

Binary file (standard input) matches

E

In esecuzione:

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

Non produce output.

Nota: la rimozione del periodo produce output (cambiando "init." In "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

Quindi mi sembra che la parte che controlla HOME sia il problema.

Se si può supporre che rkhunter abbia un controllo valido, allora forse il percorso facile è semplicemente rimuovere questa sezione da chkrootkit ed eseguire sia rkhunter che chkrootkit?


1
Ho lo stesso su Ubuntu 14.04 a 32 bit. Se provo strings /sbin/init | grep HOMEche ottengo XDG_CACHE_HOME and XDG_CONFIG_HOMEè ancora un falso positivo? Qual è lo scopo della ricerca della stringa "HOME" in / sbin / init? Perché dovrebbe essere positivo?
rubo77,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.