Baru-baru ini, kolega dari Yandex membagikan sampel Trojan menarik kepada kami, yang kami laporkan dalam berita
ini . Malware semacam itu tidak sering muncul, jadi kami memutuskan untuk membukanya secara lebih rinci, dan pada saat yang sama berbicara tentang mengapa kami jarang menemukan sampel seperti itu.
Trojan adalah backdoor multi-komponen yang ditulis dalam JavaScript dan menggunakan Node.js. untuk menjalankannya. Elemen utamanya adalah pekerja dan pembaru, yang diunduh dan diinstal ke dalam sistem oleh bootloader. Payload bisa berupa apa saja, tetapi dalam kasus ini, Trojan menginstal xmrig miner. Pada saat penelitian, pengembang menggunakan penambang untuk menambang cryptocurrency TurtleCoin.
MonsterInstall didistribusikan melalui situs-situs dengan kode curang untuk permainan video populer. Sebagian besar sumber daya ini milik pengembang Trojan, tetapi kami menemukan beberapa file yang lebih terinfeksi di situs lain yang serupa. Pemilik salah satu dari mereka secara teratur memantau pembaruan pesaing dan mengisi kembali sumber dayanya dengan konten segar. Untuk melakukan ini, ia menggunakan skrip parser.php, yang melalui proxy mencari cheat baru di 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
Di situs pengembang ada banyak pilihan kode curang, tetapi arsip yang sama akan dikembalikan untuk semua tautan. Jika Anda mencoba mengunduh file apa pun dari situs malware, pengguna akan menerima Trojan.MonsterInstall. Beberapa parameter Trojan dapat ditebak dari tautan unduhan:
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
- nama - nama arsip dan exe di arsip;
- tautan - tautan ke file yang ingin diunduh pengguna (ditransfer dengan data.json);
- kata sandi - kata sandi untuk arsip.
Misalkan kita memilih cheat yang diinginkan dan mengunduh arsip 7zip yang dilindungi kata sandi dengan nama menjanjikan "ExtrimHack.rar" dari situs pengembang Trojan. Di dalamnya ada file yang dapat dieksekusi, file konfigurasi, perpustakaan 7zip, serta arsip tempat sampah dengan pustaka dan skrip asli C ++ yang diluncurkan menggunakan binar Node.js.
Contoh konten arsip:
- 7z.dll;
- data.bin;
- data.json;
- Cheat ESP untuk COP GO.exe.
Ketika executable diluncurkan, Trojan akan menginstal semua komponen yang diperlukan untuk operasinya, dan juga mengunduh cheat yang diperlukan untuk pengguna, menggunakan informasi dari file data.json dengan parameter.
Contoh konten data.json:
{"source":[5,10,11,43],"dataVersion":[0,0,0,115],"link":"http:\/\/clearcheats.ru\/images\/dl\/csgo\/ESP_csgo.dll"}
Untuk mengecualikan beberapa salinan dari prosesnya dari bekerja, Trojan menciptakan mutex "cortelMoney-suncMutex" dan menginstalnya di direktori "% WINDIR% \ WinKit \". Kemudian memeriksa untuk melihat apakah ada di registri ([Perangkat Lunak HKLM \\ Microsoft \\ Windows Node]). Jika demikian, ia membaca parameternya dan membandingkan versi dengan yang ditentukan dalam data.json. Jika versi saat ini, itu tidak melakukan apa-apa lagi dan berakhir.
Setelah itu, Trojan membongkar isi data.bin di% WINDIR% \\ WinKit \\ dan menginstal layanan untuk memulai start.js.
Konten data.bin:
- Daemon;
- node_modules;
- 7z.dll;
- msnode.exe;
- start.js;
- startDll.dll;
- update.js;
- updateDll.dll.
Pada saat yang sama, msnode.exe adalah file yang dapat dieksekusi Node.js dengan tanda tangan digital yang valid, dan direktori node_modules berisi pustaka "ffi", "node-windows" dan "ref".
Pustaka startDll.dll dimuat di start.js dan ekspor mymain disebut, di mana ia membaca parameternya dari registri, mulai "% WINDIR% \\ WinKit \\ msnode% WINDIR% \\ WinKit \\ update.js" dan menghentikan layanan "Windows Node." Skrip update.js, pada gilirannya, memuat pustaka updateDll.dll dan memanggil ekspor mymain. Tidak ada yang rumit.
Di updateDll.dll, Trojan akan mulai memeriksa koneksi Internet Anda. Untuk melakukan ini, ia akan mengirim permintaan ke google.com, yahoo.com, facebook.com setiap 10 detik, hingga ketiganya mengembalikan 200 kode. Maka itu akan mengirim permintaan dengan data konfigurasi ke
s44571fu [.] Bget [.] Ru / CortelMoney / enter.php server POST:
{"login":"NULL","mainId":"PPrn1DXeGvUtzXC7jna2oqdO2m?WUMzHAoM8hHQF","password":"NULL","source":[0,0,0,0],"updaterVersion":[0,0,0,0],"workerVersion":[0,0,0,0]}
Pada saat yang sama, pasangan uang cortel: digunakan untuk otorisasi dasar, dan AGEN PENGGUNA diatur ke Agen-Pengguna. Untuk otorisasi dasar dari permintaan berikutnya, login: kata sandi akan digunakan, yang akan dilaporkan oleh server.
Server merespons dengan json seperti ini:
{ "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" }
Seperti yang Anda lihat, respons server berisi versi elemen-elemen utama Trojan. Jika versi saat ini dari pembaruan pada perangkat pengguna lebih tua dari yang dilaporkan oleh server, Trojan mengunduh file dari tautan yang ditentukan dan membongkar arsip ke direktori "% WINDIR% \\ WinKit \\", di mana alih-alih nilai parameter parameter pembaruan dari respons server akan ditunjukkan. .
Trojan membongkar file pekerja ke direktori% WINDIR% \\ WinKit \\ SystemNode \\, dan kemudian meluncurkan "% WINDIR% \\ WinKit \\ SystemNode \\ sysnode% WINDIR% \\ WinKit \\ SystemNode \\ main.js".
Isi arsip dengan pekerja:
- node_modules;
- 7za.exe;
- kodeks;
- main.js;
- sysnode.exe.
Trojan kemudian menghapus layanan Windows Node Guard, dan kemudian membuatnya lagi, mengganti file yang dapat dieksekusi dengan file layanan Windows Node. Dengan cara yang sama, itu menciptakan kembali layanan Windows Node, menggantikan yang dapat dieksekusi dengan daemon \\ service.exe.
Berikutnya membentuk service.xml dengan parameter:
<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>
Updater diinstal di direktori "C: \ Windows \ Reserve Service", terdaftar oleh layanan dan diluncurkan oleh biner Node.js. Ini juga terdiri dari beberapa skrip js dan pustaka C ++ asli. Modul utama adalah main.js.
Isi arsip dengan pembaru:
- main.js;
- start.js;
- crypto.dll;
- network.dll;
- service.exe.
Pertama-tama, Trojan akan mengetahui tanggal saat ini dengan mengirimkan permintaan ke google.com, yandex.ru atau
www.i.ua. Dia menggunakan informasi yang diterima sedikit kemudian. Itu kemudian mendekripsi isi file bootList.json menggunakan pustaka crypto.dll.
Algoritma Dekripsi:
key = '123' s = '' for i in range(len(d)): s += chr((ord(d[i]) - ord(key[i % len(key)])) & 0xff)
Mendapat daftar server manajemen dari sana:
[{"node":"http://cortel8x.beget.tech/reserve","weight":10},{"node":"http://reserve-system.ru/work","weight":10}]
Kemudian Trojan membaca informasi dari registri:
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); }
Kemudian ia menambahkan header HTTP dari otorisasi dasar yang sesuai dengan pasangan "cortel: money", dan mengirimkannya dengan permintaan POST ke server manajemen yang sebelumnya didekripsi.
Sebagai tanggapan, server menerima:
{ "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$”Ôî" }
Dan inilah tanggal saat ini, diperoleh sebelumnya. Trojan mengeceknya terhadap parameter dataTime yang dilewatkan oleh server. Jika perbedaan antara tanggal lebih dari satu minggu (dalam milidetik), Trojan tidak akan menjalankan perintah. Parameter dataInfo juga berisi tanda tangan data (bidang data), itu diperiksa menggunakan kunci publik kabel di main.js. Dan parameter "bootList" berisi daftar server, yang dienkripsi dan disimpan oleh Trojan di "bootList.json".
Setelah itu, Trojan memverifikasi versinya dengan yang ditentukan dalam parameter updaterVersion. Jika versi yang diinstal tidak lebih rendah dari yang terbaru, Trojan meluncurkan "upd \\ upd.exe" dengan mengirimkan parameter "main.js". Jika versi dari respons server lebih baru, maka Trojan mengunduh arsip pembaruan menggunakan tautan dari parameter "updaterLink" upd.7z, memeriksa tanda tangannya dan membukanya. Kemudian ia menulis ke registri versi pembaruan [HKLM \\ SOFTWARE \\ Microsoft \\ Reserve System] 'updaterVersion', setelah itu lagi meluncurkan "upd \\ upd.exe", meneruskannya dengan parameter "main.js".
Pekerja Trojan memeriksa apakah salah satu komponen telah diinstal, dan membuat keputusan tentang apakah akan menginstal aplikasi. Pertama, ia menciptakan mutasi MoonTitleWorker, kemudian mendekripsi file codeX dengan XOR dengan string "xor" dan mengeksekusinya. Setelah itu membentuk json dengan informasi:
{"userId": id, "starter": [], "worker": [], "source": [], "osInfo": {"isX64": True, "osString": "Windows 7 Enterprise"}}
Mengirim informasi ini dengan permintaan POST ke http: // <malicious_site> [.] Xyz: 1001 / getApps (demi kesopanan, kami tidak menentukan nama domain, tetapi dapat ditemukan di
sini .) Respons server mungkin berisi informasi tentang aplikasi yang perlu diinstal.
Contoh jawaban:
{ "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" }
Jika perangkat tidak memiliki aplikasi seperti itu, Trojan mengunduhnya dengan mengirimkan permintaan POST ke URL http: // <malicious_site> [.] Xyz: 1001 /, di mana parameter tautan untuk aplikasi yang sesuai dari respons server akan ditunjukkan sebagai gantinya. Jika ada aplikasi seperti itu, tetapi versi yang lebih lama, itu diperbarui ke yang sekarang.
Trojan memeriksa ukuran dan hash dari file yang diunduh dengan informasi yang ditentukan oleh server dalam parameter hash dan ukuran. Jika data menyatu, ia memindahkan file di sepanjang jalur dari parameter jalur dan menjalankan perintah yang ditentukan di bidang runCommand. Informasi tentang aplikasi yang diunduh disimpan dalam registri [HKLM \\ SOFTWARE \\ Microsoft \\ MoonTitle \\ apps \\].
Saat ini, penambang xmrig sedang diatur menggunakan pintu belakang. Bergantung pada kapasitas sistem, Trojan mengunduh arsip xmr-1.7z atau xmr-1-64.7z. Di start.js, ia memuat pustaka xmrig.dll dan memanggil ekspor mymain, di mana ia menyebarkan variabel lingkungannya dan membunuh prosesnya:
- % sys32_86% \\ xmr;
- % sys32_86% \\ xmr64;
- % pf_86% \\ Microsoft JDX \\ 32 \\ windows-update.exe;
- % pf_86% \\ Microsoft JDX \\ 64 \\ windows-update.exe.
Jika file xmrig.exe terletak di dekatnya, Trojan memuatnya ke dalam memori proses saat ini, menghapus tanda tangan MZ, mendekripsi menggunakan XOR dengan 0x39, dan kemudian menyimpan dumpnya di file dump. Jika Trojan menemukan file "dump" di direktori yang sama, ia mendekripsi dengan cara yang sama, meluncurkan windows-update.exe dan menanamkan muatan yang didekripsi ke dalamnya.
Trojan mengumpulkan dan mengirim melalui POST permintaan ke URL:
cherry-pot [.] Top / RemoteApps / xmr / main.php informasi sistem berikut: {"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, " login ":" null "," password ":" null "," ramPhysicalSize ": 3071," xmrigVersion ": [2,10,0]}
Sebagai tanggapan, server mengirimkan konfigurasi penambang:
{"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}]}
Setelah Trojan menyimpan konfigurasi di config.json, ia akan secara otomatis memulai dan mulai menambang.
MonsterInstall memiliki modifikasi lain. Sebagai contoh, selain cheat untuk game, pengembang Malvari mendistribusikannya dengan kedok pemasang browser Chrome dan program untuk memeriksa file. Dalam versi Trojan yang lebih baru, pengembang memikirkan tentang keamanan dan menambahkan enkripsi string, serta kebutuhan untuk memasukkan kata sandi untuk beberapa file. Selain itu, dalam bootloader dari salah satu versi Trojan, bahkan ada tautan ke perjanjian lisensi yang diposting di domain pengembang Trojan.
(Pertanyaan tentang kekuatan hukum dari perjanjian semacam itu, sayangnya, berada di luar ruang lingkup artikel ini, tetapi jika Anda tertarik untuk membaca materi tentang topik ini, beri tahu kami di komentar).
KesimpulanNode.js bukan solusi paling praktis untuk penulis virus. Jika ukuran Trojan seperti itu bisa kecil, maka ikatan Node.js (file dan perpustakaan yang dapat dieksekusi) akan secara signifikan “lebih berat” daripada malvari standar. Apa yang menentukan pilihan ini? Sebagai aturan, pengembang memilih alat yang mereka kenal. Oleh karena itu, bahkan dalam kasus peternak, pilihan teknologi lebih merupakan masalah preferensi pribadi. Namun, Node.js memiliki kelebihan, salah satunya adalah tanda tangan yang valid. Dalam sistem, proses seperti itu akan ditandatangani sebagai Node.js, yang jarang menimbulkan kecurigaan.
Kesimpulannya, dapat dicatat bahwa, terlepas dari pilihan alat yang menarik, ini tidak memberikan keuntungan signifikan bagi pengembang backdoor. Tidak mungkin bahwa di masa depan kita akan melihat lebih banyak malware menggunakan Node.js.
Seperti biasa, kami berbagi
indikator kompromi .