
Rusty Stealer का रिवर्स इंजीनियरिंग: एक Rust-आधारित RAT जिसमें उन्नत कीलॉगिंग, लाइव स्क्रीन स्ट्रीमिंग, और स्थायित्व बनाए रखने के लिए आक्रामक डिफेंस इवेजन (Windows Defender को मारना और सेवाओं को हाईजैक करना) शामिल है।
Ghidra में Rusty Stealer सैंपल की प्रारंभिक रिवर्स इंजीनियरिंग से पता चलता है कि Rust में संकलित एक समर्पित कीलॉगर मॉड्यूल मौजूद है। डीकंपाइल किया गया दृश्य स्पष्ट रूप से दिखाता है कि मैलवेयर कीकोड्स को हल करके और उन्हें विशिष्ट क्रियाओं से मैप करके उपयोगकर्ता इनपुट में हुक कर रहा है। यह पुष्टि करता है कि स्टीलर क्रेडेंशियल, चैट और संवेदनशील उपयोगकर्ता डेटा एकत्र करने के लिए सक्रिय रूप से कीस्ट्रोक्स लॉग करता है।
कीलॉगर लॉजिक (स्यूडो-C दृश्य): FUN_140020ffe(&Var29, pHVar44, "key_press", 9) – गतिशील रूप से "key_press" इवेंट स्ट्रिंग को हल करता है। विशिष्ट कुंजियों के लिए शर्त जाँच: "Enter", "Escape", "Esc", "Tab", "Backspace", "Back"। *HKEY__ pHVar37 = ... – रजिस्ट्री हैंडल रिज़ॉल्यूशन (संभवतः कीबोर्ड लेआउट पढ़ना या पर्सिस्टेंस) असेम्बली दृश्य (डिसअसेम्बली): LEA R8, [local_4a8] / MOV qword ptr [R8], RAX – कुंजी इवेंट संरचना को मेमोरी में लोड करता है। CALL FUN_140020ffe – मुख्य कुंजी-प्रोसेसिंग फ़ंक्शन। JZ LAB_14000f309 – कुंजी कोड के आधार पर सशर्त जंप (विशिष्ट कुंजियों की जाँच)।
सक्रिय कीस्ट्रोक कैप्चर: "Enter", "Tab", "Backspace" आदि की स्पष्ट जाँच साबित करती है कि मैलवेयर पासवर्ड और संदेशों को पुनर्निर्मित करने के लिए विशेष कुंजियों सहित हर कीस्ट्रोक लॉग करता है। रजिस्ट्री इंटरैक्शन: HKEY__ हैंडल बताता है कि कीलॉगर सिस्टम कॉन्फ़िगरेशन पढ़ रहा हो सकता है या अपने लॉग रजिस्ट्री में संग्रहीत कर रहा हो सकता है। क्रेडेंशियल हार्वेस्टिंग: विंडो शीर्षकों के साथ "key_press" इवेंट लॉग करना (बाद के चरणों में देखा गया) हमलावर को कीस्ट्रोक्स को विशिष्ट अनुप्रयोगों (जैसे, ब्राउज़र, बैंकिंग ऐप्स) से मैप करने की अनुमति देता है।

Rusty Stealer का दूसरा Ghidra डीकंपाइलेशन दृश्य एक ऐसी क्षमता प्रकट करता है जो इसे एक मानक इन्फो-स्टीलर से आगे बढ़ाकर RAT (रिमोट एक्सेस ट्रोजन) क्षेत्र में ले जाती है। मैलवेयर में स्क्रीन कैप्चर और लाइव स्ट्रीमिंग के लिए रूटीन शामिल हैं, जो हमलावर को फ़ाइलों और कीस्ट्रोक्स चुराने के अतिरिक्त पीड़ित के डेस्कटॉप की वास्तविक समय में दृश्य निगरानी करने की अनुमति देते हैं।
स्क्रीन कैप्चर लॉजिक: FUN_140020ffe(..., "screen_stream", 0xd) – स्पष्ट रूप से स्क्रीन स्ट्रीमिंग मॉड्यूल को प्रारंभ करता है। FUN_14000d9eb7("fps", 3, ...) – लाइव स्ट्रीम के लिए फ़्रेम दर (FPS) सेट करता है, संभवतः CPU उपयोग और वीडियो गुणवत्ता को संतुलित करने के लिए। FUN_14000c87a(..., "done", 4) / FUN_14000c87a(..., "streaming", 9) – स्ट्रीमिंग संचालन शुरू/बंद करने के लिए स्थिति मार्कर। मेमोरी और बफ़र प्रबंधन: if (uVar69 < 5) { uVar47 = uVar69; } – स्क्रीन फ़्रेम के लिए आंतरिक बफ़रिंग लॉजिक। असेम्बली संदर्भ (क्रॉस-रेफ़रेंस): LEA R8, [s_screen_stream_14001592a] – तुलना के लिए "screen_stream" स्ट्रिंग को मेमोरी में लोड करता है। CALL FUN_140020ffe – स्ट्रीमिंग लॉजिक के लिए मुख्य हैंडलर।
लाइव निगरानी: "screen_stream" और "fps" स्ट्रिंग्स साबित करती हैं कि मैलवेयर पीड़ित की स्क्रीन को लाइव-स्ट्रीम कर सकता है। यह पूर्ण-विकसित RATs (जैसे njRAT या Quasar) की पहचान है, न कि केवल साधारण स्टीलर्स की। डेटा एक्सफ़िल्ट्रेशन (दृश्य): जहाँ कीलॉगर टेक्स्ट पकड़ते हैं, वहीं स्क्रीन स्ट्रीमिंग बैंकिंग सत्रों, क्रिप्टो वॉलेट्स और निजी संदेशों को दृश्य रूप से कैप्चर करती है — एन्क्रिप्शन को पूरी तरह से बायपास करते हुए। संसाधन अनुकूलन: एक विशिष्ट FPS (जैसे 3 FPS) सेट करने का अर्थ है कि मैलवेयर को उच्च CPU उपयोग के माध्यम से उपयोगकर्ता को सचेत किए बिना पृष्ठभूमि में चुपचाप चलने के लिए डिज़ाइन किया गया है।

Rusty Stealer का तीसरा डीकंपाइल किया गया दृश्य अत्यधिक आक्रामक डिफेंस इवेज़न और सत्र हाईजैकिंग रूटीन को उजागर करता है। मैलवेयर में Windows Defender को मारने और सक्रिय नेटवर्क/स्ट्रीमिंग सत्रों को हाईजैक करने के विशिष्ट फ़ंक्शन शामिल हैं (संभवतः ट्रैफ़िक को इंटरसेप्ट करने या सुरक्षा निगरानी को बाधित करने के लिए)। यह पुष्टि करता है कि Rusty Stealer को केवल डेटा चुराने के लिए नहीं, बल्कि सुरक्षा उपकरणों को सक्रिय रूप से अंधा करने के लिए डिज़ाइन किया गया है।
Windows Defender को मारना: FUN_140020ffe(..., "kill_defender", 0xd) – Defender प्रक्रियाओं को समाप्त करने के लिए स्ट्रिंग को गतिशील रूप से हल करता है। FUN_14001add55() – संभवतः वह निष्पादन रूटीन जो Defender सेवाओं या प्रक्रियाओं को जबरन रोकता है। स्ट्रीम हाईजैकिंग: FUN_140020ffe(..., "hijack_stream", 0xc) – सक्रिय स्ट्रीम (नेटवर्क ट्रैफ़िक या स्क्रीन-शेयरिंग) को हाईजैक करने के लिए लॉजिक को हल करता है। मेमोरी मैनिपुलेशन और निष्पादन: MOVUPS xmmword ptr [R12] / MOVUPS xmmword ptr [RDX + local_550] – तेज़ मेमोरी कॉपी के लिए उपयोग किए जाने वाले SIMD निर्देश (संभवतः शेलकोड या स्ट्रीम बफ़र्स तैयार करना)। CALL FUN_14000d55() – हाईजैक या किल रूटीन को निष्पादित करता है।
Defender को अंधा करना: kill_defender साबित करता है कि स्टीलर सक्रिय रूप से Windows की अंतर्निहित सुरक्षा को लक्षित करता है। यदि सफल होता है, तो यह रीयल-टाइम सुरक्षा को अक्षम कर देता है, जिससे बाकी मैलवेयर (कीबोर्ड लॉगर, स्क्रीन स्ट्रीमर) बिना किसी हस्तक्षेप के काम कर सकता है। सत्र हाईजैकिंग: hijack_stream बताता है कि मैलवेयर सक्रिय नेटवर्क स्ट्रीम को इंटरसेप्ट या अपने कब्जे में ले सकता है। इसका उपयोग लाइव सत्र कुकीज़ चुराने, बैंकिंग लेनदेन को इंटरसेप्ट करने, या रिमोट प्रशासन उपकरणों को बाधित करने के लिए किया जा सकता है। डिज़ाइन द्वारा चोरी: error_pinned की उपस्थिति दर्शाती है कि मैलवेयर उन सुरक्षाओं का पूर्वानुमान लगाता है जहाँ महत्वपूर्ण प्रक्रियाओं को समाप्त नहीं किया जा सकता। यह संभवतः पुनः प्रयास करता है या तकनीक बदल देता है।

Rusty Stealer का चौथा डीकंपाइल किया गया दृश्य इसके सिस्टम टोह मॉड्यूल को उजागर करता है। डेटा चुराने या फ़ाइलें बाहर भेजने से पहले, मैलवेयर शिकार की मशीन के बारे में विस्तृत जानकारी एकत्र करता है, जिसमें होस्टनेम, उपयोगकर्ता नाम, ऑपरेटिंग सिस्टम संस्करण, और स्थानीय/बाहरी IP पते शामिल हैं। यह प्रोफाइलिंग डेटा संभवतः C2 सर्वर को भेजा जाता है ताकि शिकार को वर्गीकृत किया जा सके और हमले के अगले चरण को अनुकूलित किया जा सके।
सिस्टम प्रोफाइलिंग स्ट्रिंग्स:
"hostname" – शिकार के कंप्यूटर का नाम प्राप्त करता है। "username" – लॉग-इन किए गए उपयोगकर्ता खाते को प्राप्त करता है। "os_ver" – सटीक Windows संस्करण और बिल्ड को कैप्चर करता है। "local_ip" – शिकार के आंतरिक नेटवर्क IP पते की पहचान करता है। "external_ip" – सार्वजनिक IP पते को हल करता है (संभवतः किसी बाहरी API के माध्यम से)। "stream_id" – स्क्रीन स्ट्रीमिंग सत्र के लिए एक अद्वितीय पहचानकर्ता उत्पन्न करता है।
डीकंपाइल किया गया लॉजिक:
FUN_1400084d2(uStack_570, "hostname", 8, ...) – होस्टनेम को एक संरचना में संग्रहीत करता है।
FUN_1400084d2(uStack_570, "username", 8, ...) – उपयोगकर्ता नाम संग्रहीत करता है।
FUN_1400084d2(uStack_570, "os_ver", 6, ...) – OS संस्करण संग्रहीत करता है।
FUN_1400084d2(uStack_570, "local_ip", 8, ...) / "external_ip" – नेटवर्क पहचानकर्ता संग्रहीत करता है।
मेमोरी संरचनाएँ: HKEY__ *local_588 / CONCAT71(local_588, 0x7f, 1) – रजिस्ट्री-संबंधित पॉइंटर हैंडलिंग (संभवतः सिस्टम पहचानकर्ता पढ़ना)। FUN_140010ce1(..., local_3e8, ...) – प्रोफाइलिंग डेटा का अंतिम संयोजन।