
HVNC के लिए Cobalt Strike
हिडन डेस्कटॉप (जिसे अक्सर HVNC कहा जाता है) एक उपकरण है जो ऑपरेटरों को उपयोगकर्ता को बताए बिना रिमोट डेस्कटॉप सत्र के साथ बातचीत करने की अनुमति देता है। VNC प्रोटोकॉल शामिल नहीं है, लेकिन परिणाम एक समान अनुभव है। यह Cobalt Strike BOF कार्यान्वयन C++ में लिखे गए TinyNuke/फोर्क्स के विकल्प के रूप में बनाया गया था।
हिडन डेस्कटॉप के चार घटक हैं:
BOF आरंभकर्ता: छोटा प्रोग्राम जो Becon प्रक्रिया में HVNC कोड को इंजेक्ट करने के लिए जिम्मेदार है।
HVNC शेलकोड: TinyNuke HVNC का PIC कार्यान्वयन।
सर्वर और ऑपरेटर UI: सर्वर जो HVNC शेलकोड से कनेक्शन सुनता है और एक UI जो ऑपरेटर को रिमोट डेस्कटॉप के साथ बातचीत करने की अनुमति देता है। वर्तमान में केवल Windows का समर्थन करता है।
एप्लिकेशन लॉन्चर BOFs: Becon ऑब्जेक्ट फ़ाइलों का सेट जो नए डेस्कटॉप में एप्लिकेशन निष्पादित करता है।
नवीनतम रिलीज़ डाउनलोड करें या make का उपयोग करके स्वयं संकलित करें। टीमसर्वर से सुलभ Windows मशीन पर HVNC सर्वर प्रारंभ करें। फिर आप क्लाइंट को निम्नलिखित के साथ निष्पादित कर सकते हैं:
HiddenDesktop <server> <port>
आपको सर्वर मशीन पर एक नई खाली विंडो दिखनी चाहिए। BOF डिफ़ॉल्ट रूप से कोई एप्लिकेशन निष्पादित नहीं करता है। आप नए डेस्कटॉप पर सामान्य प्रोग्राम निष्पादित करने के लिए एप्लिकेशन लॉन्चर BOFs का उपयोग कर सकते हैं:
hd-launch-edge
hd-launch-explorer
hd-launch-run
hd-launch-cmd
hd-launch-chrome
आप माउस और कीबोर्ड का उपयोग करके फ़ाइल एक्सप्लोरर के माध्यम से भी प्रोग्राम लॉन्च कर सकते हैं। अन्य एप्लिकेशन को निम्नलिखित कमांड का उपयोग करके निष्पादित किया जा सकता है:
hd-launch <command> [args]
https://github.com/WKL-Sec/HiddenDesktop/assets/9327972/82f73393-ba44-42b4-8eae-b36b7181fac0
rportfwd का उपयोग करके टीम सर्वर पर वापस अग्रेषित किया जाता है। स्थिति अपडेट एक नामित पाइप के माध्यम से Becon को वापस भेजे जाते हैं।InputHandler फ़ंक्शन को पास किया जाता है। यह शेलकोड को निष्पादित करने के लिए BeaconInjectProcess का उपयोग करता है, जिसका अर्थ है कि व्यवहार को Malleable C2 प्रोफ़ाइल या प्रक्रिया इंजेक्शन BOFs के साथ अनुकूलित किया जा सकता है। आप Hidden Desktop को रिमोट प्रक्रियाओं को लक्षित करने के लिए संशोधित कर सकते हैं, लेकिन यह वर्तमान में समर्थित नहीं है। ऐसा इसलिए किया जाता है ताकि BOF बाहर निकल सके और HVNC शेलकोड चलता रहे।InputHandler Becon के कनेक्ट होने के लिए एक नया नामित पाइप बनाता है। एक बार कनेक्शन स्थापित हो जाने के बाद, निर्दिष्ट डेस्कटॉप खोला जाता है (OpenDesktopA) या बनाया जाता है (CreateDesktopA). एक रिवर्स पोर्ट फ़ॉरवर्ड (rportfwd) के माध्यम से HVNC सर्वर के लिए एक नया सॉकेट स्थापित किया जाता है। इनपुट हैंडलर नीचे वर्णित DesktopHandler फ़ंक्शन के लिए एक नया थ्रेड बनाता है। यह थ्रेड HVNC सर्वर से माउस और कीबोर्ड इनपुट प्राप्त करेगा और इसे डेस्कटॉप पर अग्रेषित करेगा।DesktopHandler रिवर्स पोर्ट फ़ॉरवर्ड के माध्यम से HVNC सर्वर के लिए एक अतिरिक्त सॉकेट कनेक्शन स्थापित करता है। यह थ्रेड विंडो में परिवर्तनों की निगरानी करेगा और उन्हें HVNC सर्वर पर अग्रेषित करेगा।HiddenDesktop BOF का परीक्षण example.profile का उपयोग करके निम्नलिखित Windows संस्करणों/आर्किटेक्चर पर किया गया: