Respuestas:
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
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?
strings /sbin/init | grep HOME
¿ XDG_CACHE_HOME and XDG_CONFIG_HOME
sigue 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?