TL; កុង
ចន្លោះថ្ងៃទី 1 ខែមេសា ដល់ថ្ងៃទី 3 ខែឧសភា ឆ្នាំ 2026 អ្នកបោះពុម្ពផ្សាយ npm តែមួយ user0001បានចុះឈ្មោះជាមួយអាសយដ្ឋាន Gmail ដែលមិនទាន់បានផ្ទៀងផ្ទាត់ tanvisoul9@gmail.comបានរុញកញ្ចប់ចំនួនប្រាំមួយដោយស្ងាត់ៗដោយចេតនាដោយឈ្មោះដែលស្តាប់ទៅដូចជាហេដ្ឋារចនាសម្ព័ន្ធដែលមិនសូវសំខាន់៖ centralogger, dom-utils-lite, node-fetch-lite, connector-agent, node-gyp-runtimeនិង node-env-resolve.
កំណែចុងក្រោយបំផុតពីរនៃ node-env-resolve, 1.0.7 និង 1.0.8 ត្រូវបានសម្គាល់ដោយប្រព័ន្ធព្រមានមុនគេអំពីមេរោគ (MEW) របស់ Xygeni នៅថ្ងៃទី 2 ខែឧសភា ហើយត្រូវបានបញ្ជាក់ថាជាមេរោគព្យាបាទនៅថ្ងៃទី 3 ខែឧសភា។
ការផ្សាំនេះគឺមិនធម្មតាសម្រាប់អ្វីដែលវាមិនមែន៖ មិនមានបូត Telegram គ្មានការហៅត្រឡប់ OAST ទេ obfuscationហើយគ្មានការប៉ុនប៉ងទាញយកព័ត៌មានសម្គាល់ AWS នៅពេលដំឡើងនោះទេ។ ផ្ទុយទៅវិញ postinstall.js បង្កើតធាតុរក្សាការចាប់ផ្ដើមប្រព័ន្ធវីនដូ ដោយប្រើគ្រាប់ចុច HKCU Run ដែលបើកដំណើរការ wscript.exe ប្រឆាំងនឹង VBS stub។ បន្ទាប់មកវាបង្កើតភ្នាក់ងារ Node.js ដែលផ្ដាច់ចេញ ដែលភ្ជាប់ម៉ូឌុលសម្រាប់ការចាប់យកមីក្រូហ្វូន ការលួចប្រវត្តិកម្មវិធីរុករក ការថតអេក្រង់ និងការក្លែងធ្វើកណ្ដុរ/ក្តារចុច។
យើងកំពុងហៅចង្កោមនេះ DevTapបន្ទាប់ពីឧបករណ៍នេះ វាទុកឲ្យដំណើរការលើម៉ាស៊ីនរបស់អ្នកអភិវឌ្ឍន៍។
កញ្ចប់ទាំងប្រាំមួយត្រូវបានផ្សាយផ្ទាល់នៅលើ npm នៅពេលសរសេរនេះ។ យើងបានដាក់ស្នើពួកវាទៅកាន់ឆានែលរំលោភបំពានរបស់បញ្ជីឈ្មោះ។ អ្នកការពារគួរតែទាញយកការដំឡើងណាមួយពីអ្នកបោះពុម្ពផ្សាយដោយរង់ចាំការដកចេញ។
ចង្កោម៖ កញ្ចប់ចំនួនប្រាំមួយ អ្នកបោះពុម្ពផ្សាយម្នាក់
គណនីអ្នកបោះពុម្ពផ្សាយ user0001 មិនទាន់បានផ្ទៀងផ្ទាត់។ វាមិនមាន SCM ការផ្ទៀងផ្ទាត់ គ្មានអ៊ីមែលដែលចងភ្ជាប់នឹងដែន និងគ្មានប្រវត្តិពីមុន។ អាសយដ្ឋាន Gmail tanvisoul9 មិនលេចឡើងនៅក្នុងកំណត់ត្រាអ្នកបោះពុម្ពផ្សាយ npm ផ្សេងទៀតដែលយើងអាចរកបានទេ។
កញ្ចប់ទាំងប្រាំមួយរាយបញ្ជីអ្នកថែទាំដូចគ្នា ត្រូវបានបោះពុម្ពផ្សាយពីគណនីដូចគ្នា និងចែករំលែកដូចគ្នា។ package.json គំរូគំរូ។ មិនមាន repository, ទេ homepage, និងទេ description វែងជាងបន្ទាត់តែមួយ។
យុទ្ធសាស្ត្រដាក់ឈ្មោះគឺជាផ្នែកគួរឱ្យចាប់អារម្មណ៍។ មិនដូចយុទ្ធនាការ dependency-confusion បែបបុរាណ ឬ typosquat ទេ គ្មានឈ្មោះណាមួយក្នុងចំណោមឈ្មោះទាំងនេះផ្តោតលើបណ្ណាល័យខាងលើជាក់លាក់ណាមួយឡើយ។ ផ្ទុយទៅវិញ ពួកវាត្រូវបានក្រិតតាមខ្នាតដើម្បីបាត់ទៅជាឈ្មោះពិត។ package.json or npm ls លទ្ធផល។
| កញ្ចប់សមាជិក | បោះពុម្ពផ្សាយលើកដំបូង | ជំនាន់ចុងក្រោយ | កំណែ | តួនាទីនៅក្នុងចង្កោម |
|---|---|---|---|---|
| សេនត្រាឡូហ្គើរ | 2026-04-01 12:46 UTC | 1.0.9 | ១០, ពី ១.០.០ ដល់ ១.០.៩ | គម្រប "ឧបករណ៍ប្រើប្រាស់កំណត់ហេតុ" របស់ Cluster; ការបោះពុម្ពផ្សាយដំបូងបំផុត |
| dom-utils-lite | 2026-04-14 07:36 UTC | 1.0.3 | 3 | គម្រប DOM-helper ទូទៅ |
| node-fetch-lite | 2026-04-19 10:22 UTC | 1.0.2 | 3 | ធ្វើត្រាប់តាមគ្រួសារ node-fetch |
| ភ្នាក់ងារភ្ជាប់ | 2026-04-25 05:12 UTC | 1.0.0 | 1 | ឈ្មោះទូទៅ "ភ្នាក់ងារ" |
| ពេលដំណើរការ node-gyp | 2026-04-25 05:17 UTC | 1.0.0 | 1 | ធ្វើត្រាប់តាមឧបករណ៍បង្កើតម៉ូឌុលដើម |
| node-env-resolve | 2026-04-25 05:21 UTC | 1.0.9 | ១០, ពី ១.០.០ ដល់ ១.០.៩ | ដំណក់ទឹកសកម្ម; ប្រដាប់ផ្សាំពេញលេញ |
ឈ្មោះចូលចិត្ត centralogger, node-fetch-liteនិង node-gyp-runtime ត្រូវបានរចនាឡើងដើម្បីមើលទៅមិនមានជម្លោះនៅក្នុងការពិនិត្យកូដ។ ពួកវាស្តាប់ទៅដូចជារបស់ដែលមានរួចហើយនៅក្នុងដើមឈើអាស្រ័យរបស់គម្រោង។
រួមផ្សំជាមួយអ្នកបោះពុម្ពផ្សាយថ្មីដែលមិនទាន់បានផ្ទៀងផ្ទាត់ និងតំណភ្ជាប់ឃ្លាំងដែលបាត់ ពួកវាបង្កើតជាគំរូដែលអាចស្គាល់បាន៖ អ្នកដើរតួម្នាក់បានសាបព្រោះឈ្មោះដែលមានការកកិតទាបទៅក្នុងបញ្ជីឈ្មោះ បន្ទាប់មកធ្វើម្តងទៀតយ៉ាងរហ័សលើឈ្មោះដែលសំខាន់។ ក្នុងករណីនេះ node-env-resolve បានទទួលកំណែចំនួនដប់ក្នុងរយៈពេលប្រាំបីថ្ងៃ។
អ្វីដែលធ្លាក់នៅលើ Windows Dev Box
ខ្សែសង្វាក់ព្យាបាទនៅលើ node-env-resolve:1.0.8 គឺខ្លី ផ្ទាល់ និងសម្បូរលក្ខណៈពិសេសមិនធម្មតាសម្រាប់ npm RAT។
ក្រោយការដំឡើង៖ ភាពស្ថិតស្ថេរ និងភ្នាក់ងារដែលបានផ្ដាច់ចេញ
package.json ប្រកាសទំពក់ដំឡើងតែមួយ៖
{ "scripts": { "postinstall": "node postinstall.js" } }postinstall.js ធ្វើរឿងបីយ៉ាងតាមលំដាប់លំដោយ។
ដំបូង វារៀបចំថតដំឡើងនៅខាងក្រៅដើមឈើ npm។ ផ្លូវត្រូវបានគណនានៅពេលដំណើរការនៅក្នុងស្គ្រីបជា INSTALL_DIRបន្ទាប់មកវាដំណើរការផ្ទៃក្នុង execSync('npm install --production --silent ...') នៅខាងក្នុងវាដើម្បីទាញយកភាពអាស្រ័យពេលដំណើរការរបស់ implant។ នេះដាក់ភ្នាក់ងារនៅលើថាសនៅកន្លែងណាមួយ សៀវភៅណែនាំ node_modules ការត្រួតពិនិត្យនឹងមិនរកឃើញទេ។
ទីពីរ វាសរសេរកម្មវិធីបើកដំណើរការ VBS ហើយចុះឈ្មោះវាសម្រាប់ភាពស្ថិតស្ថេរនៃការចាប់ផ្ដើមប្រព័ន្ធ៖
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run \ /v ${AGENT_NAME} \ /t REG_SZ \ /d "wscript.exe \"${vbsPath}\"" /fwscript.exe គឺជា Windows Script Host ដែលជាឯកសារគោលពីររបស់ Microsoft ដែលបានចុះហត្ថលេខា ដែលដំណើរការ .vbs ឯកសារដែលគ្មានបង្អួចកុងសូល។ នោះគឺជាមុនcisហេតុអ្វីបានជាវាត្រូវបានពេញចិត្តសម្រាប់ autorun stubs។
មានការផ្គូផ្គងផងដែរ reg delete ផ្លូវខាងក្នុង src/index.jsដែលបង្ហាញថាការផ្សាំនេះត្រូវបានរចនាឡើងដើម្បីឱ្យអាចដកចេញបានយ៉ាងស្អាតតាមបញ្ជារបស់ប្រតិបត្តិករ។
ទីបី វាបង្កើតដំណើរការកូនដែលផ្ដាច់ចេញ៖
spawn(node, [path.join(INSTALL_DIR, 'src/index.js')], { detached: true, env: { ...process.env, SERVER_URL } })ព័ត៌មានលម្អិតពីរមានសារៈសំខាន់នៅទីនេះ។
SERVER_URL ត្រូវបានអានពីបរិស្ថាន។ ជាលទ្ធផល ចំណុចបញ្ចប់ C2 អាចកំណត់រចនាសម្ព័ន្ធបានក្នុងមួយការដាក់ពង្រាយ ហើយមិនត្រូវបានបញ្ចូលទៅក្នុងកញ្ចប់នោះទេ។ ជម្រើសតូចតាច ប៉ុន្តែចេតនានោះយកឈ្នះលើការស្កេនឋិតិវន្ត-IOC ភាគច្រើន។
ម្យ៉ាងទៀត កូនដែលកើតមកទទួលមរតកបរិស្ថានមេពេញលេញ។ ដូច្នេះ អ្វីក៏ដោយ NPM_TOKEN, AWS_*, GITHUB_TOKENឬរន្ធ SSH-agent ដែលមាននៅក្នុងសែលអ្នកអភិវឌ្ឍន៍នៅពេលដំឡើង ពេលវេលាធ្វើដំណើរទៅក្នុងអង្គចងចាំរបស់ភ្នាក់ងារដែលមានអាយុកាលយូរអង្វែង។
អ្វីដែលភ្នាក់ងារដឹកជញ្ជូនជាមួយ
កញ្ចប់ src/ ដើមឈើនេះរួមមានម៉ូឌុលចំនួនបីដែលឈ្មោះរបស់វាប្រាប់រឿងរ៉ាវរបស់វា៖ audioCapture.js, browserHistory.jsនិង systemInfo.js.
បញ្ជីភាពអាស្រ័យពេលដំណើរការ ដែលបានដោះស្រាយក្នុងដំណាក់កាលនៃការរៀបចំ npm install, បញ្ជាក់ពួកគេ។
វិធីសាស្រ្តនេះប្រែក្លាយឧប្បត្តិហេតុដ៏ច្របូកច្របល់ទៅជាការឆ្លើយតបដែលគ្រប់គ្រងបាន។
ជំនួសឲ្យការប្រតិកម្មដោយងងឹតងងល់ ក្រុមធ្វើការជាមួយ ការកំណត់អាទិភាពច្បាស់លាស់ និងការដោះស្រាយរហ័ស.
| ភាពអាស្រ័យ | តើវាសម្រាប់អ្វីនៅក្នុងបរិបទនេះ |
|---|---|
| រូបថតអេក្រង់-ផ្ទៃតុ | ការថតអេក្រង់តាមកាលកំណត់ |
| @nut-tree-fork/nut-js | ស្វ័យប្រវត្តិកម្មកណ្ដុរ និងក្តារចុច / ការក្លែងធ្វើបញ្ចូល |
| ប្រសើរជាង-sqlite3 | ការអានដោយផ្ទាល់នៃមូលដ្ឋានទិន្នន័យ SQLite ប្រវត្តិ Chrome, Edge និង Firefox |
| adm-zip | ការចងក្រងវត្ថុបុរាណដែលប្រមូលបានមុនពេលច្រោះចេញ |
| ស្រួច | ការផ្លាស់ប្តូរទំហំ/ការបង្ហាប់រូបថតអេក្រង់ និងស្នាដៃរូបភាព |
| អតិថិជន socket.io | ឆានែល C2 ទ្វេទិសជាប់លាប់ |
| លេខសម្គាល់ម៉ាស៊ីនណូដ | ស្នាមម្រាមដៃដែលមានស្ថេរភាពសម្រាប់ម៉ាស៊ីននីមួយៗសម្រាប់ការតាមដានជនរងគ្រោះ |
systemInfo.js ការហៅ os.networkInterfaces() សម្រាប់ការស្កេនស្នាមម្រាមដៃបន្ថែមមុនពេលមានសញ្ញាដំបូង។
ហេតុអ្វីបានជាការថតសំឡេងជាសញ្ញាលេចធ្លោ
RATs npm ភាគច្រើនដែលយើងរៀបចំនៅក្នុង MEW ឈប់នៅពេលដំឡើងការលួចសម្ងាត់។ ពួកគេអាន ~/.npmrcអាន។ ~/.aws/credentials, កោស process.env, POST ទៅកាន់ webhook ហើយចេញ។ វាសមនឹងគំរូសេដ្ឋកិច្ច smash-and-grab។ លិខិតសម្គាល់មានពាក់កណ្តាលជីវិតខ្លី ហើយអ្នកវាយប្រហារត្រូវការរកប្រាក់ឱ្យបានរហ័ស។
node-env-resolve គឺខុសគ្នានៅក្នុងរូបរាង។
ការបន្តដំណើរការត្រូវបានរៀបចំឡើងដើម្បីរស់រានមានជីវិតពីការចាប់ផ្ដើមឡើងវិញ។ ភ្នាក់ងារដំណើរការដាច់ដោយឡែក និងមានអាយុកាលយូរអង្វែងក្រោម wscript.exeឧបករណ៍ដែលវាមានគឺសម្រាប់នៅលើម៉ាស៊ីនរបស់អ្នកអភិវឌ្ឍន៍ មិនមែនសម្រាប់ចាប់យក ហើយចាកចេញទេ៖ ឧបករណ៍ថតមីក្រូហ្វូន កម្មវិធីបញ្ជាក្តារចុច/កណ្ដុរ ការទទួលយកប្រវត្តិកម្មវិធីរុករកពេញលេញ ការចាប់យកអេក្រង់ និងឆានែល Socket.IO អន្តរកម្មត្រឡប់ទៅ C2 ដែលអាចកំណត់រចនាសម្ព័ន្ធបាន។
ជាពិសេស ការចាប់យកមីក្រូហ្វូន គឺជាខ្សែបន្ទាត់ដែលយុទ្ធនាការនេះឆ្លងកាត់ ដែលមេរោគ npm ភាគច្រើនមិនឆ្លងកាត់។
ស្ថានីយការងារសម្រាប់អ្នកអភិវឌ្ឍន៍ ក៏ជាស្ថានីយការងារដែលអ្នកអភិវឌ្ឍន៍ធ្វើការឈរបង្ហាញ ការហៅទូរស័ព្ទរបស់អតិថិជន ការពិភាក្សាអំពីការរចនា និងការតភ្ជាប់តាមការហៅទូរស័ព្ទ។ ការផ្សាំដែលថតមីក្រូហ្វូនមិនមែនពិតជាតាមសញ្ញាសម្ងាត់ npm របស់អ្នកអភិវឌ្ឍន៍នោះទេ។ វាគឺជាតាមអ្វីដែលអ្នកអភិវឌ្ឍន៍និយាយនៅពីមុខកុំព្យូទ័រយួរដៃ។
សំណុំសមត្ថភាពនោះ បូករួមទាំងកង្វះការបិទបាំង និងអវត្តមាននៃការលួចយកទិន្នន័យនៅពេលដំឡើង ដែលមើលទៅហាក់ដូចជាការកំណត់ទីតាំងជាមុនសម្រាប់ការចូលប្រើគោលដៅ ជាជាងការលួចយកព័ត៌មានសម្ងាត់ដោយឱកាសនិយម។
យើងមិនអះអាងពីការសន្មត់ពីរឿងនេះតែមួយមុខទេ។ យើងកំពុងកត់សម្គាល់ពីទម្រង់ប្រតិបត្តិការ។

ចង្វាក់នៃការធ្វើម្តងទៀតរយៈពេលប្រាំបីថ្ងៃនៅលើ node-env-resolve គឺជាព័ត៌មានលម្អិតដែលបង្ហាញអំពីប្រតិបត្តិការបំផុតនៅក្នុងបន្ទាត់ពេលវេលា។
នេះមិនមែនជាការទម្លាក់ចោលដោយភ្លើងហើយបំភ្លេចចោលនោះទេ។ អ្នកបោះពុម្ពផ្សាយកំពុងថែទាំទម្លាក់ចោលយ៉ាងសកម្ម ដែលជាធម្មតាមានន័យថាមួយក្នុងចំណោមពីរយ៉ាង។ ទាំងពួកគេកំពុងលៃតម្រូវវាប្រឆាំងនឹងបរិស្ថានសាកល្បងមុនពេលដាក់ពង្រាយកាន់តែទូលំទូលាយ ឬពួកគេមានទូរមាត្រដំឡើងរួចហើយ ហើយកំពុងឆ្លើយតបទៅវា។
កញ្ចប់ចំនួនប្រាំផ្សេងទៀតមិនឃើញមានការលុបចោលបន្ទាប់ពីការបោះពុម្ពផ្សាយដំបូងរបស់ពួកគេទេ។ វាសមនឹងគំរូ "ដំណាក់កាលម្តង ទុកឲ្យមានឈ្មោះ" សម្រាប់ចង្កោមគាំទ្រ ខណៈពេលដែលកិច្ចខិតខំប្រឹងប្រែងផ្នែកវិស្វកម្មផ្តោតលើកញ្ចប់ដែលធ្វើការងារ។
ការបញ្ជាក់៖ តម្រុយតូចៗ គ្មានសាលក្រមរឹងមាំ
សាធារណៈ អូស៊ីនធី សញ្ញាមានលក្ខណៈស្តើង ហើយយើងនឹងមិនលាតសន្ធឹងវាទេ។ អ្វីដែលអាចសង្កេតឃើញ៖
ចំណុចប្រទាក់ Gmail tanvisoul9 ផ្នែកខ្លះស្រដៀងនឹងឈ្មោះដែលផ្តល់ឲ្យដោយអាស៊ីខាងត្បូង គឺ "Tanvi"។ នេះជាសញ្ញាខ្សោយ។ លេខសម្គាល់ Gmail មិនមែនជាអត្តសញ្ញាណទេ ហើយលេខសម្គាល់នៅពីក្រោយ soul9 គឺជារឿងទូទៅ។ វាមិនមានសុវត្ថិភាពក្នុងការសន្និដ្ឋានភូមិសាស្ត្រពីអ៊ីមែល local-part តែមួយមុខនោះទេ។
រចនាប័ទ្មកូដគឺមិនសូវគួរឱ្យកត់សម្គាល់ទេ Node.js៖ standard ការហៅទូរស័ព្ទបណ្ណាល័យដូចជា os, child_process, spawnនិង reg add។ មិនមានការបិទបាំង គ្មានការបង្វិលខ្សែអក្សរ និងគ្មានតក្កវិជ្ជាប្រឆាំងនឹងការបំបាត់កំហុសទេ។ អ្នកនិពន្ធមានផាសុកភាពជាមួយ Windows registry primitives និង detached-child-process orchestration ប៉ុន្តែហាក់ដូចជាមិនកំពុងឈានដល់ការប្រើប្រាស់បច្ចេកវិទ្យាលួចលាក់ជាងនេះដែលពួកគេអាចប្រើប្រាស់បាននោះទេ។
ភាពអាស្រ័យគឺមិនមានលក់ទាំងស្រុង ហើយត្រូវបានគេស្គាល់យ៉ាងច្បាស់៖ screenshot-desktop, nut-js, better-sqlite3និង socket.io-client។ មិនមានពិធីការផ្ទាល់ខ្លួនទេ គ្មានជង់ C2 ដែលរមៀលចេញពីដំបូង និងគ្មានល្បិចតស៊ូថ្មីក្រៅពីសៀវភៅសិក្សាទេ។ គ្រាប់ចុចរត់ HKCUនេះគឺជាអ្នករួមបញ្ចូលដែលមានសមត្ថភាព មិនមែនជាអ្នកនិពន្ធឧបករណ៍ទេ។
យើងមិនបានរកឃើញខ្សែអក្សរដែលមិនមែនជាភាសាអង់គ្លេស មតិយោបល់ដែលបានបង្កប់ ទិន្នន័យមូលដ្ឋាន ឬស្នាមម្រាមដៃតំបន់ពេលវេលានៃទិន្នផលកម្មវិធីចងក្រងនៅក្នុងវត្ថុបុរាណដែលបានបោះពុម្ពផ្សាយនោះទេ។
យើងបានពិនិត្យមើលការត្រួតស៊ីគ្នានៃកូដជាមួយយុទ្ធនាការមុនៗដែលយើងបានតាមដានរួចហើយ រួមទាំង សាយ ហ៊ុលុដ, អូលលីវីយ៉ុង, Buildkite, និង heibai ថ្មីៗ / claude-code-best ក្រុមគ្រួសារក្លូន Anthropic-CLI។ យើងរកមិនឃើញទេ៖ គ្មានលំនាំ C2 ដែលបានចែករំលែក គ្មានប្លង់ឯកសារដែលបានចែករំលែក និងគ្មានសទិសន័យដែលបានចែករំលែកទេ។
អ្វីដែលយើងមិននិយាយ៖ ថានេះគឺជាតួអង្គរដ្ឋ ក្រុមដែលគេស្គាល់ ឬមានទំនាក់ទំនងភូមិសាស្ត្រជាមួយប្រទេសជាក់លាក់ណាមួយ។
ទម្រង់ប្រតិបត្តិការគឺស្របនឹងក្រុមតូចមួយដែលមានជំនាញមធ្យមធ្វើការឃ្លាំមើលស្ថានីយការងាររបស់អ្នកអភិវឌ្ឍន៍។ វាទំនងជាមានការលើកទឹកចិត្តផ្នែកហិរញ្ញវត្ថុតាមរយៈការប្រើប្រាស់ការចូលប្រើនៅផ្នែកខាងក្រោម ប៉ុន្តែក៏អាចជាការឈ្លបយកការណ៍ជាសេវាកម្មសម្រាប់អ្នកទិញដាច់ដោយឡែកផងដែរ។
ចំណុចប្រយោលពីរគាំទ្រចំណុចនេះ៖ ការជៀសវាងយន្តការបញ្ចេញព័ត៌មានដែលទាក់ទាញចំណាប់អារម្មណ៍ ដែលនឹងដុតបំផ្លាញចង្កោមយ៉ាងលឿន ដូចជាបូត Telegram oastify.comឬ canarytokens និងឈ្មោះកញ្ចប់ដែលមិនសូវមានអត្ថន័យ ដែលពេញចិត្តការដំឡើងកន្ទុយវែងស្ងាត់ៗ ជាជាងការកើនឡើងនៃបរិមាណខ្ពស់ក្នុងរយៈពេលខ្លី។
សូចនាករនៃការសម្របសម្រួល និងការរកឃើញ
| កញ្ចប់ និងអ្នកបោះពុម្ពផ្សាយ | |
|---|---|
| វាល | តម្លៃ |
| អ្នកបោះពុម្ពផ្សាយ npm | user0001 |
| អ៊ីមែលរបស់អ្នកបោះពុម្ពផ្សាយ | tanvisoul9@gmail.com, មិនទាន់បានផ្ទៀងផ្ទាត់ |
| កញ្ចប់ | centralogger, dom-utils-lite, node-fetch-lite, connector-agent, node-gyp-runtime, node-env-resolve |
| បានបញ្ជាក់ថាមានគំនិតអាក្រក់ | node-env-resolve@1.0.7, node-env-resolve@1.0.8 |
| វត្ថុបុរាណរបស់ម្ចាស់ផ្ទះ | |
|---|---|
| វាយបញ្ចូល | តម្លៃ |
| គន្លឹះនៃការតស៊ូ | HKCU\Software\Microsoft\Windows\CurrentVersion\Run |
| តម្លៃនៃអត្ថិភាព | ឈ្មោះអថេរ; ទិន្នន័យនៃទម្រង់ wscript.exe " \\ .vbs" |
| ដំឡើងទំពក់ | ក្រោយការដំឡើង៖ node postinstall.js នៅក្នុង manifest កញ្ចប់ |
| ម៉ូឌុលផ្សាំ | src/audioCapture.js, src/browserHistory.js, src/systemInfo.js |
| ថតឯកសាររៀបចំឆាក | INSTALL_DIR ត្រូវបានដោះស្រាយនៅខាងក្រៅ node_modules របស់គម្រោង; ទីតាំងដែលកំណត់ដោយ postinstall.js នៅពេលដំឡើង |
| Network | |
|---|---|
| វាយបញ្ចូល | តម្លៃ |
| ការដឹកជញ្ជូន C2 | socket.io-client, ឆានែលទ្វេទិសជាប់លាប់ |
| ចំណុចបញ្ចប់ C2 | ផ្តល់ជូនភ្នាក់ងារតាមរយៈអថេរបរិស្ថាន SERVER_URL; មិនត្រូវបានអ៊ិនកូដរឹងទៅជាវត្ថុបុរាណដែលបានបោះពុម្ពផ្សាយទេ |
កំណត់ចំណាំរកឃើញ
ច្បាប់ពីរចាប់គ្រួសារនេះដោយមិនចាំបាច់មានចំណុចបញ្ចប់ C2។
ដំបូង សូមដាក់ទង់ជាតិស្គ្រីបក្រោយការដំឡើងដែលអនុវត្តការស៊ើបការណ៍សម្ងាត់ផ្ទៃក្នុង npm install ចូលទៅក្នុងផ្លូវមួយនៅខាងក្រៅថតឯកសារផ្ទាល់ខ្លួនរបស់កញ្ចប់។ កម្មវិធីទាញយកជាមុនដែលស្របច្បាប់ណាមួយ ដូចជា node-gyp សាងសង់ឡើងវិញ ឬកម្មវិធីទាញយកប្រព័ន្ធគោលពីរដែលបានបង្កើតជាមុន សរសេរនៅខាងក្នុងកញ្ចប់ ឬចូលទៅក្នុងវេទិកា-standard ផ្លូវឃ្លាំងសម្ងាត់ដែលមានហាសដែលបានផ្ទៀងផ្ទាត់។ វាមិនសរសេរទៅក្នុងឯកសារដែលទើបបង្កើតថ្មីទេ INSTALL_DIR នៅកន្លែងផ្សេងទៀតនៅលើឌីស។
ទីពីរ សម្គាល់ស្គ្រីបក្រោយការដំឡើងដែលមានបញ្ហា reg add HKCU\…\Run ជាមួយ wscript.exe ជាកម្មវិធីចាប់ផ្ដើម។ នេះមិនដែលមានសុពលភាពពីកញ្ចប់ npm ទេ។ ដាក់ទង់ ហើយដាក់វាឲ្យនៅដាច់ដោយឡែក។
ការវិភាគទីបីមានប្រយោជន៍សម្រាប់ការកំណត់កញ្ចប់បងប្អូនបន្ទាប់មុនពេលវាត្រូវបានបញ្ជាក់៖ អ្នកបោះពុម្ពផ្សាយ npm ថ្មីដែលគ្មាន SCM ការផ្ទៀងផ្ទាត់ អ៊ីមែល Gmail ទេ repository ឈ្មោះកញ្ចប់ខ្លីៗ ទូទៅ និងហាក់ដូចជាហេដ្ឋារចនាសម្ព័ន្ធជាច្រើនដែលបានបោះពុម្ពផ្សាយក្នុងរយៈពេលប៉ុន្មានថ្ងៃពីគ្នាទៅវិញទៅមក គឺគ្រប់គ្រាន់ដើម្បីធានាការពិនិត្យដោយដៃ។
បានរាយការណ៍ទៅកាន់បញ្ជីឈ្មោះ npm។ យើងនឹងធ្វើបច្ចុប្បន្នភាពប្រកាសនេះនៅពេលដែលគណនីអ្នកបោះពុម្ពផ្សាយត្រូវបានដកចេញ។






