Scroll untuk baca artikel
Networking

Paket NPM berbahaya mengambil infostealer untuk Windows, Linux, macOS

56
×

Paket NPM berbahaya mengambil infostealer untuk Windows, Linux, macOS

Share this article
paket-npm-berbahaya-mengambil-infostealer-untuk-windows,-linux,-macos
Paket NPM berbahaya mengambil infostealer untuk Windows, Linux, macOS

Paket NPM berbahaya mengambil infostealer untuk Windows, Linux, macOS

Sepuluh paket berbahaya yang meniru proyek perangkat lunak sah di registri npm mengunduh komponen pencuri informasi yang mengumpulkan data sensitif dari sistem Windows, Linux, dan macOS.

Example 300x600

Paket-paket tersebut diunggah ke npm pada tanggal 4 Juli, dan tetap tidak terdeteksi untuk jangka waktu yang lama karena beberapa lapisan kebingungan yang membantu menghindari mekanisme analisis statis standar.

Menurut peneliti di perusahaan keamanan siber Socket, sepuluh paket tersebut berjumlah hampir 10.000 unduhan dan mencuri kredensial dari gantungan kunci sistem, browser, dan layanan otentikasi.

Pada saat penulisan, paket-paket tersebut masih tersedia, meskipun Socket melaporkannya ke npm:

  1. skrip ketikanjs
  2. deezcord.js
  3. dizcordjs
  4. dezcord.js
  5. etherdjs
  6. ethesjs
  7. etetsjs
  8. simpulmon
  9. reaksi-router-dom.js
  10. state.js

Stopkontak kata peneliti bahwa paket tersebut menggunakan tantangan CAPTCHA palsu agar terlihat sah dan mengunduh infostealer 24MB yang dikemas dengan PyInstaller.

Untuk memikat pengguna, pelaku ancaman menggunakan salah ketik, sebuah taktik yang memanfaatkan kesalahan ejaan atau variasi nama sah untuk TypeScript (ketikkan superset JavaScript), discord.js (perpustakaan bot Discord), ethers.js (perpustakaan Ethereum JS), nodemon (memulai ulang aplikasi Node secara otomatis), react-router-dom (router browser React), dan zustand (manajer status React minimal).

Saat mencari paket yang sah di platform npm, pengembang mungkin salah mengetikkan nama paket yang sah atau memilih paket berbahaya yang tercantum di hasil.

Setelah instalasi, skrip ‘postinstall’ dipicu secara otomatis untuk menghasilkan terminal baru yang cocok dengan OS host yang terdeteksi. Skrip mengeksekusi ‘app.js’ di luar log instalasi yang terlihat dan segera menghapus jendela untuk menghindari deteksi.

File ‘app.js’ adalah pemuat malware yang menggunakan empat lapisan kebingungan: pembungkus eval decoding mandiri, dekripsi XOR dengan kunci yang dihasilkan secara dinamis, muatan yang dikodekan URL, dan kebingungan aliran kontrol yang berat.

Skrip menampilkan CAPTCHA palsu di terminal menggunakan ASCII untuk memberikan legitimasi palsu pada proses instalasi.

Langkah ASCII CAPTCHA palsu
Langkah CAPTCHA ASCII palsu
Sumber: Soket

Selanjutnya, ia mengirimkan informasi geolokasi dan sidik jari sistem korban ke server komando dan kontrol (C2) penyerang. Setelah memperoleh informasi ini, malware mengunduh dan secara otomatis meluncurkan biner khusus platform dari sumber eksternal, yang merupakan paket executable PyInstaller berukuran 24 MB.

Pencuri informasi menargetkan keyring sistem seperti Windows Credential Manager, macOS Keychain, Linux SecretService, libsecret, dan KWallet, serta data yang disimpan di browser berbasis Chromium dan Firefox, termasuk profil, kata sandi yang disimpan, dan cookie sesi.

Selain itu, ia mencari kunci SSH di direktori umum, dan juga berupaya menemukan dan mencuri OAuth, JWT, dan token API lainnya.

Informasi yang dicuri dikemas ke dalam arsip terkompresi dan dieksfiltrasi ke server penyerang di 195[.]133[.]79[.]43, mengikuti langkah pementasan sementara di /var/tmp atau /usr/tmp.

Pengembang yang mengunduh salah satu paket yang terdaftar disarankan untuk membersihkan infeksi dan merotasi semua token akses dan kata sandi, karena ada kemungkinan besar paket tersebut telah disusupi.

Saat mengambil paket dari npm atau indeks sumber terbuka lainnya, disarankan untuk memeriksa ulang kesalahan ketik dan memastikan bahwa semuanya berasal dari penerbit terkemuka dan repositori resmi.