العودة إلى الأكاديمية

CLR-5 · مختبر تطبيقي · صعب جدًا ·حوالي 35 دقيقة

صيد التهديدات: النبض المنتظم

لم ينطلق أي تنبيه. نقّب في سجل يوم كامل من طلبات DNS لتجد مضيفاً «يتصل بالبيت» بوتيرة دقيقة، وحدّد نطاق التحكّم والسيطرة، وقِس الفاصل الزمني، وفكّ البيانات المخبّأة في النطاق الفرعي.

المهمة

لم ينطلق أي تنبيه. وهنا بالضبط تظهر أهمية الصيد: تضع فرضية وتذهب تبحث في البيانات عن شيء لم تلتقطه أي قاعدة بعد.

فرضيتك اليوم: مضيف على شبكة المالية الفرعية (192.0.2.0/24) يقوم بالـ beaconing — برمجية خبيثة تتصل بخادم التحكّم والسيطرة (C2) بوتيرة منتظمة لتطلب الأوامر. العلامة هي الإيقاع. الإنسان حين يتصفّح ينتج دفعات: طلبات كثيرة، ثم لا شيء، ثم بضع طلبات أخرى. أما الـ beacon فمترونوم: طلب، انتظار، طلب، انتظار، بلا نهاية.

لديك dns.csv، يوم كامل من طلبات DNS من المحلّل الداخلي:

time,src_ip,query,qtype

اشتغل على أربع خطوات:

  1. اعثر على الثرثار: أي مضيف يستعلم أكثر بكثير من البقية؟
  2. اعثر على الـ C2: أي نطاق يصل إليه باستمرار، تحت نطاقات فرعية متغيّرة؟
  3. قِس الإيقاع: ما الفاصل الزمني بين beacon وآخر؟
  4. اقرأ الحمولة: برمجيات النفق تخبّئ البيانات في النطاق الفرعي. فكّ أول beacon.

الأوامر cut وsort | uniq -c وgrep وbase64 -d تكفيك. كل شيء محاكى: نطاقات محجوزة، ونطاقات IP للتوثيق، وعلم وهمي.

الطرفية

اكتب help لرؤية الأوامر المتاحة. Tab للإكمال، والسهمان ↑ ↓ للأوامر السابقة.

الأسئلة

  1. مضيف داخلي واحد يرسل طلبات DNS أكثر بكثير من غيره، طوال اليوم، كالساعة. أي مضيف (IP) هو؟25 نقطة

    1. يستعلم هذا المضيف باستمرار عن نطاقات فرعية تابعة لنطاق مسجَّل واحد. ما نطاق التحكّم والسيطرة هذا (آخر جزأين، مثل example.com)؟25 نقطة

      1. تصل الطلبات نحو هذا النطاق بتباعد ثابت: وهذا ما يجعلها beacon. كم ثانية تفصل بين كل beacon واثنين متتاليين؟25 نقطة

        1. أول beacon في السلسلة رسالة تسجيل: يحمل بيانات في أقصى يسار نطاقه الفرعي، مرمّزة بـ base64. فكّه. ما العلم الذي يحتويه (ZEN{...})؟25 نقطة