chkrootkit dice que / sbin / init está infectado, ¿qué significa eso?

30

Recientemente corrí chkrootkity obtuve la siguiente línea:

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

Que significa exactamente? Escuché que esto era un falso positivo, lo que está sucediendo exactamente.

Por favor y gracias.

myusuf3
fuente

Respuestas:

34

Es probable que esto sea un falso positivo ya que hay un error en chkrootkit (supuestamente corregido en una versión posterior 0.50-3ubuntu1). Aparentemente, chkrootkit no realiza una verificación lo suficientemente rigurosa.

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

Además, puede probar rkhunter, que es similar a chkrootkit.

Información adicional: Afortunadamente, ejecutar el archivo `which chkrootkit` nos muestra que chkrootkit es solo un script de shell para que podamos inspeccionarlo directamente.

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 línea clave es:

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

Desde las versiones recientes de Ubuntu, ejecutar ese comando produce algún resultado (necesita ejecutarse como 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)

Sin embargo, esto no es una infección por un rootkit. También he mirado el código rkhunter, y las comprobaciones son mucho más rigurosas (pruebas para todo tipo de archivos adicionales instalados por el rootkit).

He cambiado las líneas 1003,1004 en el archivo chkrootkit para no verificar realizar la verificación de / proc / 1 / maps (recuerde tomar una copia primero)

if [ ${SYSTEM} != "HP-UX" ] && ( ${strings} ${ROOTDIR}sbin/init | ${egrep} HOME  ) \
             >/dev/null 2>&1
Simon B
fuente
44
Esto se aplica a V0.49 según lo instalado por apt-get. Parece que chkrootkit 0.50 (disponible en chkrootkit.org directamente) corrige este falso positivo.
Quog
si quieres saber qué versión viene con tu ubuntu echa un vistazo a: packages.ubuntu.com/search?keywords=chkrootkit
Édouard Lopez
Debido a que esto surgió en la búsqueda cuando estaba solucionando problemas, quería mencionar que hay otra discusión con información adicional aquí: askubuntu.com/questions/597432/…
Cody Sharp
2

En Kubuntu 13.04 a partir del 2013-07-31

Corriendo:

cat /sbin/init | egrep HOME

Produce:

Binary file (standard input) matches

Y

Corriendo:

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

No produce salida.

Nota: la eliminación del período produce resultados (cambiando "init" a "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

Entonces, me parece que el problema es la parte que verifica INICIO

Si se puede suponer que rkhunter tiene una verificación válida, entonces ¿quizás la ruta fácil sea simplemente eliminar esta sección de chkrootkit y ejecutar tanto rkhunter como chkrootkit?

usuario180342
fuente
1
Tengo lo mismo en Ubuntu 14.04 32 bit. Si lo intento, strings /sbin/init | grep HOME¿ XDG_CACHE_HOME and XDG_CONFIG_HOMEsigue siendo un falso positivo? ¿Cuál es el propósito de buscar la cadena "HOME" en / sbin / init? ¿Por qué debería ser eso positivo?
rubo77