
يوتيوب كقناة خفية - التحكم في الأنظمة عن بعد وتنفيذ الأوامر عن طريق تحميل الفيديوهات إلى يوتيوب
برنامج للتحكم في الأنظمة عن بُعد عن طريق رفع فيديوهات إلى يوتيوب باستخدام بايثون لإنشاء الفيديوهات والمستمع، محاكاةً لبعض البرامج الضارة التي كنت أقرأ عنها. يتيح إنشاء فيديوهات بإطارات مكونة من نصوص بسيطة، أو رموز QR بنص واضح، أو رموز QR مع تشفير AES.
ملاحظة: تمت إضافة هذا النموذج الإثباتي إلى إطار العمل covert-control، والذي يسمح بذلك أيضًا باستخدام OneDrive وGoogle Drive وTelegram.
إذا كان هدفك نظام Windows، فقد تفضل إصدار C#: SharpCovertTube (لقد قمت بتحديثه مؤخرًا).
يمكن إنشاء الفيديوهات باستخدام generate_video.py: أدخل الأوامر وقم بإنشاء الفيديو بكتابة "exit". يُسمى الفيديو المُنشأ افتراضيًا output.avi (يمكن تحديثه في config.py):
python3 generate_video.py

python3 main.py
سيتحقق المستمع من قناة اليوتيوب كل 300 ثانية افتراضيًا (يمكن تحديثها في config.py). أولاً يتم رفع الفيديو:

بعد العثور على فيديو جديد في القناة، يتم تنزيله وتنفيذ الأوامر:

يمكننا رؤية مخرجات الأوامر:

قم بتحديث ملف config.py:
channel_id (إجباري!!!): احصل على معرف قناتك على يوتيوب من هنا.
api_key (إجباري!!!): للحصول على مفتاح API، قم بإنشاء تطبيق وولد المفتاح من هنا.
image_type (اختياري. الافتراضي: "qr_aes"): أنواع مختلفة من الصور للفيديو.
upload_seconds_delay (اختياري. الافتراضي: 300): تأخير بالثواني قبل التحقق من رفع فيديو جديد.
debug (اختياري. الافتراضي: True): طباعة الرسائل أم لا.
aes_key (اختياري. الافتراضي: "covert-tube_2021"): مفتاح تشفير AES، يُستخدم في خيار "qr_aes".
generated_video_path (اختياري. الافتراضي: "output.avi"): مسار الفيديو المُنشأ باستخدام generate_video.py.
downloaded_video_path (اختياري. الافتراضي: "/tmp/test.mp4"): المسار الذي سيتم تنزيل الفيديو الجديد إليه.
temp_folder (اختياري. الافتراضي: "/tmp/"): المسار حيث يتم تخزين صور كل إطار من الفيديو، بتنسيق image_X*.png*.
للمشروع بأكمله:
sudo apt install libzbar0
pip3 install Pillow opencv-python youtube_dl pytesseract pyqrcode pypng pyzbar pycrypto
git clone https://github.com/ricardojoserf/covert-tube
pyinstaller --onefile main.py
cp dist/main covert-tube
rm -rf dist build
rm main.spec
في الآونة الأخيرة، كنت أقرأ عن برامج ضارة تستخدم يوتيوب للتحكم في إعداداتها عن بُعد. على سبيل المثال، يساء استخدام Casbaneiro ليوتيوب لتخزين نطاقات خادم التحكم (C&C). يحتوي كل فيديو على القنوات التي يستخدمها المهاجم على وصف، وفي نهايته يوجد رابط لرابط مزيف لفيسبوك أو إنستغرام يحتوي على نطاق خادم التحكم (مدونة Welivesecurity). مثال آخر هو Numando، الذي يساء استخدامه عن طريق تشفير البيانات في عنوان فيديوهات يوتيوب (مدونة Welivesecurity أخرى).
مع معرفتي بذلك، قررت إنشاء نموذج إثباتي لاختبار التحكم في الأنظمة عن بُعد عن طريق رفع فيديوهات إلى يوتيوب، لكن بدلاً من استخدام العنوان أو الوصف، استخدام محتوى الفيديو. يسمح بتنفيذ أي أمر، ولكن يمكن استخدامه لتغيير بعض الإعدادات عن بُعد. لذا هذا مجرد نموذج إثباتي، استخدمه للأغراض التعليمية!