Zarejestrowano masową kompromitację pakietów w repozytorium AUR (Arch User Repository), używanym w Arch Linux do dystrybucji aplikacji od zewnętrznych deweloperów. Atakujący uzyskali kontrolę nad 469 pakietami i zdołali wprowadzić do nich złośliwy kod w celu kradzieży haseł i kluczy dostępu systemów użytkowników. Wśród innych rzeczy, złośliwy kod został zintegrowany w pakiecie ALVR dostarczanym przez AUR, popularnym wśród miłośników gier komputerowych.
Atakujący przejęli opiekę nad pakietami, które miały status „z porzuconych” i pozostały bez opiekunów. Użyto nazwiska ostatniego opiekuna, jednak z innym adresem email, po czym dodawano jeden commit i publikowano aktualizację. Commit dodawał „npm” do listy zależności PKGBUILD i wstawiał do bloku post_install skryptu install.sh polecenie do zainstalowania kilku pakietów NPM. Wśród instalowanych pakietów NPM znajdowały się jeden lub kilka popularnych, legalnych pakietów oraz pakiet atomic-lockfile, zawierający ukryte złośliwe oprogramowanie. Dodanie instalacji pakietów NPM przeprowadzano we wszystkich skompromitowanych projektach, nawet jeśli nie korzystały one z JavaScript i NPM.
Po aktywacji złośliwe oprogramowanie osadzało się w systemie jako usługa systemd z losową nazwą, a podczas działania kamuflowało się pod strumień jądra. Po uruchomieniu z uprawnieniami root, usługa była tworzona na poziomie systemu (\/etc\/systemd\/system) i dodatkowo aktywowała działający na poziomie jądra rootkit, a przy uruchomieniu z uprawnieniami użytkownika — działała w imieniu użytkownika (~\/config\/systemd\/user). Złośliwe oprogramowanie skanowało i przesyłało na zewnątrz serwer klucze i dane uwierzytelniające VPN, Docker, Podman i SSH, a także poufne dane wyciągnięte z przeglądarki, historię poleceń w shellu, klucze portfeli kryptowalut, tokeny dostępu do Slack, Microsoft Teams, Discord, GitHub, NPM i Vault.
Źródło: opennet.ru
