Tarina kolmen UAParser.js-kirjaston koodin kopioineen haitallisen paketin poistamisesta NPM-arkistosta sai odottamattoman jatkon - tuntemattomat hyökkääjät valtasivat UAParser.js-projektin tekijän tilin ja julkaisivat päivitykset, jotka sisälsivät koodin salasanojen varastaminen ja kryptovaluuttojen louhinta.
Ongelmana on, että UAParser.js-kirjastolla, joka tarjoaa toimintoja User-Agent HTTP-otsikon jäsentämiseen, on noin 8 miljoonaa latausta viikossa ja sitä käytetään riippuvuutena yli 1200 XNUMX projektissa. Todetaan, että UAParser.js:ää käytetään sellaisten yritysten projekteissa kuten Microsoft, Amazon, Facebook, Slack, Discord, Mozilla, Apple, ProtonMail, Autodesk, Reddit, Vimeo, Uber, Dell, IBM, Siemens, Oracle, HP ja Verison .
Hyökkäys tehtiin hakkeroimalla projektikehittäjän tili, joka tajusi, että jokin oli vialla epätavallisen roskapostiaallon laskeuduttua hänen sähköpostiinsa. Tarkemmin sanottuna ei kerrota, miten kehittäjän tili hakkeroitiin. Hyökkääjät loivat versiot 0.7.29, 0.8.0 ja 1.0.0 ja lisäsivät niihin haitallista koodia. Muutaman tunnin kuluessa kehittäjät saivat projektin takaisin hallintaansa ja loivat päivitykset 0.7.30, 0.8.1 ja 1.0.1, jotka korjasivat ongelman. Haitalliset versiot julkaistiin vain paketteina NPM-arkistossa. Projektin Git-arkisto GitHubissa ei kärsinyt. Kaikki käyttäjät, jotka asensivat ongelmalliset versiot, havaitessaan... Linux/macOS jsextension-tiedostossa ja Windows jsextension.exe- ja create.dll-tiedostojen osalta on suositeltavaa olettaa, että järjestelmä on vaarantunut.
Lisätyt haitalliset muutokset muistuttivat aiemmin UAParser.js-klooneissa ehdotettuja muutoksia, jotka ilmeisesti julkaistiin toiminnallisuuden testaamiseksi ennen laajamittaista hyökkäystä pääprojektiin. jsextension-suoritettava tiedosto ladattiin ulkoiselta isännältä ja suoritettiin käyttäjän järjestelmässä. jsextension-suoritettava tiedosto valittiin käyttäjän alustan perusteella ja sitä tuettiin. Linux, macOS и WindowsAlustalle Windows Moneron kryptovaluutan louhintaohjelman (käytettiin XMRig-louhintaohjelmaa) lisäksi hyökkääjät asensivat myös create.dll-kirjaston salasanojen sieppaamiseksi ja niiden lähettämiseksi ulkoiselle isännälle.
Latauskoodi lisättiin preinstall.sh-tiedostoon, jossa lisäys IP=$(curl -k https://freegeoip.app/xml/ | grep 'RU|UA|BY|KZ') jos [ -z " $ IP" ] ... lataa ja suorita suoritettava tiedosto fi
Kuten koodista voidaan nähdä, komentosarja tarkisti ensin IP-osoitteen freegeoip.app-palvelussa eikä käynnistänyt haitallista sovellusta käyttäjille Venäjältä, Ukrainasta, Valko-Venäjältä ja Kazakstanista.
Lähde: opennet.ru
