📁 آخر الأخبار

فك تشفير بروتوكولات C&C المخصصة: دليل عملي لتحليل اتصالات البرمجيات الخبيثة خطوة بخطوة

عند تحليل أي عينة برمجية خبيثة، ستجد أن الهدف الرئيسي لها هو التواصل مع خادم التحكم والسيطرة المعروف باسم C&C. 
هذا الخادم يرسل أوامر ويستقبل بيانات مسروقة. المشكلة أن كثير من المهاجمين لا يستخدمون بروتوكولات قياسية واضحة 
مثل HTTP بشكل مباشر، بل يطورون بروتوكولات مخصصة مع طبقات تشفير إضافية لإخفاء الاتصال.
إذا أردت أن تفهم سلوك العينة وتستخرج الأوامر أو عناوين الخوادم أو مفاتيح التشفير، تحتاج إلى منهج عملي لفك هذا الغموض. 
في هذا الدليل ستتعرف على خطوات واضحة وأدوات عملية تساعدك على فك تشفير بروتوكولات C&C المخصصة، 
مع أمثلة تطبيقية يمكنك تنفيذها في بيئة تحليل معزولة.
ما هو بروتوكول C&C المخصص
بروتوكول C&C هو الآلية التي تستخدمها البرمجية الخبيثة للتواصل مع خادم المهاجم. في الحالات البسيطة يعتمد المهاجم 
على HTTP أو HTTPS مع معلمات مشفرة. في الحالات المتقدمة، يبني تنسيقا خاصا للرسائل، مع خوارزمية تشفير
 أو XOR أو حتى AES مع مفتاح ثابت داخل الكود.
على سبيل المثال، قد تجد أن كل رسالة تتكون من:
  1. ترويسة بطول 4 بايت
  2. حقل طول البيانات
  3. بيانات مشفرة
  4. قيمة تحقق بسيطة
هذا التصميم يجعل أدوات المراقبة التقليدية غير قادرة على قراءة المحتوى بسهولة.
الخطوة الأولى: إنشاء بيئة تحليل آمنة
قبل البدء، جهز مختبرا معزولا. استخدم جهازا افتراضيا عبر VirtualBox أو VMware. ثبت نظام تحليل مثل Windows 
مع أدوات مراقبة. ثم أضف أدوات مثل:
  • Wireshark لتحليل الترافيك
  • Process Monitor لمراقبة النظام
  • Ghidra أو IDA Pro لتحليل الكود الثابت
  • x64dbg للتحليل الديناميكي
اعزل الشبكة أو استخدم شبكة داخلية مع خادم وهمي حتى لا يتصل البرنامج بالخادم الحقيقي. يمكنك استخدام INetSim لمحاكاة خدمات الشبكة.
الخطوة الثانية: التقاط حركة المرور
شغل Wireshark وابدأ تسجيل الترافيك. بعد تشغيل العينة، راقب أي اتصال خارجي. ابحث عن:
  1. اتصالات إلى IP غير مألوف
  2. طلبات HTTP غير اعتيادية
  3. حزم ذات حجم ثابت متكرر
  4. بيانات تبدو عشوائية
إذا لاحظت أن كل 30 ثانية تخرج حزمة بحجم 128 بايت، فهذا مؤشر على قناة C&C دورية.
مثال عملي
افترض أن Wireshark عرض طلب POST إلى مسار غريب، لكن البيانات تبدو كسلسلة طويلة مشفرة. عند تصدير الحزمة
 ستجد بيانات مثل: 3F 2A 7C 11 5D 5D 40
هذا قد يكون XOR بسيط.
الخطوة الثالثة: تحليل الكود لاكتشاف خوارزمية التشفير
افتح العينة في Ghidra. ابحث عن دوال إرسال البيانات مثل send أو WinHttpSendRequest. تتبع السلسلة التي
 تمرر إلى هذه الدالة.
غالبا ستجد دالة قبل الإرسال تقوم بتحويل البيانات. ركز على:
عمليات XOR
استدعاء CryptEncrypt
وجود مفاتيح ثابتة داخل الذاكرة
مثال شائع
قد تجد حلقة بالشكل التالي منطقيا:
لكل بايت في البيانات
البايت = البايت XOR 0x55
في هذه الحالة يمكنك بسهولة عكس العملية بنفس المفتاح.
الخطوة الرابعة: إعادة بناء البروتوكول
بعد فهم خوارزمية التشفير، انتقل إلى بنية الرسالة. هل يوجد رقم إصدار؟ هل يوجد معرف جهاز؟ هل يتم إرسال اسم الكمبيوتر؟
راقب ترتيب الحقول. على سبيل المثال:
أول 4 بايت تمثل الطول
الـ 8 بايت التالية تمثل معرف الضحية
الباقي بيانات الأوامر
قم بفك تشفير عدة عينات وقارن بينها. إذا تغير جزء معين فقط بين كل طلب، فهذا غالبا حقل ديناميكي مثل timestamp.
مثال تطبيقي كامل
لنفترض أنك وجدت أن الرسالة تتكون من:
Header ثابت: AA BB
طول الرسالة: 2 بايت
بيانات مشفرة بـ XOR 0x2F
بعد فك XOR، ظهرت سلسلة نصية مثل:
CMD=INFO;USER=ADMIN
بهذا الشكل استطعت كشف أن العينة تطلب أمر INFO وترسل اسم المستخدم.
الخطوة الخامسة: تحليل الرد من الخادم
لا تركز فقط على البيانات الصادرة. راقب الردود. قد يرسل الخادم أوامر مثل:
DOWNLOAD
EXEC
UPDATE
إذا كان الرد مشفرا بنفس الآلية، طبق نفس عملية فك التشفير.
في بعض العينات يستخدم المهاجم تشفيرا متماثلا مثل AES مع مفتاح مشتق من معرف الجهاز. في هذه الحالة تحتاج إلى 
استخراج المفتاح من الذاكرة أثناء التشغيل عبر x64dbg.
تقنيات متقدمة يستخدمها المهاجمون
  1. تشفير متعدد الطبقات، مثل Base64 ثم XOR
  2. ضغط البيانات قبل التشفير
  3. استخدام بروتوكول HTTPS مع شهادة مزيفة
  4. توليد المفتاح ديناميكيا من قيمة زمنية
في هذه الحالات، راقب ترتيب العمليات في الكود. هل يتم استدعاء دالة ضغط قبل التشفير؟ هل يوجد استدعاء لمكتبة zlib؟
كيف توثق النتائج بشكل احترافي
عند إنهاء التحليل، وثق ما يلي:
  • عنوان الخادم
  • نمط الاتصال
  • خوارزمية التشفير
  • صيغة الرسالة
  • الأوامر المدعومة
أنشئ مخططا يوضح تدفق البيانات من الجهاز إلى الخادم. هذا يفيد فرق الاستجابة للحوادث.
نصائح عملية لتسريع التحليل
ابدأ دائما بتحليل الترافيك قبل الغوص في الكود
ابحث عن مفاتيح ثابتة داخل قسم .rdata
استخدم مقارنة بين عينتين من نفس العائلة
اختبر فرضياتك عبر كتابة سكربت صغير لفك التشفير والتحقق من صحة النتائج
إذا نجحت في قراءة نص مفهوم بعد فك التشفير، فأنت على المسار الصحيح.
أخطاء شائعة يجب تجنبها
تحليل العينة على جهاز غير معزول
الاعتماد فقط على Wireshark دون تحليل الكود
تجاهل الردود القادمة من الخادم
الخلط بين التشفير والترميز
 
فك تشفير بروتوكولات C&C المخصصة يتطلب منهجا منظما يجمع بين تحليل الشبكة والهندسة العكسية. عندما تتبع الخطوات
 السابقة، ستتمكن من فهم كيفية تواصل البرمجية الخبيثة، واستخراج الأوامر، وبناء مؤشرات اختراق دقيقة تساعدك في حماية بيئتك.
ابدأ بعينة بسيطة تعتمد XOR، ثم انتقل تدريجيا إلى عينات تستخدم AES أو بروتوكولات أكثر تعقيدا. مع كل تحليل ستزداد قدرتك على قراءة سلوك الهجمات بشكل أسرع وأكثر دقة.

تعليقات