Description
Chkrootkit émet cette alerte : Searching for Linux/Ebury - Operation Windigo ssh… Possible Linux/Ebury - Operation Windigo installetd
Déjà, si votre installation est fraîche, ne paniquez pas ; de toute façon, cela ne sert jamais à rien !
Ne paniquez pas si vous venez de mettre-à-jour vers Ubuntu - cela touche les versions 15.10, 16.04 LTS - ( et toutes les distributions basées dessus, telle que Linux Mint) ; et, idem si vous avez eu la bêtise de passer de votre version stable de Debian à une Testing, ou si vous avez fait des màj sur votre Sid !
En effet ce rootkit Ebury, qui sévit depuis 2014, modifie la librairie “libkeyutils”
pour ajouter une option -G
au binaire SSH, et/ou remplace les binaires
liés au projet OpenSSH, tels que ssh, ssh-add, etc…
ce qui permet la prise de contrôle à distance et surtout le vol de données.
SAUF que depuis la version 6.8 d’OpenSSH, l’option ‘-G’ existe !
(c’est même un alias de l’option -T
)
Ce qui fausse le résultat de détection de chkrootkit !
De même la commande suivante fausse le résultat si vous avez une version supérieure ou égale à la 6.8 d’OpenSSH :
$ ssh -G 2>&1 | grep -e illegal -e unknown > /dev/null && echo “System clean” || echo “System infected”
De plus, sachez qu’il existe une déclaration de bogue de faux positif :
Alors comment savoir si c’est un faux positif ou non !?
Analyse
Analyse de SHM
Commençons par analysez votre mémoire partagée SHM, par le biais de la
commande # ipcs -m
… avec des droits admin.
- Si vous n’avez aucun retour, tant mieux…
- sinon, il faut chercher à comprendre ce qu’une telle sortie peut signifier :
- Si vous avez un processus ‘root’, avec un mode 0666 ou 0600, et une taille au moins égale à 3 Mo, vous avez une forte probabilité d’être concerné !
Code : sh
# ipcs -m
------ Shared Memory Segments --------
key shmid owner perms bytes nattch
(...)
0x000010e0 465272836 root 666 3282312 0
Code : sh
# ipcs -m -p
------ Shared Memory Creator/Last-op PIDs --------
shmid owner cpid lpid
(...)
465272836 root 15029 17377
Vérifier qu’un tel processus fonctionne - remplacez par le numéro de pid
que vous avez trouvé - en interrogeant ps
:
Code : sh
# ps aux | grep 15029
root 11531 0.0 0.0 103284 828 pts/0 S+ 16:40 0:00 grep 15029
root 15029 0.0 0.0 66300 1204 ? Ss Jan26 0:00 /usr/sbin/sshd
Le processus en question étant identifié comme ssh, c’est un très bel indicateur de compromission !
Pas la peine d’aller plus loin, si c’est malheureusement votre cas… 😟 😧
Analyse des fichiers
- Vérifions la taille de tous les fichiers dont le nom commence par
libkeyutils.so
dans le répertoire/lib
:# find /lib* -type f -name libkeyutils.so* -exec ls -la {} \;
-rw-r--r-- 1 root root 14256 Dec 10 2015 /lib/x86_64-linux-gnu/libkeyutils.so.1.5
- Recherchons la présence non désirable d’une autre bibliothèque partagée,
dans le répertoire
/lib
, appeléelibns2.so
:# find /lib* -type f -name libns2.so
Sur un système sain, la commande ne retourne rien !
Analyse réseau
-
L’usage du binaire netstat nous permet de nous assurer d’un flux non désiré :
# netstat -nap | grep "@/proc/udevd"
Sur un système sain, vous n’aurez absolument aucun retour ! -
L’autre binaire qui permet de s’assurer d’un flux sain, est l’usage de la commande
tcpdump -p
… qui peut vous dévoiler des informations, telles que : “msg:”Linux/Ebury SSH backdoor data exfiltration…” néanmoins, cela n’est malheureusement pas probant, puisque les récentes versions du rootkit tendent à cacher ce genre d’informations !
Résultat
Si votre système est bel et bien sain, malgré le message de l’outil chkrootkit, tant mieux. Il va vous falloir attendre que le binaire soit corrigé, vous avez donc bel et bien affaire au faux positif. En attendant, continuez de vérifier…
Dans le cas contraire, la seule recommandation valable est la réinstallation complète du système. Profitez-en pour vérifiez que vos stations ne soient pas infectées !
Une fois fait, ne réutilisez pas les mêmes mots-de-passe, changez toutes vos clés SSH, et profitez pour en créer correctement des clés SSH fortes …
Documentation
Si vous avez besoin/voulez plus d’informations sur ce rootkit, il y a deux lectures très intéressantes, en anglais - les informations que je vous restitue en sont tirées - :
- Ebury SSH Rootkit - Frequently Asked Questions du CERT Bund
- OPERATION WINDIGO où l’on découvre que plus d’un OS est affecté, de Linux à *BSD !
Pour information, à ce jour, les outils rkhunter et clamav ne seraient pas capables de le détecter…