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

30

J'ai récemment couru chkrootkitet 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.

myusuf3
la source

Réponses:

34

Il est probable que ce soit un faux positif car il y a un bug dans chkrootkit (censé être 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 `which chkrootkit` nous montre que chkrootkit n'est qu'un script shell afin que nous puissions 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 (besoin de 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, ce n'est pas une infection par un rootkit. J'ai également regardé le code rkhunter, et les contrôles sont beaucoup plus rigoureux (test 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 en premier)

if [ ${SYSTEM} != "HP-UX" ] && ( ${strings} ${ROOTDIR}sbin/init | ${egrep} HOME  ) \
             >/dev/null 2>&1
Simon B
la source
4
Cela s'applique à la version 0.49 telle qu'installée par apt-get. Il semble que chkrootkit 0.50 (disponible directement sur chkrootkit.org ) corrige ce faux positif.
Quog
si vous voulez savoir quelle version est fournie avec votre ubuntu, consultez: packages.ubuntu.com/search?keywords=chkrootkit
Édouard Lopez
Parce que cela est apparu lors de la recherche lors du dépannage, je voulais mentionner qu'il y a une autre discussion avec des informations supplémentaires ici: askubuntu.com/questions/597432/…
Cody Sharp
2

Sur Kubuntu 13.04 à compter du 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 (changer "init." En "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 la partie vérifiant HOME est le problème.

Si l'on peut faire l'hypothèse que rkhunter a une vérification valide, alors peut-être que la solution la plus simple consiste simplement à supprimer cette section de chkrootkit et à exécuter à la fois rkhunter et chkrootkit?

user180342
la source
1
J'ai la même chose sur Ubuntu 14.04 32 bits. Si j'essaie, strings /sbin/init | grep HOMEj'obtiens XDG_CACHE_HOME and XDG_CONFIG_HOMEest-ce toujours un faux positif? Quel est le but de la recherche de la chaîne "HOME" dans / sbin / init? Pourquoi cela devrait-il être positif?
rubo77