في الآونة الأخيرة ، تبادل زملاؤنا من ياندكس معنا عينة من طروادة المثيرة للاهتمام ، والتي أبلغنا عنها في
هذا الخبر. لا يتم العثور على مثل هذه البرامج الضارة في كثير من الأحيان ، لذلك قررنا تفكيكها بمزيد من التفصيل ، وفي الوقت نفسه نتحدث عن سبب قلما نواجه مثل هذه العينات.
حصان طروادة هو مستتر متعدد المكونات مكتوب بلغة جافا سكريبت ويستخدم Node.js. لتشغيله. وتتمثل عناصره الرئيسية في العامل والتحديث ، والتي يتم تنزيلها وتثبيتها في النظام بواسطة أداة تحميل التشغيل. يمكن أن تكون الحمولة موجودة ، لكن في هذه الحالة ، يقوم طروادة بتثبيت عامل المناجم xmrig. في وقت الدراسة ، استخدم المطور شركة التعدين لتعدين عملة التشفير TurtleCoin.
يتم توزيع MonsterInstall من خلال المواقع التي تغش لألعاب الفيديو الشائعة. معظم هذه الموارد تخص مطور طروادة ، لكننا وجدنا العديد من الملفات المصابة على مواقع أخرى مماثلة. يراقب مالك أحدهم بانتظام تحديثات المنافسين ويغذي موارده بمحتوى جديد. للقيام بذلك ، يستخدم البرنامج النصي parser.php ، والذي يبحث من خلال وكيل عن عمليات غش جديدة على cheathappens.com.
Proxy parse done, total: 1 Use sox 84.228.64.133:1080 Error: CURL error(#52), attempts left: 10 Use sox 84.228.64.133:1080 Posts found: 30! [33mPage Satisfactory: ўЂµ№ЅµЂ +8 vCL#96731 {CheatHappens.com} already in base[0m [33mPage Borderlands: The Pre-Sequel - ўЂµ№ЅµЂ +28 v1.2019 {LinGon} already in base[0m [33mPage Borderlands - Game of the Year Enhanced: ўЂµ№ЅµЂ +19 v1.0.1 {LinGon} already in base[0m [33mPage Star Wars: Battlefront 2 (2017): ўЂµ№ЅµЂ +4 v01.04.2019 {MrAntiFun} already in base[0m [36mPage Far Cry 5: ўЂµ№ЅµЂ +23 v1.012 (+LOST ON MARS/DEAD LIVING ZOMBIES) {CheatHappens.com} added 2019-Apr-09[0m [36mPage Fate/Extella Link: ўЂµ№ЅµЂ +13 v04.09.2019 {CheatHappens.com} added 2019-Apr-09[0m [36mPage Superhot: ўЂµ№ЅµЂ +3 v2.1.01p { MrAntiFun} added 2019-Apr-09[0m [36mPage Dawn of Man: ўЂµ№ЅµЂ +7 v1.0.6 {CheatHappens.com} added 2019-Apr-08[0m [36mPage Borderlands 2: ўЂµ№ЅµЂ +14 v06.04.2019 {MrAntiFun} added 2019-Apr-08[0m [36mPage Borderlands: The Pre-Sequel - ўЂµ№ЅµЂ +17 v06.04.2019 {MrAntiFun} added 2019-Apr-08[0m [36mPage Tropico 6: ўЂµ№ЅµЂ +9 v1.01 {MrAntiFun} added 2019-Apr-08[0m [36mPage Operencia: The Stolen Sun - ўЂµ№ЅµЂ +20 v1.2.2 {CheatHappens.com} added 2019-Apr-08[0m [36mPage Enter the Gungeon: ўЂµ№ЅµЂ +6 v2.1.3 {MrAntiFun} added 2019-Apr-07[0m [36mPage The Guild 3: ўЂµ№ЅµЂ +2 v0.7.5 {MrAntiFun} added 2019-Apr-07[0m [36mPage Dead Effect 2: ўЂµ№ЅµЂ +8 v190401 {MrAntiFun} added 2019-Apr-07[0m [36mPage Assassin's Creed: Odyssey - ўЂµ№ЅµЂ +26 v1.2.0 {FLiNG} added 2019-Apr-07[0m [36mPage Assassin's Creed: Odyssey - ўЂµ№ЅµЂ +12 v1.2.0 {MrAntiFun} added 2019-Apr-06[0m [36mPage Super Dragon Ball Heroes: World Mission - ўЂµ№ЅµЂ +11 v1.0 {FLiNG} added 2019-Apr-05[0m [36mPage Tropico 6: ўЂµ№ЅµЂ +7 v1.02 97490 {CheatHappens.com} added 2019-Apr-05[0m [36mPage Risk of Rain 2: ўЂµ№ЅµЂ +10 Build 3703355 {CheatHappens.com} added 2019-Apr-05[0m [36mPage Sid Meier's Civilization 6 - Rise and Fall: ўЂµ№ЅµЂ +12 v1.0.0.314 {MrAntiFun} added 2019-Apr-05[0m [36mPage Sid Meier's Civilization 6 - Gathering Storm: ўЂµ№ЅµЂ +12 v1.0.0.314 {MrAntiFun} added 2019-Apr-05[0m [36mPage Sid Meier's Civilization 6: ўЂµ№ЅµЂ +12 v1.0.0.314 {MrAntiFun} added 2019-Apr-05[0m [36mPage Borderlands GOTY Enhanced: ўЂµ№ЅµЂ +16 v1.0 {CheatHappens.com} added 2019-Apr-05[0m [36mPage Borderlands Game of the Year Enhanced: ўЂµ№ЅµЂ +13 v1.00 {MrAntiFun} added 2019-Apr-04[0m [36mPage Assassin's Creed: Odyssey: ўЂµ№ЅµЂ +24 v1.2.0 (04.04.2019) {CheatHappens.com} added 2019-Apr-04[0m [36mPage Sekiro: Shadows Die Twice - ўЂµ№ЅµЂ +24 v1.02 {FLiNG} added 2019-Apr-04[0m [36mPage Hearts of Iron 4: ўЂµ№ЅµЂ +24 v1.6.2 {MrAntiFun} added 2019-Apr-04[0m [36mPage Wolcen: Lords of Mayhem - ўЂµ№ЅµЂ +5 v1.0.2.1 {MrAntiFun} added 2019-Apr-04[0m [36mPage Devil May Cry 5: ўЂµ№ЅµЂ +18 v1.0 (04.03.2019) {CheatHappens.com} added 2019-Apr-04[0m Parse done
يوجد على مواقع مطوّري البرامج مجموعة كبيرة من عمليات الغش ، ولكن سيتم إرجاع نفس الأرشيف لجميع الروابط. إذا حاولت تنزيل أي من الملفات من موقع البرامج الضارة ، فسيتلقى المستخدم Trojan.MonsterInstall. يمكن تخمين بعض معلمات طروادة من رابط التنزيل:
https://<malicious_site>/fc/download.php?name=Borderlands%20GOTY%20Enhanced:%20%D0%A2%D1%80%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%20+16%20v1.0%20{CheatHappens.com}&link=https://<malicious_site>//r.php?site=http://gtrainers.com/load/0-0-1-7081-20&password=<malicious_site>/&uid=101&sid1=1&sid2=1&charset=utf-8
- الاسم - اسم الأرشيف و exe في الأرشيف ؛
- الرابط - رابط للملف الذي أراد المستخدم تنزيله (سلكي في data.json) ؛
- كلمة المرور - كلمة المرور للأرشيف.
لنفترض أننا حددنا الغش المرغوب وقمنا بتنزيل أرشيف 7zip المحمي بكلمة مرور بالاسم الواعد "ExtrimHack.rar" من موقع مطور طروادة. يوجد بداخلها ملف قابل للتنفيذ ، وملف تكوين ، ومكتبة 7zip ، بالإضافة إلى أرشيف بن مع مكتبات C ++ الأصلية والبرامج النصية التي تم إطلاقها باستخدام Node.js. binar
مثال على محتوى الأرشيف:
- 7z.dll.
- data.bin.
- data.json.
- ESP الغش ل COP GO.exe.
عندما يتم تشغيل الملف القابل للتنفيذ ، سيقوم Trojan بتثبيت جميع المكونات اللازمة لتشغيله ، وكذلك تنزيل الغش الضروري للمستخدم ، باستخدام المعلومات من ملف data.json مع المعلمات.
مثال على محتويات data.json:
{"source":[5,10,11,43],"dataVersion":[0,0,0,115],"link":"http:\/\/clearcheats.ru\/images\/dl\/csgo\/ESP_csgo.dll"}
لاستبعاد عدة نسخ من عملها ، تعمل Trojan على إنشاء كائن مزامنة "cortelMoney-suncMutex" وتثبيته في دليل "٪ WINDIR٪ \ WinKit \". ثم يتحقق لمعرفة ما إذا كان موجودًا في السجل ([HKLM \\ Software \\ Microsoft \\ Windows Node]). إذا كان الأمر كذلك ، فإنه يقرأ المعلمات الخاصة به ويقارن الإصدار بالإصدار المحدد في data.json. إذا كان الإصدار حاليًا ، فلا يفعل شيئًا أكثر وينتهي.
بعد ذلك ، يقوم طروادة بفك محتويات data.bin في٪ WINDIR٪ \\ WinKit \\ ويقوم بتثبيت الخدمة لبدء start.js.
محتوى البيانات.
- الشيطان.
- node_modules.
- 7z.dll.
- msnode.exe.
- start.js.
- startDll.dll.
- update.js.
- updateDll.dll.
في الوقت نفسه ، msnode.exe هو ملف قابل للتنفيذ Node.js بتوقيع رقمي صالح ، ويحتوي دليل node_modules على المكتبات "ffi" و "node-windows" و "ref".
يتم تحميل مكتبة startDll.dll في start.js ويطلق عليها تصدير mymain ، حيث تقوم بقراءة المعلمات الخاصة بها من التسجيل ، وتبدأ "٪ WINDIR٪ \\ WinKit \\ msnode٪ WINDIR٪ \\ WinKit \\ update.js" وتوقف الخدمة "عقدة Windows." يقوم البرنامج النصي update.js بدوره بتحميل مكتبة updateDll.dll ويدعو إلى تصدير ملف mymain الخاص به. لا شيء معقد.
في updateDll.dll ، سيبدأ طروادة في التحقق من اتصالك بالإنترنت. للقيام بذلك ، سوف يرسل طلبات إلى google.com ، yahoo.com ، facebook.com كل 10 ثوانٍ ، حتى تُرجع الثلاثة كود 200. بعد ذلك سوف يرسل طلبًا مع بيانات التكوين إلى
خادم S44571fu [.] Bget [.] Ru / CortelMoney / enter.php POST:
{"login":"NULL","mainId":"PPrn1DXeGvUtzXC7jna2oqdO2m?WUMzHAoM8hHQF","password":"NULL","source":[0,0,0,0],"updaterVersion":[0,0,0,0],"workerVersion":[0,0,0,0]}
في الوقت نفسه ، يتم استخدام زوج من "cortel: money" للترخيص الأساسي ، ويتم تعيين وكيل المستخدم على User-Agent. للحصول على ترخيص أساسي للطلبات اللاحقة ، تسجيل الدخول: سيتم استخدام كلمة المرور ، والتي سيقوم الخادم بالإبلاغ عنها.
يستجيب الخادم مع json مثل هذا:
{ "login": "240797", "password": "tdzjIF?JgEG5NOofJO6YrEPQcw2TJ7y4xPxqcz?X", "updaterVersion": [0, 0, 0, 115], "updaterLink": "http:\/\/s44571fu.bget.ru\/CortelMoney\/version\/0-0-0-115-upd.7z", "workerVersion": [0, 0, 3, 0], "workerLink": "http:\/\/s44571fu.bget.ru\/CortelMoney\/version\/0-0-3-0-work.7z" }
كما ترى ، فإن استجابة الخادم تحتوي على إصدارات من العناصر الرئيسية في طروادة. إذا كان الإصدار الحالي من المحدث على جهاز المستخدم أقدم من الإصدار الذي أبلغ عنه الخادم ، فسيقوم طروادة بتنزيل الملف من الرابط المحدد وفك ضغط الأرشيف في الدليل "٪ WINDIR٪ \\ WinKit \\\\" ، حيث سيتم بدلاً من ذلك الإشارة إلى قيمة المعلمة updaterVersion من استجابة الخادم .
طروادة تفريغ الملف العامل في الدليل٪ WINDIR٪ \\ WinKit \\ SystemNode \\ ، ثم قم بتشغيل "٪ WINDIR٪ \\ WinKit \\ SystemNode \\ sysnode٪ WINDIR٪ \\ WinKit \\ SystemNode \\ main.js".
محتويات الأرشيف مع العامل:
- node_modules.
- 7za.exe.
- مخطوطة.
- main.js.
- sysnode.exe.
يقوم Trojan بعد ذلك بإزالة خدمة Windows Node Guard ، ثم يقوم بإنشائها مرة أخرى ، مع استبدال الملف القابل للتنفيذ بملف خدمة Windows Node. بنفس الطريقة ، تقوم بإعادة إنشاء خدمة عقدة Windows ، مع استبدال الملف القابل للتنفيذ بـ daemon \\ service.exe.
service.xml النماذج التالية مع المعلمات:
<service><id>service.exe</id><executable>C:\Windows\\WinKit\0.0.0.115\msnode.exe</executable><arguments>"C:\Windows\\WinKit\0.0.0.115\start.js"</arguments></service>
يتم تثبيت المحدث في دليل "C: \ Windows \ Reserve Service" ، المسجل بواسطة الخدمة ويتم تشغيله بواسطة Node.js. binary. كما أنه يتألف من عدة برامج نصية js ومكتبات C ++ أصلية. الوحدة الرئيسية هي main.js.
محتويات الأرشيف مع المحدث:
- main.js.
- start.js.
- crypto.dll.
- network.dll.
- service.exe.
بادئ ذي بدء ، سوف يعرف طروادة التاريخ الحالي عن طريق إرسال طلب إلى google.com أو
yandex.ru أو
www.i.ua. انه يستخدم المعلومات التي وردت في وقت لاحق قليلا. ثم يقوم بفك تشفير محتويات ملف bootList.json باستخدام مكتبة crypto.dll.
خوارزمية فك التشفير:
key = '123' s = '' for i in range(len(d)): s += chr((ord(d[i]) - ord(key[i % len(key)])) & 0xff)
الحصول على قائمة خوادم الإدارة من هناك:
[{"node":"http://cortel8x.beget.tech/reserve","weight":10},{"node":"http://reserve-system.ru/work","weight":10}]
ثم يقرأ Trojan المعلومات من السجل:
function getInfo() { var WindowsNodeInfo = new Object(); WindowsNodeInfo.mainId = windowsLib.getStringRegKey("HLM\\SOFTWARE\\Microsoft\\Windows Node", "mainId"); WindowsNodeInfo.login = windowsLib.getStringRegKey("HLM\\SOFTWARE\\Microsoft\\Windows Node", "log"); WindowsNodeInfo.password = windowsLib.getStringRegKey("HLM\\SOFTWARE\\Microsoft\\Windows Node", "pass"); WindowsNodeInfo.source = windowsLib.getStringRegKey("HLM\\SOFTWARE\\Microsoft\\Windows Node", "source"); WindowsNodeInfo.updaterVersion = windowsLib.getStringRegKey("HLM\\SOFTWARE\\Microsoft\\Windows Node", "updaterVersion"); WindowsNodeInfo.workerVersion = windowsLib.getStringRegKey("HLM\\SOFTWARE\\Microsoft\\Windows Node", "workerVersion"); var ReserveSystemInfo = new Object(); ReserveSystemInfo.workerVersion = windowsLib.getStringRegKey("HLM\\SOFTWARE\\Microsoft\\Reserve System", "updaterVersion"); var myInfo = new Object(); myInfo.windowsNode = WindowsNodeInfo; myInfo.reserveSystem = ReserveSystemInfo; return JSON.stringify(myInfo); }
ثم يضيف رأس HTTP للتفويض الأساسي المطابق لزوج "cortel: money" ، ويرسله بطلب POST إلى خادم الإدارة الذي تم فك تشفيره مسبقًا.
استجابة لذلك ، يتلقى الخادم:
{ "data": { "updaterVersion": [0, 0, 0, 1], "updaterLink": "/upd.7z", "updaterVerify": "£ñß(\u0012Ä\ti¾$ë5ž»\u001c²\u001c\fÙ=±÷ö‚´èUnŽÐÂBÔ\n\u001dW6?u½\u0005Œn\u000fp:üÍ\u0019\u0000\u000bSý«\u00137÷\u0013”'ì¥û§s7F\u0016ó\\\u000f%6ñê\"7î<ýo䃃0Æ%t ñÅv‚S¡\r\u001e•ÅÆ¡¿N)v\\f8\u0004F\fUS¯‰³§ oIõŒiÆîGݪ\u0017êH/8Ö1-°™[P 5E7X‡Fø%S ŠXÕ6Oþ=Vô‰…ˆ:.3Œ‚i\u000eÁù9Ã&¾ŒM\u001eÛªé$\u0006#IèÞÛ\u0018À\u001b^è,ÁòÑCTXb\u001d$ç\u0004„ð¶0UVÕ»e\u001f\b\u001e¡Ä¼è+Fjúÿoâz\r !çô3xØs—_\u000b\u0017\u001fY]\u0001¥j^û\\W", "dateTime": 1534868028000, "bootList": [{ "node": "http://cortel8x.beget.tech/reserve/", "weight": 10 }, { "node": "http://reserve-system.ru/work/", "weight": 10 }] }, "dataInfo": "I`ù@ÀP'ÈcÊÛ´#iè Ò~\u0007<\u0001Ýìûl«ÔÆq\u0013àÛ\u0003\b\u0017ÑLÁ}ÿÚ˜DS']\u0003bf\u0003!¿Cð¸q¸ÖÜ'B¢CÄAMˆÀA¤d\u001c5¨d -\u0013‰\u0011ѼF'|SB[¬°(ܹÈÒÜ £L\u00071¾:`\u001bŒìýKõ\"²Ÿ¸$´3™UºÅ¨J†¨cƒf¿}r;Öeì¶x‰ØKt¥‹„47a\u001e¸Ô‡ˆy\u0006•\u001b\u0004‚‹„„•ó\u001a\u0019\nu>¨)bkæ…'\u00127@é‹7µæy3ÈNrS'Mð‡\u0018\u0019¾òÓ[Žå5H‡ƒ·¦k'¿ÉŠ&PÂÈîåÚ~M\u0010ðnáH擪xÃv cד\u0013…T…ïÑÝ\tœŽ\u0018†Æ\u00148$”Ôî" }
وهنا يأتي التاريخ الحالي ، الذي تم الحصول عليه مسبقًا. يقوم Trojan بفحصه مقابل معلمة dataTime التي يمر بها الخادم. إذا كان الفرق بين التواريخ أكثر من أسبوع (من حيث المللي ثانية) ، فلن يقوم طروادة بتنفيذ الأوامر. تحتوي المعلمة dataInfo أيضًا على توقيع البيانات (حقل البيانات) ، ويتم فحصه باستخدام المفتاح العمومي السلكية في main.js. وتحتوي المعلمة "bootList" على قائمة بالخوادم ، يقوم تشفير طروادة بتشفيرها وتخزينها في "bootList.json".
بعد ذلك ، يقوم طروادة بالتحقق من نسخته مقابل النسخة المحددة في المعلمة updaterVersion. إذا لم تكن النسخة المثبتة أقل من أحدث إصدار ، فإن طروادة تطلق "upd \\ upd.exe" بتمرير المعلمة "main.js". إذا كان الإصدار من استجابة الخادم أحدث ، فسيقوم طروادة بتنزيل أرشيف التحديث باستخدام الرابط من المعلمة "updaterLink" update.7z ، والتحقق من توقيعه وإلغاء حزمه. ثم يكتب إلى السجل إصدار التحديث [HKLM \\ SOFTWARE \\ Microsoft \\ Reserve System] 'updaterVersion' ، وبعد ذلك يقوم مرة أخرى بتشغيل "update \\ upd.exe" ، ويمرره مع المعلمة "main.js".
يتحقق Trojan’s Worker من أن أحد المكونات قد تم تثبيته بالفعل ، ويتخذ قرارات بشأن تثبيت التطبيقات. أولاً ، يقوم بإنشاء mutex MoonTitleWorker ، ثم فك تشفير ملف codeX مع XOR باستخدام السلسلة "xor" وتنفيذها. بعد ذلك تشكل json مع المعلومات:
{"userId": id, "starter": [], "worker": [], "source": [], "osInfo": {"isX64": True, "osString": "Windows 7 Enterprise"}}
يرسل هذه المعلومات مع طلب POST إلى http: // <malicious_site> [.] Xyz: 1001 / getApps (من أجل اللياقة ، لا نحدد اسم مجال ، ولكن يمكن العثور عليه
هنا .) قد تحتوي استجابة الخادم على معلومات حول التطبيقات التي يلزم تثبيتها.
الإجابة على سبيل المثال:
{ "body": { "apps": [{ "hash": "452f8e156c5c3206b46ea0fe61a47b247251f24d60bdba31c41298cd5e8eba9a", "size": 8137466, "version": [2, 0, 0, 2], "link": "xmr-1-64.7z", "path": "%pf%\\Microsoft JDX\\64", "runComand": "%path%\\moonlight.exe start.js", "name": "xmr64" }] }, "head": "O~¨^Óå+ßzIçsG¬üS„ʶ$êL–LùθZ\f\u0019ÐÐ\u000e \u0004\u001cÀU¯\u0011š)áUÚ\u001flß²A\u001fôÝÔ숱y%\"DP» ^¯«FUâ\u001cÔû\u001dµ´Jï#¬ÌȹÎÚª?\r—]Yj·÷õ³—\u001e°ÖÒ\\鉤d'BT\u0019·¦FõVQ°Aç')\u001cõªµ¦ýûHlb͸þ}éŒ\u0000jvÔ%S;Ã×þA\u0011ß'I[´\u0004ýÚ\u0007Z:ZÂ\n–ñz#ÈBö›²2\u0007ÎJw±èTVoŸå\bÖR3½ù;ƒó\u0011ÉÌ€ÅÖàð06ÓeÕþˆ”7Ùš\u0011•»”˜¢5µgôÛc˜&L\u000fê.?!Çæ}¨\u001eÕ—J#A¼_Ì\u0015càñb" }
إذا لم يكن الجهاز يحتوي على مثل هذا التطبيق ، فسيقوم طروادة بتنزيله عن طريق إرسال طلب POST إلى عنوان URL http: // <malicious_site> [.] Xyz: 1001 / ، حيث سيتم الإشارة إلى معلمة الارتباط للتطبيق المقابل من استجابة الخادم بدلاً من ذلك. إذا كان هناك مثل هذا التطبيق ، ولكن إصدارًا أقدم ، يتم تحديثه إلى الإصدار الحالي.
يقوم Trojan بالتحقق من حجم وتجزئة الملف الذي تم تنزيله بالمعلومات المحددة بواسطة الخادم في معلمات التجزئة والحجم. إذا تقاربت البيانات ، فإنها تنقل الملف على طول المسار من معلمة المسار وتقوم بتشغيل الأمر المحدد في حقل runCommand. يتم تخزين معلومات حول التطبيق الذي تم تنزيله في السجل [HKLM \\ SOFTWARE \\ Microsoft \\ MoonTitle \\ apps \\].
في الوقت الحالي ، يتم تعيين عامل المناجم xmrig باستخدام الباب الخلفي. اعتمادًا على سعة النظام ، يقوم طروادة بتنزيل أرشيف xmr-1.7z أو xmr-1-64.7z. في start.js ، يتم تحميل مكتبة xmrig.dll وتدعو إلى تصدير mymain ، حيث تنشر متغيرات البيئة الخاصة بها وتقتل العمليات:
- ٪ sys32_86٪ \\ xmr؛
- ٪ sys32_86٪ \\ xmr64؛
- ٪ pf_86٪ \\ Microsoft JDX \\ 32 \\ windows-update.exe؛
- ٪ pf_86٪ \\ Microsoft JDX \\ 64 \\ windows-update.exe.
في حالة وجود ملف xmrig.exe في مكان قريب ، يقوم Trojan بتحميله في ذاكرة العملية الحالية ، ويمحو توقيع MZ ، ويقوم بفك تشفيره باستخدام XOR باستخدام 0x39 ، ثم يحفظ ملف التفريغ في ملف التفريغ. إذا عثر طروادة على ملف "التفريغ" في نفس الدليل ، فسيتم فك تشفيره بالطريقة نفسها ، ويقوم بتشغيل windows-update.exe ويدمج الحمولة النافرة المشفرة فيه.
تجمع طروادة وترسل بواسطة طلب POST إلى عنوان URL:
cherry-pot [.] Top / RemoteApps / xmr / main.php معلومات النظام التالية: {"action": "enter"، "architecture": "INTEL"، "cpuAES" : true ، "cpuCache": 8192 ، "cpuSpeed": 3392.0 ، "cpuThreads": 2 ، "cpuVendorString": "Intel® Core (TM) i5-4690S CPU @ 3.20GHz \ u0000" ، "hightPages": false تسجيل الدخول ":" null "،" password ":" null "،" ramPhysicalSize ": 3071 ،" xmrigVersion ": [2،10،0]}
ردا على ذلك ، يرسل الخادم تكوين عامل المنجم:
{"maxCpuLoad":1000,"minCpuLoad ":0,"algo":"cryptonight-pico/trtl","av":0,"background":false,"donate-level":1,"max-cpu-usage":75,"retries":5,"retry-pause":5,"cpu-priority":1,"pools":[{"url":"185.224.133.91:5511","keepalive":true,"nicehash":true}]}
بعد أن يحفظ طروادة التكوين في config.json ، سيبدأ التعدين تلقائيًا.
MonsterInstall لديه تعديلات أخرى. على سبيل المثال ، بالإضافة إلى خداع الألعاب ، قام مطور Malvari بتوزيعه تحت ستار برنامج تثبيت متصفح Chrome وبرنامج لفحص الملفات. في الإصدارات اللاحقة من طروادة ، فكر المطور في الأمان وتشفير السلسلة المضافة ، وكذلك الحاجة إلى إدخال كلمة مرور لبعض الملفات. بالإضافة إلى ذلك ، لدى أداة تحميل التشغيل الخاصة بأحد إصدارات Trojan ارتباطًا باتفاقية ترخيص مستضافة على مجال مطور طروادة.
(للأسف ، تتعدى الأسئلة المتعلقة بالقوة القانونية لهذه الاتفاقات ، نطاق هذه المقالة ، ولكن إذا كنت مهتمًا بقراءة مواد حول هذا الموضوع ، فأخبرنا بها في التعليقات).
النتائجNode.js ليس هو الحل العملي لكتاب الفيروسات. إذا كان حجم مثل هذا طروادة صغيرًا ، فسيكون الربط Node.js (الملف القابل للتنفيذ والمكتبات) "أثقل" بدرجة كبيرة من malvari القياسي. ما الذي يملي هذا الاختيار؟ كقاعدة عامة ، يختار المطورون الأدوات التي هم على دراية بها. لذلك ، حتى في حالة المربين ، يعد اختيار التكنولوجيا مسألة تفضيل شخصي أكثر. ومع ذلك ، Node.js له مزاياه ، واحدة منها هي توقيع صحيح. في النظام ، سيتم توقيع هذه العملية على أنها Node.js ، والتي نادراً ما تثير الشكوك.
في الخلاصة ، يمكن الإشارة إلى أنه على الرغم من اختيار الأدوات المثير للاهتمام ، فإن هذا لم يمنح المطور الخلفي أي ميزة كبيرة. من غير المرجح في المستقبل أن نرى المزيد من البرامج الضارة باستخدام Node.js.
كالعادة ، نشارك
مؤشرات التسوية .