web-dev-qa-db-fra.com

chkrootkit dit que / sbin / init est infecté, qu'est-ce que cela signifie?

J'ai récemment lancé chkrootkit et obtenu la ligne suivante:

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

Qu'est-ce que cela signifie exactement? J'ai entendu dire que c'était un faux positif, ce qui se passe exactement.

S'il te plaît et merci.

29
myusuf3

Il est probable que ce soit un faux positif car il y a un bogue dans chkrootkit (censément corrigé dans une version ultérieure 0.50-3ubuntu1). Apparemment, chkrootkit n'effectue pas un contrôle assez rigoureux.

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

De plus, vous pouvez essayer rkhunter, qui est similaire à chkrootkit.

Quelques informations supplémentaires: Heureusement, l’exécution du fichier `quel chkrootkit` nous montre que chkrootkit n’est qu’un script Shell et que nous pouvons l’inspecter directement.

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 ligne clé est:

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

Depuis les versions récentes d’Ubuntu, l’exécution de cette commande produit une sortie (doit s’exécuter en tant que 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)

Cependant, il ne s’agit pas d’une infection par un rootkit. J'ai également examiné le code rkhunter et les vérifications sont beaucoup plus rigoureuses (tests pour toutes sortes de fichiers supplémentaires installés par le rootkit).

J'ai changé les lignes 1003, 1004 dans le fichier chkrootkit pour ne pas vérifier effectuer la vérification de/proc/1/maps (n'oubliez pas de prendre une copie au préalable)

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

Sur Kubuntu 13.04 à partir de 2013-07-31

Fonctionnement:

cat /sbin/init | egrep HOME

Produit:

Binary file (standard input) matches

ET

Fonctionnement:

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

Ne produit AUCUNE sortie.

Remarque: La suppression de la période produit une sortie (en remplaçant "init." Par "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

Il me semble donc que le problème est la vérification de la pièce HOME.

Si l'on peut supposer que rkhunter a une vérification valide, alors la solution de facilité est simplement de supprimer cette section de chkrootkit et d'exécuter rkhunter et chkrootkit?

2
user180342