Les logiciels malveillants pour Linux sont en hausse et atteignent leur niveau le plus élevé
Jusqu’à récemment, en comparaison avec Windows, les défenseurs du système d’exploitation Linux se complimentaient d’être largement ignorés par les cybercriminels. Cependant, les nouvelles données montrent que les tendances des cyberattaques sont en train de changer. Selon les données présentées par l’équipe d’Atlas VPN, le nombre de nouveaux logiciels malveillants Linux a atteint un niveau record au premier semestre 2022, puisque près de 1,7 million d’échantillons ont été découverts. Cette semaine, des chercheurs ont dévoilé une nouvelle souche de logiciel malveillant Linux qui se distingue par sa furtivité et sa sophistication dans l’infection des serveurs traditionnels et des petits appareils de l’Internet des objets.
Par rapport à la même période de l’année dernière, où 226 324 échantillons ont été découverts, le nombre de nouveaux logiciels malveillants Linux a explosé de près de 650 %. Si l’on examine le nombre de nouveaux échantillons de logiciels malveillants Linux trimestre par trimestre, au premier trimestre de cette année, il a baissé de 2 %, passant de 872 165 au quatrième trimestre 2021 à 854 688 au premier trimestre 2022. Au deuxième trimestre, les échantillons de logiciels malveillants ont à nouveau diminué, cette fois de 2,5 %, pour atteindre 833 059.
Cette semaine, des chercheurs ont dévoilé une nouvelle souche de logiciel malveillant Linux qui se distingue par sa furtivité et sa sophistication dans l’infection des serveurs traditionnels et des petits appareils de l’Internet des objets. Baptisé Shikitega par les chercheurs d’AT&T Alien Labs qui l’ont découvert, ce logiciel malveillant est diffusé par le biais d’une chaîne d’infection en plusieurs étapes utilisant un codage polymorphe. Il utilise également des services de cloud légitimes pour héberger des serveurs de commande et de contrôle. Ces éléments rendent la détection extrêmement difficile.
« Les acteurs de la menace continuent de chercher de nouvelles façons de diffuser des logiciels malveillants pour rester sous le radar et éviter la détection », a écrit Ofer Caspi, chercheur aux AT&T Alien Labs. « Le logiciel malveillant Shikitega est livré de manière sophistiquée, il utilise un encodeur polymorphe, et il livre progressivement sa charge utile où chaque étape ne révèle qu’une partie de la charge utile totale. En outre, le malware abuse de services d’hébergement connus pour héberger ses serveurs de commande et de contrôle. »
- Le logiciel malveillant télécharge et exécute le meterpreter “Mettle” de Metasploit pour maximiser son contrôle sur les machines infectées ;
- Shikitega exploite les vulnérabilités du système pour obtenir des privilèges élevés, persister et exécuter le crypto miner ;
- Le malware utilise un encodeur polymorphe pour le rendre plus difficile à détecter par les moteurs antivirus ;
- Shikitega abuse des services légitimes de cloud computing pour stocker certains de ses serveurs de commande et de contrôle (C&C).
Le logiciel malveillant télécharge et exécute ‘Mettle’, un compteur-préteur Metasploit qui permet à l’attaquant d’utiliser une large gamme d’attaques telles que le contrôle de la webcam, le renifleur, plusieurs shells inversés (tcp/http..), le contrôle du processus, l’exécution de commandes shell et plus encore. En outre, le logiciel malveillant utilise wget pour télécharger et exécuter le dropper de l’étape suivante.
Il s’agit d’une implémentation d’un Meterpreter en code natif, conçu pour la portabilité, l’embarquabilité et la faible utilisation des ressources. Il peut fonctionner sur les plus petites cibles Linux embarquées jusqu’au gros fer, et cible Android, iOS, macOS, Linux et Windows, mais peut être porté sur presque tout environnement compatible POSIX.
De nouveaux logiciels malveillanst comme BotenaGo et EnemyBot illustrent la façon dont les auteurs de malwares intègrent rapidement les vulnérabilités récemment découvertes pour trouver de nouvelles victimes et accroître leur portée. Shikitega utilise une chaîne d’infection en plusieurs couches, dont la première ne contient que quelques centaines d’octets, et chaque module est responsable d’une tâche spécifique, depuis le téléchargement et l’exécution du meterpreter de Metasploit, l’exploitation des vulnérabilités de Linux, la mise en place de la persistance dans la machine infectée jusqu’au téléchargement et à l’exécution d’un cryptomineur.
Le dropper principal du logiciel malveillant est un très petit fichier ELF, dont la taille totale est d’environ 370 octets seulement, alors que la taille réelle de son code est d’environ 300 octets. Le logiciel malveillant utilise l’encodeur polymorphe XOR à rétroaction additive Shikata Ga Nai, qui est l’un des encodeurs les plus populaires utilisés dans Metasploit. À l’aide de cet encodeur, le logiciel malveillant passe par plusieurs boucles de décodage, où une boucle décode la couche suivante, jusqu’à ce que la charge utile finale du shellcode soit décodée et exécutée. Le goujon de l’encodeur est généré sur la base de la substitution dynamique des instructions et de l’ordonnancement dynamique des blocs. De plus, les registres sont sélectionnés dynamiquement.
Après plusieurs boucles de déchiffrement, le code shell de la charge utile finale sera déchiffré et exécuté. Comme le logiciel malveillant n’utilise aucun import, il utilise int 0x80 pour exécuter le syscall approprié. Comme le code principal du dropper est très petit, le malware téléchargera et exécutera des commandes supplémentaires à partir de sa commande et de son contrôle en appelant 102 syscall (sys_socketcall).
Le C&C répondra avec des commandes shell supplémentaires à exécuter. Les premiers octets marqués en bleu sont les commandes shell que le logiciel malveillant va exécuter. La commande reçue téléchargera des fichiers supplémentaires du serveur qui ne seront pas stockés sur le disque dur, mais seront exécutés en mémoire uniquement. Dans d’autres versions du malware, il utilise l’appel système execve pour exécuter /bin/sh avec la commande reçue du C&C.
Le fichier suivant téléchargé et exécuté est un petit fichier ELF supplémentaire (environ 1 ko) codé avec l’encodeur Shikata Ga Nai. Le logiciel malveillant décrypte une commande shell qui sera exécutée en appelant syscall_execve avec ‘/bin/sh” comme paramètre avec le shell déchiffré. Le dropper de deuxième étape décrypte et exécute des commandes shell. La commande shell exécutée va télécharger et exécuter des fichiers supplémentaires. Pour exécuter le dropper de la prochaine et dernière étape, il exploitera deux vulnérabilités de Linux afin de tirer parti des privilèges – CVE-2021-4034 et CVE-2021-3493.
Persistance
Pour assurer sa persistance, le ogiciel malveillant télécharge et exécute un total de 5 scripts shell. Il persiste dans le système en configurant 4 crontabs, deux pour l’utilisateur actuellement connecté et les deux autres pour l’utilisateur root. Il vérifie d’abord si la commande crontab existe sur la machine, et si ce n’est pas le cas, le logiciel malveillant l’installe et lance le service crontab. Pour s’assurer qu’une seule instance fonctionne, il utilise la commande flock avec un fichier de verrouillage /var/tmp/vm.lock.
Un appel à flock() peut bloquer si un verrou incompatible est détenu par un autre processus. Pour faire une demande non bloquante, incluez LOCK_NB (par ORing) avec l’une des opérations ci-dessus. Un même fichier ne peut pas avoir simultanément des verrous partagés et exclusifs.
Les verrous créés par flock() sont associés à une entrée de la table des fichiers ouverts. Cela signifie que les descripteurs de fichiers dupliqués (créés par exemple par fork(2) ou dup(2)) font référence au même verrou, et que ce verrou peut être modifié ou libéré en utilisant n’importe lequel de ces descripteurs. De plus, le verrou est libéré soit par une opération LOCK_UN explicite sur l’un de ces descripteurs dupliqués, soit lorsque tous ces descripteurs ont été fermés.
Si un processus utilise open(2) (ou similaire) pour obtenir plus d’un descripteur pour le même fichier, ces descripteurs sont traités indépendamment par flock(). Une tentative de verrouiller le fichier en utilisant l’un de ces descripteurs de fichier peut être refusée par un verrou que le processus appelant a déjà placé via un autre descripteur.
Un processus ne peut détenir qu’un seul type de verrou (partagé ou exclusif) sur un fichier. Les appels ultérieurs à flock() sur un fichier déjà verrouillé convertiront un verrou existant vers le nouveau mode de verrouillage. Les verrous créés par flock() sont préservés lors d’un execve(2). Un verrou partagé ou exclusif peut être placé sur un fichier indépendamment du mode dans lequel le fichier a été ouvert.
Les logiciels malveillants pour Linux sont en hausse et atteignent leur niveau le plus élevé au premier semestre 2022
Jusqu’à récemment, les cybercriminels ont largement ignoré Linux par rapport à d’autres systèmes d’exploitation plus populaires. Cependant, les nouvelles données montrent que les tendances des cyberattaques sont en train de changer. Selon les données présentées par l’équipe d’Atlas VPN, le nombre de nouveaux logiciels malveillants Linux a atteint un niveau record au premier semestre 2022, puisque près de 1,7 million d’échantillons ont été découverts.
Pourtant, le nombre cumulé de nouveaux échantillons de logiciels malveillants Linux au premier semestre 2022 était supérieur de 31 % au nombre d’échantillons de ce type pour l’ensemble de l’année 2021. En fait, le premier semestre de cette année a enregistré plus de nouveaux échantillons de logiciels malveillants Linux que toute autre année depuis 2008. De tous les mois, c’est le mois d’avril qui a enregistré le plus grand nombre de nouveaux échantillons, soit 400 931.
Les nouveaux logiciels malveillants Windows restent en tête
Bien que Linux soit le seul système d’exploitation à avoir connu une augmentation du nombre de nouveaux échantillons de logiciels malveillants au cours du premier semestre de cette année, c’est Windows qui a enregistré le plus grand nombre de nouvelles applications malveillantes. Au total, 41,4 millions d’échantillons de logiciels malveillants Windows nouvellement programmés ont été identifiés au premier semestre 2022. Par rapport au premier semestre 2021, où ces agrafes étaient au nombre de 63,8 millions, elles ont diminué de 35 %.
Bien que Linux ne détienne que 1 % de la part de marché des systèmes d’exploitation, il occupe la deuxième place de la liste avec 1,7 million de logiciels malveillants au premier semestre 2022. Le système d’exploitation le plus populaire, Android, comptait quant à lui 716 201 échantillons de logiciels malveillants nouvellement développés au premier semestre 2022. Il a également connu la plus forte baisse d’échantillons de logiciels malveillants par rapport à l’année dernière, soit 58 %.
Enfin, macOS a été la cible de 4 922 nouveaux échantillons de logiciels malveillants au cours du premier semestre 2022, soit une baisse de 32 % par rapport aux 7 269 échantillons du premier semestre 2021.
Android occupe 44 % des parts de marché des systèmes d’exploitation, tandis que Windows et OS X ont respectivement 29 % et 6 %.
En somme, si Linux n’est pas aussi populaire parmi les utilisateurs d’ordinateurs que les autres systèmes d’exploitation, il fait fonctionner les systèmes dorsaux de nombreux réseaux, ce qui rend les attaques contre Linux très lucratives. Plus l’adoption de Linux augmentera, plus les attaques contre lui augmenteront.
source : developpez