Chkrootkit : Possible Linux Ebory Operation Windigo Installed

Article publié, le et modifié le
4 minute(s) de lecture

Cet article contient 815 mots.
Source brute de l'article : MD

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)

ssh(1): Add a -G option to ssh that causes it to parse its configuration and dump the result to stdout, similar to "sshd -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 :

  • pour Debian, #796599, résolu à ce jour… corrigé dans la version 0.50-4
  • pour Ubuntu, #1508248

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… :worried: :anguished:

Analyse des fichiers

  1. 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
Danger
  1. Recherchons la présence non désirable d’une autre bibliothèque partagée, dans le répertoire /lib, appelée libns2.so :
    # find /lib* -type f -name libns2.so
    Sur un système sain, la commande ne retourne rien !

Analyse réseau

  1. 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 !

  2. 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 - :

Pour information, à ce jour, les outils rkhunter et clamav ne seraient pas capables de le détecter…