
Youtube को C2 चैनल के रूप में - Youtube पर QR वीडियो अपलोड करके Windows सिस्टम को नियंत्रित करें
SharpCovertTube एक प्रोग्राम है जो YouTube पर वीडियो अपलोड करके विंडोज सिस्टम को दूरस्थ रूप से नियंत्रित करने के लिए बनाया गया है।
प्रोग्राम एक YouTube चैनल की निगरानी करता है जब तक कोई वीडियो अपलोड नहीं हो जाता, अपलोड किए गए वीडियो के थंबनेल से QR कोड को डिकोड करता है और एक कमांड निष्पादित करता है। वीडियो में QR कोड क्लियरटेक्स्ट या AES-एन्क्रिप्टेड मानों का उपयोग कर सकते हैं।
इसके दो संस्करण हैं, बाइनरी और सर्विस बाइनरी, और इसमें दुर्भावनापूर्ण वीडियो उत्पन्न करने के लिए एक Python स्क्रिप्ट शामिल है। इसका उद्देश्य केवल Google API के लिए वेब अनुरोधों का उपयोग करके एक स्थिरता विधि के रूप में कार्य करना है।

अपने विंडोज सिस्टम में लिसनर चलाएं:

यह एक निश्चित समय अंतराल (डिफ़ॉल्ट रूप से 10 मिनट) पर YouTube चैनल की जांच करेगा जब तक कोई नया वीडियो अपलोड नहीं हो जाता। इस मामले में, हम example-videos फ़ोल्डर से "whoami.avi" अपलोड करते हैं:
चैनल में एक नया वीडियो मिलने के बाद, यह वीडियो थंबनेल से QR कोड को डिकोड करता है, कमांड निष्पादित करता है और प्रतिक्रिया base64-एन्कोडेड होती है और DNS का उपयोग करके एक्सफ़िल्ट्रेट की जाती है:

यह AES-एन्क्रिप्टेड पेलोड और लंबी कमांड प्रतिक्रियाओं वाले QR कोड के लिए भी काम करता है। इस उदाहरण में, example-videos से फ़ाइल "dirtemp_aes.avi" अपलोड की जाती है और c:\temp की सामग्री को कई DNS क्वेरी का उपयोग करके एक्सफ़िल्ट्रेट किया जाता है:

फ़ाइल में लॉगिंग वैकल्पिक है लेकिन सुनिश्चित करें कि फ़ोल्डर मौजूद है, डिफ़ॉल्ट मान "c:\temp\.sharpcoverttube.log" है इसलिए "c:\temp" मौजूद होना चाहिए।
DNS एक्सफ़िल्ट्रेशन भी वैकल्पिक है और Burp के कॉलैबोरेटर का उपयोग करके आसानी से परीक्षण किया जा सकता है:

एक विकल्प के रूप में, मैंने QR वीडियो आसानी से बनाने, YouTube पर अपलोड करने और base64-एन्कोडेड DNS क्वेरी को मॉनिटर और पार्स करने के लिए एक स्क्रिप्ट बनाई है। इस स्क्रिप्ट को C2 सर्वर के रूप में उपयोग करने का कॉन्फ़िगरेशन c2-server फ़ोल्डर में समझाया गया है:

कुछ मान हैं जिन्हें आप बदल सकते हैं, आप उन्हें सामान्य बाइनरी और सर्विस बाइनरी के लिए Configuration.cs फ़ाइल में पा सकते हैं। केवल पहले दो मानों को अपडेट करना आवश्यक है:

आप c2-server फ़ोल्डर में सर्वर स्क्रिप्ट का उपयोग करके या बस generate_video.py स्क्रिप्ट चलाकर वीडियो उत्पन्न कर सकते हैं। बाद वाले के लिए, पहले निर्भरताएँ स्थापित करें:
pip install Pillow opencv-python pyqrcode pypng pycryptodome rebus
यदि आप Linux का उपयोग कर रहे हैं तो आपको इसकी भी आवश्यकता हो सकती है:
apt-get install libgl1
फिर generate_video.py स्क्रिप्ट चलाएं:
python generate_video.py -t TYPE -f FILE -c COMMAND [-k AESKEY] [-i AESIV]
एक वीडियो बनाएं जिसमें QR मान "whoami" क्लियरटेक्स्ट में हो, पथ c:\temp\whoami.avi पर:
python generate_video.py -t qr -f c:\temp\whoami.avi -c whoami
एक वीडियो बनाएं जिसमें AES-एन्क्रिप्टेड QR मान "dir c:\windows\temp" हो, कुंजी और IV "0000000000000000" के साथ, पथ c:\temp\dirtemp_aes.avi पर:
python generate_video.py -t qr_aes -f c:\temp\dirtemp_aes.avi -c "dir c:\windows\temp" -k 0000000000000000 -i 0000000000000000

इसे एक सेवा के रूप में चलाने का कोड आप SharpCovertTube_Service फ़ोल्डर में पा सकते हैं। इसमें स्व-विलोपन को छोड़कर समान कार्यक्षमताएँ हैं, जो इस मामले में समझ में नहीं आता।
इसे InstallUtil के साथ स्थापित करना संभव है, यह SYSTEM उपयोगकर्ता के रूप में चलने के लिए तैयार है और आपको इसे व्यवस्थापक के रूप में स्थापित करना होगा:
InstallUtil.exe SharpCovertTube_Service.exe
फिर आप इसे इसके साथ प्रारंभ कर सकते हैं:
net start "SharpCovertTube Service"

यदि आपके पास व्यवस्थापकीय विशेषाधिकार हैं तो यह सामान्य बाइनरी की तुलना में अधिक छिपा हुआ हो सकता है, लेकिन "Description" और "DisplayName" को अपडेट किया जाना चाहिए (जैसा कि आप ऊपर की छवि में देख सकते हैं)। यदि आपके पास वे विशेषाधिकार नहीं हैं तो आप सेवाएँ स्थापित नहीं कर सकते, इसलिए आप केवल सामान्य बाइनरी का उपयोग कर सकते हैं।
फ़ाइल 64 बिट की होनी चाहिए!!! यह QR डिकोडिंग के लिए उपयोग किए गए कोड के कारण है, जो Stefan Gansevles के QR-Capture प्रोजेक्ट से उधार लिया गया है, जिन्होंने इसका कुछ हिस्सा Uzi Granot के QRCode प्रोजेक्ट से उधार लिया, जिन्होंने उसी समय इसका कुछ हिस्सा Zakhar Semenov के Camera_Net प्रोजेक्ट से उधार लिया (फिर मैंने ट्रैक खो दिया)। तो उन सभी का धन्यवाद!
यह प्रोजेक्ट covert-tube का एक पोर्ट है, जो एक प्रोजेक्ट है जिसे मैंने 2021 में सिर्फ Python का उपयोग करके विकसित किया था, जो Casbaneiro और Numando मैलवेयर के बारे में Welivesecurity ब्लॉग से प्रेरित था।
यह प्रोजेक्ट एक PoC है जो यह दिखाने के लिए है कि इंटरनेट पर लगभग किसी भी चीज़ का उपयोग C2 चैनल के रूप में किया जा सकता है, उम्मीद है कि यह किसी के लिए प्रेरणादायक होगा। यह प्रोजेक्ट शैक्षिक उद्देश्यों के लिए है, यदि आप YouTube सेवा का दुरुपयोग करते हैं तो आप YouTube द्वारा आपके चैनल को हटाने जैसी समस्याओं में पड़ सकते हैं।