Quantcast
Channel: Next - Flux Complet
Viewing all articles
Browse latest Browse all 2363

Perfctl, un malware Linux tenace

$
0
0
Perfctl storm
Perfctl, un malware Linux tenace

Hier soir, les chercheurs de la société Aqua Security ont publié un article détaillé sur le malware Perfctl. Ils y mettent en garde les utilisateurs contre ses capacités, qui allient une grande discrétion à une persistance tenace. Sa détection n’est pas assurée et les chercheurs estiment que le nombre de configurations vulnérables se compte en millions.

Le nom du malware, donné par les chercheurs, est un agrégat de Perf, un outil d’analyse des performances, et de ctl, une abréviation courante pour les outils en ligne de commande. Selon Aqua Security, ce logiciel malveillant circule depuis au moins 2021 et serait présent sur au moins plusieurs milliers de configurations, pour l’essentiel des serveurs.

Un roi de l’évasion et de la persistance

Perfctl dispose de nombreuses capacités. Sitôt installé sur une machine, il supprime son binaire et continue de fonctionner comme service en arrière-plan. Parallèlement, il se copie depuis la mémoire vers plusieurs emplacements du stockage. Il se cache derrière des noms a priori anodins, semblables à des fichiers système, pour tromper la vigilance. Aqua Security a résumé ces noms dans un graphique :

Source : Aqua Security

Le malware modifie également le script ~/.profile (configuration de l’environnement à la connexion de l’utilisateur) pour assurer son exécution lors de l’ouverture de session. Il dispose aussi d’un rootkit s’exécutant à tous les redémarrages de l’ordinateur.

Perfctl est en outre discret. En plus des mesures citées précédemment, il peut mettre fin automatiquement à toutes ses activités « bruyantes » quand un utilisateur se connecte sur la machine. Ses différents composants communiquent en interne en ouvrant des sockets Unix et en externe via des relais Tor.

Il sait aussi manipuler le processus pcap_loop (via une technique d’interception) pour empêcher les outils d’administration d’enregistrer le trafic qui pourrait être perçu comme malveillant. Le détournement de pcap_loop participe également à la persistance, en permettant aux activités malveillantes de se poursuivre quand les charges utiles ont été détectées et supprimées. En outre, Perfctl peut supprimer les erreurs mesg pour éviter que des avertissements apparaissent pendant l’exécution.

Une provenance incertaine

Un grand flou entoure Perfctl, en dépit des nombreux détails découverts par les chercheurs. Ils ne savent ni d’où il vient, ni quel groupe malveillant pourrait en être à l’origine. Aqua Security estime cependant que le degré de technicité est très élevé. L’accumulation des méthodes prouve que le ou les auteurs connaissent parfaitement le fonctionnement de Linux.

Il est tout autant difficile de savoir combien de machines sont infectées. Perfctl cherche en premier lieu à exploiter certaines failles, dont CVE-2023-33426, une vulnérabilité critique de dangerosité maximale (10 sur 10) dans Apache RocketMQ. Même s’il n’en trouve pas, il peut quand même passer par d’autres moyens, en exploitant plus de 20 000 erreurs courantes dans les configurations. Dans ce cas, il tente d’exploiter la faille CVE-2021-4043 dans Gpac pour obtenir les droits root.

Source : Aqua Security

La détection est d’autant plus difficile que Perfctl arrête ses activités les plus visibles dès qu’une session est ouverte, comme déjà précisé. Les chercheurs mettent en avant de nombreuses conversations sur des comportements étranges de leurs serveurs, notamment sur Reddit. « Je n’ai pris conscience de l’existence du logiciel malveillant que lorsque ma configuration de surveillance m’a alerté de l’utilisation à 100 % du processeur. Cependant, le processus s’arrêtait immédiatement lorsque je me connectais via SSH ou la console. Dès que je me déconnecte, le logiciel malveillant reprend son cours en quelques secondes ou minutes », écrit ainsi un administrateur.

On trouve d’autres discussions du même type, dans diverses langues, sur des sites comme Stack Overflow, forobeta, brainycp ou encore Proxmox. Sur ces témoignages, les chercheurs d’Aqua ne peuvent être certains qu’il s’agit bien de Perfctl, mais ils indiquent que les symptômes correspondent.

À quoi sert Perfctl ?

Le malware est tenace et discret, mais à quelles fins est-il utilisé ? Les pics de consommation CPU donnent un indice : il sert essentiellement à miner de la cryptomonnaie Monero en installant le cryptomineur XMRIG. Les envolées à 100 % sur le CPU viennent du minage, extrêmement gourmand en puissance de calcul. Comme vu, l’activité s’arrête dès que l’on se connecte à une session.

Perfctl peut également réaliser du proxy-jacking. Il réutilise ainsi la bande passante non exploitée à d’autres usages. Dans un cas comme dans l’autre, la motivation est clairement financière.

En dépit de ces deux activités, Perfctl est décrit par les chercheurs comme très polyvalent. En fonction de la charge utile envoyée par le serveur de commande et contrôle (C2C), il peut se livrer à d’autres actions malveillantes, comme l’exfiltration de données.

S’en débarrasser n’est pas simple

On ne sait pas vraiment si les antivirus sont capables actuellement de détecter Perfctl et de le supprimer. Les chercheurs d’Aqua Security fournissent quand même une série de conseils, notamment sur la manière de reconnaitre la présence du malware.

Il y a deux principaux critères pour établir la présence du malware. D’abord, les pics d’activité CPU (ou des ralentissements a priori inexpliqués), particulièrement sur des processus nommés httpd et sh. Ensuite, la présence de binaires suspects dans les dossiers /tmp, /usr et /root. Des noms comme perfctl, sh, libpprocps.so, perfcc et libfsnkdev.so sont donnés en exemples.

Aqua recommande en outre de vérifier les journaux système à la recherche de modifications sur les fichiers ~/.profile, et /etc/ld.so.preload, ainsi que la surveillance des modifications à certains utilitaires système (comme ldd, top, lsof et crontab).

Les chercheurs recommandent également plusieurs mesures d’atténuation, dont la plus importante est de mettre à jour les composants du serveur, en particulier ceux touchés par des failles exploitées. Aqua suggère aussi de restreindre l’exécution des fichiers dans les répertoires accessibles en écriture, de désactiver les services inutilisés, d’appliquer une gestion stricte des privilèges et, bien sûr, de déployer des outils de sécurité capables de détecter des rootkits et malwares sans fichier.

Aqua estime qu’en tenant compte de la prévalence des failles ciblées et non corrigées, des millions de machines sont actuellement vulnérables à ce malware.


Viewing all articles
Browse latest Browse all 2363

Trending Articles