Une compromission massive de paquets a été constatée dans le dépôt AUR (Arch User Repository), utilisé dans Arch Linux pour la distribution d'applications de développeurs tiers. Les attaquants ont pris le contrôle de 469 paquets et ont pu y intégrer du code malveillant pour voler des mots de passe et des clés d'accès aux systèmes des utilisateurs. Entre autres, le code malveillant a été intégré dans le paquet ALVR distribué via AUR, populaire parmi les amateurs de jeux vidéo.
Les attaquants ont pris en charge des paquets ayant le statut « orphelin » et sans mainteneur. Un nom utilisé était celui du dernier mainteneur, mais avec une autre adresse email, après quoi un engagement était ajouté et une mise à jour publiée. L'engagement ajoutait « npm » à la liste des dépendances du PKGBUILD et insérait dans le bloc post_install du script install.sh une ligne pour installer plusieurs paquets NPM. Parmi les paquets NPM installés se trouvaient un ou plusieurs paquets légitimes populaires et le paquet atomic-lockfile, contenant un logiciel malveillant caché. L'ajout de l'installation de paquets NPM se faisait dans tous les projets compromis, même si JavaScript et NPM n'étaient pas utilisés.
Après activation, le logiciel malveillant était ancré dans le système sous la forme d'un service systemd avec un nom aléatoire et, lorsqu'il était exécuté, se camouflait en flux du noyau. Lors du lancement avec les droits root, le service était créé au niveau système (/etc/systemd/system) et activait en outre un rootkit fonctionnant au niveau noyau, tandis que lorsqu'il était exécuté avec les droits d'utilisateur, il était lancé sous le nom de l'utilisateur (~/.config/systemd/user). Le logiciel malveillant effectuait des scans et envoyait vers l'extérieur serveur les clés et identifiants VPN, Docker, Podman et SSH, ainsi que des données sensibles extraites du navigateur, l'historique des commandes du shell, les clés des portefeuilles de cryptomonnaies, les tokens d'accès à Slack, Microsoft Teams, Discord, GitHub, NPM et Vault.
Source : opennet.ru
