Malware Disuntikkan ke Paket NPM UAParser.js dengan 8 Juta Unduhan per Minggu

Kisah penghapusan tiga paket berbahaya yang menyalin kode pustaka UAParser.js dari repositori NPM menerima kelanjutan yang tidak terduga - penyerang tak dikenal menguasai akun penulis proyek UAParser.js dan merilis pembaruan yang berisi kode untuk mencuri kata sandi dan menambang cryptocurrency.

Masalahnya adalah pustaka UAParser.js, yang menawarkan fungsi untuk mem-parsing header HTTP User-Agent, memiliki sekitar 8 juta unduhan per minggu dan digunakan sebagai dependensi di lebih dari 1200 proyek. UAParser.js diklaim digunakan oleh perusahaan seperti Microsoft, Amazon, Facebook, Slack, Discord, Mozilla, Apple, ProtonMail, Autodesk, Reddit, Vimeo, Uber, Dell, IBM, Siemens, Oracle, HP, dan Verison.

Serangan itu dilakukan dengan meretas akun pengembang proyek, yang menyadari ada yang tidak beres setelah gelombang spam yang tidak biasa masuk ke kotak suratnya. Bagaimana tepatnya akun pengembang diretas tidak dilaporkan. Penyerang membuat rilis 0.7.29, 0.8.0 dan 1.0.0 dengan menyuntikkan kode berbahaya ke dalamnya. Dalam beberapa jam, pengembang mendapatkan kembali kendali atas proyek dan menghasilkan pembaruan 0.7.30, 0.8.1 dan 1.0.1 untuk memperbaiki masalah. Versi jahat diterbitkan hanya sebagai paket di repositori NPM. Repositori Git proyek di GitHub tidak terpengaruh. Semua pengguna yang menginstal versi bermasalah, jika mereka menemukan file jsextension di Linux / macOS, dan file jsextension.exe dan create.dll di Windows, disarankan untuk mempertimbangkan sistem yang disusupi.

Perubahan berbahaya yang ditambahkan mirip dengan yang diusulkan sebelumnya di klon UAParser.js, yang tampaknya telah dirilis untuk menguji fungsionalitas sebelum meluncurkan serangan skala besar pada proyek utama. File executable jsextension dimuat dan diluncurkan pada sistem pengguna dari host eksternal, yang dipilih tergantung pada platform pengguna dan mendukung pekerjaan di Linux, macOS dan Windows. Untuk platform Windows, selain program penambangan cryptocurrency Monero (penambang XMRig digunakan), penyerang juga mengatur pengenalan perpustakaan create.dll untuk mencegat kata sandi dan mengirimkannya ke host eksternal.

Kode unduhan ditambahkan ke file preinstall.sh, yang menyertakan insert IP=$(curl -k https://freegeoip.app/xml/ | grep 'RU|UA|BY|KZ') if [ -z " $ IP" ] ... unduh dan jalankan fi yang dapat dieksekusi

Seperti yang dapat dilihat dari kodenya, skrip pertama kali memeriksa alamat IP di layanan freegeoip.app dan tidak meluncurkan aplikasi jahat untuk pengguna dari Rusia, Ukraina, Belarusia, dan Kazakhstan.

Sumber: opennet.ru

Tambah komentar