
ماسح مؤشرات الاختراق لـ CVE-2019-19781
يحتوي هذا المستودع على أداة لكشف الاختراقات في أجهزة Citrix ADC المتعلقة بـ CVE-2019-19781. تقوم الأداة ومواردها بتشفير مؤشرات الاختراق التي تم جمعها أثناء تحقيقات FireEye Mandiant. لمعرفة المزيد، يرجى قراءة المقال الذي يعلن عن إصدار هذه الأداة.
باختصار، ستقوم الأداة بما يلي:
لن تقوم الأداة بما يلي:
مع ردود فعل المجتمع، قد تصبح الأداة أكثر شمولاً في كشفها. يرجى فتح مشكلة، تقديم طلب سحب، أو الاتصال بالمؤلفين إذا كانت لديك مشاكل أو أفكار أو ملاحظات.
يمكن لهذا الماسح تحديد:
تم تطوير ماسح مؤشرات الاختراق (IoC) لـ CVE-2019-19781 بشكل مشترك من قبل FireEye Mandiant و Citrix بناءً على المعرفة المستمدة من مهام الاستجابة للحوادث المتعلقة باستغلال CVE-2019-19781. الهدف من الماسح هو تحليل مصادر السجلات المتاحة والأدلة الجنائية للنظام لتحديد دليل على استغلال ناجح لـ CVE-2019-19781. هناك قيود على ما يمكن للأداة تحقيقه، وبالتالي، لا ينبغي اعتبار تشغيل الأداة ضمانًا بأن النظام خالٍ من الاختراق. على سبيل المثال، قد تكون ملفات السجل على النظام التي تحتوي على أدلة اختراق قد تم اقتطاعها/تدويرها، قد يكون النظام قد أعيد تشغيله، قد يكون المهاجم قد عبث بالنظام لإزالة أدلة الاختراق، و/أو قام بتثبيت rootkit يخفي أدلة الاختراق، إلخ.
سيقع ناتج هذه الأداة في واحدة من ثلاث فئات:
دليل على الاختراق. هذا هو الإعداد الافتراضي.
أي دليل يقع في هذه الفئة يشير إلى أن الجهاز تم اختراقه بنجاح.
يمكن أن يكون هذا أي شيء من تنفيذ أوامر تكشف معلومات (مثل عرض ملفات التكوين ns.conf أو smb.conf)،
إلى تثبيت باب خلفي (مثل NOTROBIN، أو عامل تعدين العملات الرقمية، إلخ)،
أو إسقاط قشرة ويب مبنية على Perl.
دليل على فحص الثغرات بنجاح (قد يكون هذا من مسؤول النظام المخول أو مهاجم غير مخول). أي دليل يقع في هذه الفئة يشير إلى أن النظام كان في حالة ضعيفة (مثل عدم تطبيق التخفيف) وأنه تم بنجاح على الأقل الخطوة الأولى لاستغلال CVE-2019-19781.
دليل على فحص الثغرات فشل. أي دليل يقع في هذه الفئة يشير إلى أن محاولات فحص أو استغلال النظام قد فشلت.
هذه الأداة غير مضمونة للعثور على جميع أدلة الاختراق، أو جميع أدلة الاختراق المتعلقة بـ CVE-2019-19781. إذا تم تحديد مؤشرات اختراق على الأنظمة، يجب على المؤسسات إجراء فحص جنائي للنظام المخترق لتحديد نطاق ومدى الحادث. يتم تقديم هذه الأداة "كما هي" وبدون ضمان.
يجب عليك تنزيل البرنامج النصي Bash المستقل من علامة الإصدارات لهذا المستودع. نسخ دليل المصدر إلى جهاز Citrix ADC ممكن ولكن لا ينصح به.
يمكن تشغيل ماسح IoC مباشرة على جهاز Citrix ADC.
في هذا الوضع، ستقوم الأداة بفحص الملفات والعمليات والمنافذ بحثًا عن المؤشرات المعروفة.
تكتب الأداة رسائل تشخيصية إلى تدفق STDERR والنتائج إلى تدفق STDOUT.
في الاستخدام النموذجي، يجب عليك إعادة توجيه STDOUT إلى ملف للمراجعة.
يجب تشغيل الأداة كـ root في الوضع المباشر على جهاز Citrix ADC.
على سبيل المثال:
$ sudo bash ./ioc-scanner-CVE-2019-19781-v1.1.sh > "/tmp/results-$(date).txt"
صُممت الأداة للاستخدام مع المنتجات التالية:
يمكن لماسح IoC أيضًا فحص صورة جنائية مثبتة. في هذا السيناريو، قم بتمرير وسيطة سطر أوامر تحدد المسار إلى دليل جذر الصورة. لا تحتاج إلى أن تكون root للتشغيل في الوضع غير المتصل.
على سبيل المثال:
$ bash ./ioc-scanner-CVE-2019-19781-v1.1.sh /mnt/path/to/evidence/root/
في كلا الوضعين، ستقوم الأداة باستخراج الكود الداعم إلى دليل مؤقت؛ سيتم حذف هذا الدليل عند إنهاء البرنامج النصي. لا تقوم الأداة بإجراء تغييرات أخرى على النظام، على الرغم من أنها قد تتسبب في إنشاء إدخالات سجل.
مثل جميع التحليلات الجنائية، يُفضل التحليل غير المتصل مقابل صورة dd على الاستجابة المباشرة.
سيؤدي ذلك إلى القضاء على احتمالية تسبب الأداة في استبدال الأدلة ذات الصلة.
يرجى مراجعة الأسئلة الشائعة للحصول على مزيد من التفاصيل.
عندما تبتكر طرقًا إضافية لتحديد الاختراق، يرجى التفكير في المساهمة في ماسح IoC هذا. نود تقديم الماسح الأكثر شمولاً وصحة قدر الإمكان.
الهدف الأساسي هو الإبلاغ عن مؤشرات اختراق عالية الثقة. نظرًا لأن المستخدمين قد يعتمدون على ناتج هذه الأداة لبدء مزيد من التحقيق، فمن المهم ألا نرسلهم في مطاردة غير مجدية. لذلك، لا ينبغي الإبلاغ عن أنشطة مثل الفحص البسيط في الوضع الافتراضي. يجب دائمًا الإبلاغ عن أي دليل على حصول جهة فاعلة على وصول إلى النظام، أو جلب معلومات، أو إنشاء محتوى.
نقدم هذه الأداة كبرنامج نصي Bash لأنه قاسم مشترك عبر أجهزة Citrix ADC. فيما يلي مصفوفة الميزات لإصدارات Citrix ADC:
على الرغم من أننا رأينا برامج ضارة تستخدم Go لاستهداف FreeBSD/NetScaler، إلا أن Go لا يدعم FreeBSD 6.x.
نحتفظ بصور نظام ملفات متناثرة تحتوي على أدلة اختراق في دليل ./tests/.
عند إضافة مؤشرات اختراق (IoC) إلى هذه الأداة، مثل المسارات المعروفة أو المحتوى المدرج في القائمة السوداء، يرجى تقديم أمثلة على الأدلة للاختبار.
يمكنك تشغيل اختبارات الوحدة على نظام Linux أو macOS على النحو التالي:
$ bash ./tests/test.sh
runnning test: access-logs
runnning test: xml-template
runnning test: crontab
runnning test: var-cron-tabs-nobody
runnning test: error-logs
runnning test: file-system
runnning test: netscalerd
runnning test: notrobin-tmp-init
runnning test: notrobin-var-nstmp-nscache
runnning test: ns-content
runnning test: chr-encoded-template
runnning test: copied-ns-conf
runnning test: curl-in-template
runnning test: perms
runnning test: var-tmp-netscaler-portal-templates
runnning test: var-vpn-bookmark
runnning test: webshell-in-scripts
runnning test: shell-history
runnning test: bash_log
runnning test: notice_log
بمجرد فحص المستودع المصدر، يمكنك بناء برنامج نصي مستقل باستخدام أداة ./build.sh.
يقوم هذا بتجميع البرنامج النصي الرئيسي والموارد الداعمة في حزمة واحدة.
عند التنفيذ، سيتم استخراجها إلى دليل مؤقت، وتنفيذها من هناك، ثم تنظيفها.
للتبني:
$ bash ./build.sh > ioc-scanner-CVE-2019-19781-rev$(git rev-parse HEAD | cut -c 1-8).sh
لمزيد من المعلومات من FireEye بشأن CVE-2019-19781 والاستغلال في البرية، يرجى الاطلاع على:
كان الرد على CVE-2019-19781 جهدًا كبيرًا عبر صناعة الأمن، وتستشهد هذه المدونات بشكل كبير بمساهمات إضافية ستكون ذات قيمة لمستخدمي هذه الأداة. نوصي بقراءة المواد المرتبطة من هذه المشاركات لفهم أفضل للنشاط في بيئتك. كما هو الحال دائمًا، فريق FireEye Mandiant متاح للإجابة على أسئلة المتابعة أو للمساعدة بشكل أكبر في التحقيق عن طريق الاتصال بنا هنا.
| إصدار NetScaler | نظام التشغيل | اللغات المتاحة |
|---|
| 13.0 | FreeBSD 8.4 | Bash، Perl، Python |
| 12.1 | FreeBSD 8.4 | Bash، Perl، Python |
| 12.0 | FreeBSD 8.4 | Bash، Perl، Python |
| 11.1 | FreeBSD 8.4 | Bash، Perl |
| 10.5 | FreeBSD 8.4 | Bash، Perl |
| 10.1 | FreeBSD 6.3 | Bash، Perl |
| 9.3 | FreeBSD 6.3 | Bash، Perl |