V NPM balíčku UAParser.js, který má 8 milionů stažení týdně, bylo implementováno škodlivé software.

Příběh odstranění tří škodlivých balíčků z repozitáře NPM, které kopírovaly kód knihovny UAParser.js, dostal nečekané pokračování — neznámí útočníci převzali kontrolu nad účtem autora projektu UAParser.js a vydali aktualizace obsahující kód pro krádež hesel a těžbu kryptoměn.

Problém je v tom, že knihovna UAParser.js, která nabízí funkce pro analýzu HTTP hlaviček User-Agent, má přibližně 8 milionů stažení týdně a je používaná jako závislost ve více než 1200 projektech. Je uvedeno, že UAParser.js je používána v projektech takových společností, jako jsou Microsoft, Amazon, Facebook, Slack, Discord, Mozilla, Apple, ProtonMail, Autodesk, Reddit, Vimeo, Uber, Dell, IBM, Siemens, Oracle, HP a Verizon.

Útok byl proveden prostřednictvím hacknutí účtu vývojáře projektu, který si něčeho všiml, když do jeho e-mailové schránky dorazila neobvyklá vlna spamu. Jak přesně byl účet vývojáře hacknut, není známo. Útočníci vytvořili vydání 0.7.29, 0.8.0 a 1.0.0, do kterých implantovali škodlivý kód. Během několika hodin vývojáři převzali kontrolu nad projektem a vytvořili aktualizace 0.7.30, 0.8.1 a 1.0.1, které problém vyřešily. Škodlivé verze byly zveřejněny pouze jako balíčky v NPM repozitáři. Git repozitář projektu na GitHubu nebyl postižen. Všem uživatelům, kteří nainstalovali problematické verze, se doporučuje považovat systém za kompromitovaný, pokud v Linuxu/macOS naleznou soubor jsextension, a v systému Windows soubory jsextension.exe a create.dll.

Přidané škodlivé změny připomínaly změny, které byly dříve navrženy v clonech UAParser.js, které byly zřejmě vydány za účelem testování funkčnosti před provedením rozsáhlého útoku na hlavní projekt. Na systém uživatele se ze vzdáleného hostitele nahrával a spouštěl spustitelný soubor jsextension, který byl vybírán v závislosti na platformě uživatele a podporoval běh v Linuxu, macOS a Windows. Pro platformu Windows bylo kromě programu pro těžbu kryptoměny Monero (používal se miner XMRig) zajištěno také implantování knihovny create.dll pro zachytávání hesel a jejich odesílání na vzdálený host.

Kód pro stažení byl přidán do souboru preinstall.sh, ve kterém se objevila vložka IP=$(curl -k https://freegeoip.app/xml/ | grep 'RU|UA|BY|KZ') if [ -z "$IP" ] … stahování a spuštění spustitelného souboru fi

Jak je vidět z kódu, skript nejprve kontroloval IP adresu ve službě freegeoip.app a nespouštěl škodlivou aplikaci pro uživatele z Ruska, Ukrajiny, Běloruska a Kazachstánu.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster