Pakiet NPM UAParser.js, który ma 8 milionów pobrań tygodniowo, zawiera złośliwe oprogramowanie.

Historia usunięcia z repozytorium NPM trzech szkodliwych pakietów kopiujących kod biblioteki UAParser.js doczekała się nieoczekiwanej kontynuacji – nieznani napastnicy przejęli kontrolę nad kontem autora projektu UAParser.js i udostępnili aktualizacje zawierające kod dla kradzież haseł i wydobywanie kryptowalut.

Problem w tym, że biblioteka UAParser.js, która oferuje funkcje analizowania nagłówka HTTP User-Agent, ma około 8 milionów pobrań tygodniowo i jest wykorzystywana jako zależność w ponad 1200 projektach. Stwierdza się, że UAParser.js jest wykorzystywany w projektach takich firm jak Microsoft, Amazon, Facebook, Slack, Discord, Mozilla, Apple, ProtonMail, Autodesk, Reddit, Vimeo, Uber, Dell, IBM, Siemens, Oracle, HP i Verison .

Atak został przeprowadzony poprzez włamanie na konto twórcy projektu, który zorientował się, że coś jest nie tak, gdy do jego skrzynki pocztowej wpadła nietypowa fala spamu. Nie podano, w jaki sposób dokładnie włamano się na konto programisty. Napastnicy stworzyli wersje 0.7.29, 0.8.0 i 1.0.0, wprowadzając do nich szkodliwy kod. W ciągu kilku godzin programiści odzyskali kontrolę nad projektem i stworzyli aktualizacje 0.7.30, 0.8.1 i 1.0.1, aby naprawić problem. Złośliwe wersje zostały opublikowane wyłącznie jako pakiety w repozytorium NPM. Nie miało to wpływu na repozytorium Git projektu w GitHub. Wszystkim użytkownikom, którzy zainstalowali problematyczne wersje, jeśli znajdą plik jsextension w systemie Linux/macOS oraz pliki jsextension.exe i create.dll w systemie Windows, zaleca się rozważenie zagrożenia systemu.

Dodane szkodliwe zmiany przypominały zmiany zaproponowane wcześniej w klonach UAParser.js, które najprawdopodobniej zostały wydane w celu przetestowania funkcjonalności przed rozpoczęciem ataku na dużą skalę na główny projekt. Plik wykonywalny jsextension został pobrany i uruchomiony w systemie użytkownika z zewnętrznego hosta, który został wybrany w zależności od platformy użytkownika i obsługiwanej pracy na systemach Linux, macOS i Windows. Dla platformy Windows, oprócz programu do wydobywania kryptowaluty Monero (wykorzystano koparkę XMRig), atakujący zorganizowali także wprowadzenie biblioteki create.dll służącej do przechwytywania haseł i wysyłania ich do zewnętrznego hosta.

Kod do pobrania został dodany do pliku preinstall.sh, w którym wstawka IP=$(curl -k https://freegeoip.app/xml/ | grep 'RU|UA|BY|KZ') if [ -z " $ IP" ] ... pobierz i uruchom plik wykonywalny fi

Jak widać z kodu, skrypt najpierw sprawdzał adres IP w serwisie freegeoip.app i nie uruchamiał szkodliwej aplikacji dla użytkowników z Rosji, Ukrainy, Białorusi i Kazachstanu.

Źródło: opennet.ru

Dodaj komentarz