اكتشف باحثو ESET وقاموا بتحليل البرامج الضارة التي تستهدف مفاتيح تحويل الصوت عبر IP (VoIP).
تم تصميم هذه البرامج الضارة الجديدة التي اكتشفناها وأطلقنا عليها اسم CDRThief لاستهداف منصة VoIP محددة للغاية ، يستخدمها محولات برمجية منتجة في الصين (محولات برمجية): Linknat VOS2009 و VOS3000. سوفت سويتش هو عنصر أساسي في شبكة VoIP التي توفر التحكم في المكالمات والفواتير والإدارة. هذه المحولات هي حلول قائمة على البرامج تعمل على خوادم Linux القياسية.
الهدف الأساسي للبرنامج الضار هو سرقة البيانات الخاصة المختلفة من نظام سوفت سويتش المخترق ، بما في ذلك سجلات تفاصيل المكالمات (CDR). تحتوي سجلات CDR على بيانات وصفية حول مكالمات VoIP مثل عناوين IP للمتصل والمستدعى ، ووقت بدء المكالمة ، ومدة المكالمة ، ورسوم الاتصال ، وما إلى ذلك.
لسرقة هذه البيانات الوصفية ، تستعلم البرامج الضارة عن قواعد بيانات MySQL الداخلية التي يستخدمها برنامج softswitch. وبالتالي ، يُظهر المهاجمون فهماً جيداً للبنية الداخلية للمنصة المستهدفة.
لقد لاحظنا هذا البرنامج الضار في إحدى نماذجنا للمشاركة ، ونظرًا لندرة برامج Linux الجديدة تمامًا ، فقد لفت انتباهنا. الأمر الأكثر إثارة للاهتمام هو أنه سرعان ما أصبح واضحًا أن هذه البرامج الضارة تستهدف منصة Linux VoIP معينة. تم إنتاج ملف ELF الثنائي بواسطة مترجم Go مع ترك رموز تصحيح الأخطاء بدون تعديل ، وهو أمر مفيد دائمًا للتحليل.
لإخفاء الوظائف الضارة من التحليل الثابت الأساسي ، قام المؤلفون بتشفير جميع السلاسل المشبوهة باستخدام XXTEA والمفتاح fhu84ygf8643، ثم ترميزها base64. يوضح الشكل 1 بعض التعليمات البرمجية التي تستخدمها البرامج الضارة لفك تشفير هذه السلاسل في وقت التشغيل.
الشكل 1. الروتين المستخدم لفك تشفير سلاسل الثنائي
للوصول إلى البيانات الداخلية المخزنة في قاعدة بيانات MySQL ، يقرأ البرنامج الضار بيانات الاعتماد من ملفات تكوين Linknat VOS2009 و VOS3000 التي يحاول تحديد موقعها في المسارات التالية:
- /usr/kunshi/vos2009/server/etc/server_db_config.xml
- /usr/kunshi/vos3000/server/etc/server_db_config.xml
- /home/kunshi/vos2009/server/etc/server_db_config.xml
- /home/kunshi/vos3000/server/etc/server_db_config.xml
- /home/kunshi/vos2009/etc/server_db_config.xml
- /home/kunshi/vos3000/etc/server_db_config.xml
- /usr/kunshi/vos2009/server/etc/serverdbconfig.xml
- /usr/kunshi/vos3000/server/etc/serverdbconfig.xml
ومن المثير للاهتمام أن كلمة المرور من ملف التكوين مخزنة بشكل مشفر. ومع ذلك ، لا تزال البرامج الضارة Linux / CDRThief قادرة على قراءتها وفك تشفيرها. وبالتالي ، يُظهر المهاجمون معرفة عميقة بالمنصة المستهدفة ، حيث لم يتم توثيق الخوارزمية ومفاتيح التشفير المستخدمة بقدر ما نستطيع أن نقول. هذا يعني أنه كان على المهاجمين إجراء هندسة عكسية لثنائيات النظام الأساسي أو الحصول على معلومات حول خوارزمية تشفير AES والمفتاح المستخدم في كود Linknat.
كما هو موضح في الشكل 2 ، يتواصل CDRThief مع خوادم C&C باستخدام JSON عبر HTTP.
الشكل 2. تم التقاط اتصال الشبكة الخاص بالبرامج الضارة Linux / CDRThief
هناك وظائف متعددة في كود Linux / CDRThief يستخدم للتواصل مع خوادم القيادة والسيطرة. يحتوي الجدول 1 على الأسماء الأصلية لهذه الوظائف التي استخدمها مؤلفو البرامج الضارة.
الجدول 1. الوظائف المستخدمة للتواصل مع C & C
اسم وظيفة | مسار C & C | غرض |
---|---|---|
main.pingNet | / dataswop / أ | للتحقق مما إذا كانت C & C على قيد الحياة |
main.getToken | / داتاسوب / API / ب | يحصل على رمز |
رئيسي | / dataswop / API / gojvxs | حلقة C & C الرئيسية ، تسمى كل ثلاث دقائق |
main.baseInfo | / dataswop / API / gojvxs | يخفي المعلومات الأساسية حول نظام Linknat المخترق: |
· عنوان ماك | ||
قطة / إجراءات / إصدار | ||
· من أنا | ||
· قطة / الخ / redhat-release | ||
UUID من /bin/ibus_10.mo (أو / home / kunshi / base / ibus_10.mo ) | ||
الإصدار الرئيسي | / dataswop / Download / updateGoGoGoGoGo | يحدّث نفسه إلى أحدث إصدار |
main.pushLog | / dataswop / API / gojvxs | تحميل سجل أخطاء البرامج الضارة |
تحميل | / dataswop / API / gojvxs | يخرج معلومات مختلفة حول المنصة: |
· حدد المجموع (TABLE_ROWS) من information_schema.TABLES WHERE table_name مثل ‘e_cdr_٪” | ||
· القط / الخ / motd | ||
· اسم المستخدم وكلمة المرور المشفرة وعنوان IP الخاص بقاعدة البيانات | ||
ACCESS_UUID من server.conf | ||
إصدار البرنامج الخاص بك | ||
main.syslogCall | / dataswop / API / gojvxs | يخرج البيانات من e_syslog الجداول |
main.gatewaymapping | / dataswop / API / gojvxs | يخرج البيانات من خرائط البوابة الإلكترونية الجداول |
main.cdr | / dataswop / API / gojvxs | يخرج البيانات من e_cdr الجداول |
من أجل إخراج البيانات من النظام الأساسي ، يقوم Linux / CDRThief بتنفيذ استعلامات SQL مباشرة إلى قاعدة بيانات MySQL. بشكل أساسي ، تهتم البرامج الضارة بثلاثة جداول:
- e_syslog – يحتوي على سجل أحداث النظام
- خرائط البوابة الإلكترونية – يحتوي على معلومات حول بوابات VoIP (انظر الشكل 3)
- e_cdr – يحتوي على سجلات بيانات المكالمات (البيانات الوصفية للمكالمات)
الشكل 3. رمز الوظيفة المفكك الذي يقوم بتهيئة استعلام SQL
البيانات المطلوب استخراجها من e_syslog، خرائط البوابة الإلكترونيةو و e_cdr يتم ضغط الجداول ثم تشفيرها باستخدام مفتاح عمومي RSA-1024 مشفر قبل الاستخراج. وبالتالي ، يمكن فقط لمؤلفي البرامج الضارة أو المشغلين فك تشفير البيانات المسربة.
استنادًا إلى الوظيفة الموصوفة ، يمكننا القول أن التركيز الأساسي للبرامج الضارة ينصب على جمع البيانات من قاعدة البيانات. على عكس الأبواب الخلفية الأخرى ، لا يدعم Linux / CDRThief تنفيذ أوامر shell أو إخراج ملفات معينة من قرص softswitch المخترق. ومع ذلك ، يمكن تقديم هذه الوظائف في إصدار محدث.
يمكن نشر البرامج الضارة في أي مكان على القرص تحت أي اسم ملف. من غير المعروف نوع المثابرة المستخدم لبدء البرنامج الثنائي الخبيث في كل تمهيد. ومع ذلك ، تجدر الإشارة إلى أنه بمجرد بدء تشغيل البرنامج الضار ، فإنه يحاول إطلاق برنامج ثنائي شرعي على النظام الأساسي Linknat VOS2009 / VOS3000 باستخدام الأمر التالي:
exec -a ‘/ home / kunshi / callservice / bin / callservice -r /home/kunshi/.run/callservice.pid’
يشير هذا إلى أنه قد يتم إدخال البرنامج الثنائي الخبيث بطريقة ما في سلسلة تمهيد عادية للنظام الأساسي من أجل تحقيق الثبات وربما التنكر كمكوِّن لبرنامج Linknat softswitch.
في وقت كتابة هذا التقرير ، لا نعرف كيف يتم نشر البرامج الضارة على الأجهزة المخترقة. نتوقع أن المهاجمين قد يحصلون على وصول إلى الجهاز باستخدام هجوم القوة الغاشمة أو من خلال استغلال ثغرة أمنية. تم الإبلاغ عن نقاط الضعف هذه في VOS2009 / VOS3000 علنًا في الماضي.
قمنا بتحليل البرامج الضارة Linux / CDRThief ، والتي لها غرض فريد لاستهداف محولات معينة عبر بروتوكول VoIP. نادرًا ما نرى استهدافًا عبر بروتوكول VoIP من قبل جهات التهديد ؛ هذا يجعل البرامج الضارة Linux / CDRThief مثيرة للاهتمام.
من الصعب معرفة الهدف النهائي للمهاجمين الذين يستخدمون هذه البرامج الضارة. ومع ذلك ، نظرًا لأن هذا البرنامج الضار يخترق معلومات حساسة ، بما في ذلك البيانات الوصفية للمكالمات ، يبدو من المعقول افتراض أن البرامج الضارة تُستخدم في التجسس الإلكتروني. الهدف الآخر المحتمل للمهاجمين الذين يستخدمون هذه البرامج الضارة هو الاحتيال عبر بروتوكول VoIP. نظرًا لأن المهاجمين يحصلون على معلومات حول نشاط مفاتيح تحويل الصوت عبر بروتوكول الإنترنت وبواباتهم ، يمكن استخدام هذه المعلومات لأداء الاحتيال الدولي لمشاركة الإيرادات (IRSF).
لأية استفسارات ، أو لتقديم عينات تتعلق بالموضوع ، اتصل بنا على [email protected].
المحتويات
اسم اكتشاف ESET
Linux / CDRThief.A
كائنات تستند إلى ملف
/dev/shm/.bin
/dev/shm/.linux
الملفات التي تم إنشاؤها أثناء تحديث البرامج الضارة
/ dev / shm / callservice
/dev/shm/sys.png
تجزئة
CC373D633A16817F7D21372C56955923C9DDA825
8E2624DA4D209ABD3364D90F7BC08230F84510DB (معبأة UPX)
FC7CCABB239AD6FD22472E5B7BB6A5773B7A3DAC
8532E858EB24AE38632091D2D790A1299B7BBC87 (تالف)
سي أند سي
http: //119.29.173[.]65
http: //129.211.157[.]244
http: //129.226.134[.]180
http: //150.109.79[.]136
http: //34.94.199[.]142
http: //35.236.173[.]187
مفتاح تشفير الاختراق (RSA)
—–المفتاح العام للبدء—–MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCQ3k3GgS3FX4pI7s9x0krBYqbMcSaw4BPY91Ln
tt5 / X8s9l0BC6PUTbQcUzs6PPXhKKTx8ph5CYQqdWynxOLJah0FMMRYxS8d0HX + Qx9eWUeKRHm2E
AtZQjdHxqTJ9EBpHYWV4RrWmeoOsWAOisvedlb23O0E55e8rrGrZLhPbwIDAQAB
—–نهاية المفتاح العام—–
ملاحظة: تم إنشاء هذا الجدول باستخدام الإصدار 7 من إطار عمل MITER ATT & CK.
تكتيك | هوية شخصية | اسم | وصف |
---|---|---|---|
التهرب الدفاعي | T1027 | ملفات أو معلومات مبهمة | يحتوي Linux / CDRThief على سلاسل تشويش في الحمولة. |
T1027.002 | ملفات أو معلومات مبهمة: تعبئة البرامج | بعض عينات Linux / CDRThief معبأة بـ UPX. | |
الوصول إلى بيانات الاعتماد | T1552.001 | بيانات الاعتماد غير المؤمنة: بيانات الاعتماد في الملفات | يقرأ Linux / CDRThief بيانات اعتماد قاعدة بيانات MySQL من ملف تكوين. |
اكتشاف | T1082 | اكتشاف معلومات النظام | يحصل Linux / CDRThief على معلومات مفصلة حول الكمبيوتر المخترق. |
مجموعة | T1560.003 | أرشفة البيانات المجمعة: الأرشفة عبر الطريقة المخصصة | يقوم Linux / CDRThief بضغط البيانات المسروقة باستخدام gzip قبل الاستخراج. |
القيادة والتحكم | T1071.001 | بروتوكول طبقة التطبيق: بروتوكولات الويب | يستخدم Linux / CDRThief بروتوكول HTTP للتواصل مع خادم C&C. |
التسلل | T1041 | تسلل فوق قناة C2 | يقوم Linux / CDRThief بسحب البيانات إلى خادم القيادة والتحكم. |