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.
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
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?