chkrootkit diz que / sbin / init está infectado, o que isso significa?

28

Recentemente, executei chkrootkit e obtive a seguinte linha:

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

O que isso significa exatamente? Eu ouvi que isso era um falso positivo, o que está acontecendo exatamente.

Por favor e obrigado.

    
por myusuf3 07.02.2011 / 17:56

2 respostas

33

É provável que isso seja um falso positivo, já que há um bug no chkrootkit (supostamente corrigido em uma versão posterior 0.50-3ubuntu1). Aparentemente, o chkrootkit não executa uma verificação suficientemente rigorosa.

Veja: link

Além disso, você pode tentar o rkhunter, que é semelhante ao chkrootkit.

Mais algumas informações: Felizmente, a execução do arquivo 'which chkrootkit' nos mostra que o chkrootkit é apenas um script de shell para que possamos inspecioná-lo diretamente.

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

A linha chave é:

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

Desde as versões recentes do Ubuntu, executar esse comando produz alguma saída (precisa ser executado como root ou 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)

No entanto, isso não é uma infecção por um rootkit. Também observei o código do rkhunter e as verificações são muito mais rigorosas (testando todos os tipos de arquivos adicionais instalados pelo rootkit).

Eu alterei as linhas 1003,1004 no arquivo chkrootkit para não verificar a verificação de / proc / 1 / maps (lembre-se de fazer uma cópia primeiro)

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

No Kubuntu 13.04 a partir de 2013-07-31

Em exibição:

cat /sbin/init | egrep HOME

Produz:

Binary file (standard input) matches

AND

Em exibição:

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

Produz saída de NO.

Nota: A remoção do período produz saída (mudança de "init" para "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

Portanto, parece-me que a parte que verifica o HOME é o problema.

Se alguém puder supor que o rkhunter tem uma verificação válida, talvez a rota mais fácil seja apenas remover essa seção do chkrootkit e executar tanto o rkhunter quanto o chkrootkit?

    
por user180342 01.08.2013 / 05:49