المحتويات
- المقدمة
- الأهداف الرئيسية
- الصناعات المتضررة
- التركيز الجغرافي
- سلسلة العدوى
- النتائج الأولية
- الاطلاع على وثيقة التمويه
- التحليل الفنى
- المرحلة 1 - التسليم الأولي
- المسار أ: التنفيذ القائم على LNK
- المسار ب: التسليم القائم على الملفات التنفيذية
- المرحلة الثانية - سلسلة التوزيع القائمة على البرمجة النصية
- المرحلة 3 - رست كلوك (محمل الصدأ)
- المرحلة الرابعة - AZUREVEIL (Adaptix C2 Agent)
- المرحلة 1 - التسليم الأولي
- البنية التحتية والإسناد
- خاتمة
- SEQRITE الحماية
- مؤشرات الاختراق (IOCs)
- رسم خرائط MITRE ATT&CK
- المؤلفون
المقدمة
استخدم Seqrite يُجري فريق APT رصدًا دقيقًا للتهديدات في جميع أنحاء العالم. وخلال تحليلنا الأخير، رصدنا حملة تصيّد إلكتروني تستهدف مسؤولين ومواطنين في جمهورية التشيك وتايوان. وقد لاحظنا وجود مستند واحد مُضلِّل، بالإضافة إلى العديد من الأدلة الداعمة، التي تُشير بقوة إلى أن الحملة تستهدف هاتين المنطقتين تحديدًا، حيث تُحاكي الملفات بدقةٍ بالغةٍ المراسلات الرسمية.
يبدأ الهجوم بمرفق ZIP. عند استخراجه، يحتوي الأرشيف على ملفات متعددة تبدو شرعية ولكنها في الواقع جزء من سلسلة عدوى منظمة مصممة لتنفيذ حمولات خبيثة في الخلفية.
تُقدّم هذه المدونة شرحًا تفصيليًا لعملية الإصابة الكاملة، وتُبيّن كيف يستخدم المهاجم مسارين مختلفين لتنفيذ الحمولة الخبيثة. كما تتناول كيفية استغلال الخدمات الموثوقة، مثل خدمة تخزين الكائنات الثنائية الكبيرة من مايكروسوفت أزور، لأغراض التحكم والسيطرة، وكيف يُستخدم برنامج Adaptix لتسريب البيانات والتحكم عن بُعد.
بالإضافة إلى ذلك، نحلل التشفير متعدد الطبقات المستخدم لحماية البيانات الخبيثة وكيف يساعد المهاجم على التخفي. كما تعرض المدونة مؤشرات الاختراق الرئيسية، وتسلط الضوء على أهم نتائج تحليلنا، وتربط السلوك المرصود بتقنيات MITRE ATT&CK لدعم نسبة هذه الحملة إلى جهة تهديد مرتبطة بالصين.
الأهداف الرئيسية
الصناعات المتضررة
- الحكومة والقطاع العام
- البحث والأوساط الأكاديمية
- التكنولوجيا والبرمجيات
- للخدمات المالية
التركيز الجغرافي
- جمهورية التشيك
- تايوان
سلسلة العدوى

النتائج الأولية
كجزء من جهودنا المستمرة لرصد التهديدات، SEQRITE حدد فريق المختبرات ملف ZIP مشبوهًا على threat intelمنصة التقاضي فايروس توتال.

استنادًا إلى بيانات القياس عن بعد المتاحة، تم إرسال الملف لأول مرة من تايوان في 26 مارس 2026. يوفر هذا الإرسال الأولي دليلاً هامًا، حيث قد يشير إلى المنطقة التي تم فيها رصد الحملة لأول مرة أو التي تستهدفها بنشاط.

بعد تحليل محتويات ملف ZIP المستخرج، حددنا العديد من الملفات المشبوهة، بما في ذلك مجلد باسم البيانات، ملف اختصار 計畫申請審查結果通知單.pdf.lnk متنكر في هيئة مستند PDF، وملف قابل للتنفيذ _計畫申請審查結果通知單.exe متنكر في هيئة ملف شرعي. اسم الملف يترجم إلى "إشعار بنتيجة مراجعة طلب المشروع" يشير ذلك إلى محاولة الظهور كوثيقة رسمية. كُتبت أسماء الملفات باللغة الصينية التقليدية، الشائعة الاستخدام في تايوان، مما يُرجّح أن الحملة تستهدف المستخدمين في تلك المنطقة.

بعد تحليل محتويات مجلد البيانات، وجدنا ملفات متعددة متورطة في مراحل مختلفة من سلسلة العدوى، بما في ذلك حاويات الحمولة المشفرة (1.dat و Com.dat)، وملفات البرامج النصية (Profile.ps1 و empty.vbs)، وملف DLL خبيث يستخدم للتحميل الجانبي (UnityPlayer.dll)، وملف PDF وهمي يستخدم لتشتيت انتباه الضحية.
بعد تحليل الملف التنفيذي، لاحظنا أنه يُنشئ مستندًا إضافيًا مُصممًا ليُشبه وثيقة رسمية من جمهورية التشيك. سيتم تحليل هذا المستند بالتفصيل لاحقًا في المدونة، ويُشير وجوده إلى أن الحملة تستهدف أيضًا مسؤولين تشيكيين.
الاطلاع على وثيقة التمويه
بعد فحص محتويات ملف ZIP المضغوط، اكتشفنا ملفًا وهميًا داخل مجلد البيانات باسم 000b67d70f3876965bb09fd37164b7.pdf. بالإضافة إلى ذلك، عند تحليل الملف التنفيذي الرئيسي _計畫申請審查結果通知單.exe، وجدنا ملفًا وهميًا آخر مضمنًا داخل الملف التنفيذي نفسه. للوهلة الأولى، يبدو الملفان متشابهين بسبب اسميهما، لكن محتواهما مختلف.
المستند 1: تم العثور على الطعم داخل مجلد البيانات/

تم العثور على الملف 000b67d70f3876965bb09fd37164b7.pdf داخل مجلد البيانات، وهو مُشفّر باستخدام عملية XOR أحادية البايت مع المفتاح 0xBE. عند فك التشفير، تبيّن أن المستند مكتوب باللغة الصينية ويحتوي على محتوى إعلاني لبرنامج WPS PDF. على الرغم من تشابه نمط التسمية مع مستند الإغراء المُضمّن في الملف التنفيذي، إلا أن هذا الملف لم يُشار إليه أو يُستخدم في أي مرحلة من مراحل سلسلة العدوى.
يشير هذا إلى أن الوثيقة ربما تم تضمينها عن غير قصد من قبل الجهة المهاجمة، ربما كأثر متبقٍ من حملة مختلفة، حيث كان من الممكن أن تكون هذه الوثيقة بمثابة فخ.
المستند 2: الشرك المضمن بالداخل _計畫申請審查結果通知單.exe

يُضمّن ملف التمويه داخل الملف التنفيذي _計畫申請審查結果通知單.exe، وهو المستند الذي يظهر للضحية أثناء التنفيذ. اسم المستند هو 000b67d70f3876965bb09fd37164b7ccrezervaci.pdf، وهو عبارة عن سلسلة نصية تشبه علامة التجزئة (#) مع كلمة تشيكية ("rezervaci"). المستند مكتوب باللغة التشيكية، ويبدو أنه إشعار موعد من إدارة الضمان الاجتماعي التشيكية (ČSSZ)، يُرجّح أنه مأخوذ من الموقع الرسمي cssz.cz. يتضمن المستند تفاصيل مثل موعد مُجدول لشخص يُدعى زوزانا كوشكوفا في 16 مارس 2026، مما يجعلها تبدو كوثيقة حكومية أصلية.
يُقدّم القسم الأخير من الوثيقة تعليمات إضافية للمستلم، تُرشده إلى ما يجب فعله عند وصوله إلى المكتب. ويشرح كيفية الحصول على رقم انتظار باستخدام رمز التعريف المُقدّم، ويُوجّه المستخدم إلى انتظار دوره، على غرار إجراءات حجز المواعيد المعتادة.
يتضمن المستند أيضًا رابطًا إلى الموقع الإلكتروني الرسمي لإدارة الضمان الاجتماعي التشيكية (ČSSZ) لإدارة الموعد أو إلغائه. ويبدو أنه تم إنشاؤه عن طريق حفظ أو طباعة الموقع الإلكتروني الأصلي كملف PDF.
سنتناول في القسم التالي الجوانب التقنية لهذه الحملة.
التحليل الفنى
أثناء تصفحنا لمحتويات ملف ZIP، لاحظنا شيئًا مثيرًا للاهتمام، فقد كان هناك بالفعل طريقتان ستقوم سلسلة العدوى في النهاية بتحميل ملف DLL الخبيث الذي يحتوي على الحمولة، وذلك اعتمادًا على الملف الذي تفاعل معه الضحية أولاً.
في المسار أتبدأ العدوى عندما ينقر الضحية على ملف LNK الخبيث 計畫申請審查結果通知單.pdf.lnk. يؤدي هذا الإجراء إلى تشغيل برنامج VBScript (empty.vbs) تلقائيًا، والذي بدوره يُشغّل برنامج PowerShell النصي (Profile.ps1). برنامج PowerShell النصي مسؤول عن فك التشفير. 1.dat، وكتابة المحتوى الذي تم فك تشفيره باسم RuntimeBroker_update.exe، ثم تنفيذه.
في المسار بيقوم الضحية بتشغيل ملف _計畫申請審查結果通知單.exe مباشرةً. يعمل هذا الملف التنفيذي كبرنامج تحميل مستقل قائم على لغة Rust، حيث يستخرج جميع المكونات المطلوبة بنفسه ثم يقوم بتشغيل نفس الملف RuntimeBroker_update.exe.
على الرغم من اختلاف الخطوات الأولية، إلا أن كلا المسارين ينتهيان في نفس المرحلة. يقوم RuntimeBroker_update.exe بتحميل ملف UnityPlayer.dll خبيث باستخدام تقنية التحميل الجانبي للمكتبات الديناميكية (DLL)، مما يؤدي إلى تشغيل برنامج تحميل قائم على لغة Rust نسميه صدأثم يقوم هذا المحمل بفك تشفير الحمولة النهائية وتشغيلها. أزورفيل، وهو عميل Adaptix C2.
المرحلة 1 - التسليم الأولي
المسار أ: التنفيذ القائم على LNK
تبدأ طريقة التسليم الأولى بملف اختصار Windows ضار يُسمى 計畫申請審查結果通知單.pdf.lnk، والذي يُترجم إلى "Project Application Review Result notification.pdf." استخدام الامتداد المزدوج (.pdf.lnk) مقصود، مما يجعل الملف يبدو كمستند PDF عادي.

تم إعداد ملف LNK لتشغيل wscript.exe من مجلد نظام ويندوز، مع تمرير .\data\empty.vbs كوسيط. بدلاً من فتح ملف PDF، يقوم الاختصار بتشغيل ملف VBScript هذا في الخلفية دون أي تنبيه. وفي الوقت نفسه، يستخدم أيقونة Microsoft Edge ليظهر كمستند عادي.
المسار ب: التسليم القائم على الملفات التنفيذية
تستخدم طريقة التسليم الثانية ملفًا تنفيذيًا مُجمَّعًا بلغة Rust يُسمى _計畫申請審查結果通知單.exe. يعمل هذا الملف كبرنامج تحميل كامل، حيث يحتوي على جميع المكونات المطلوبة مُضمَّنة بداخله، لذا فهو لا يعتمد على أي ملفات خارجية من أرشيف ZIP.

أثناء التحليل الديناميكي، وجدنا أن الملف التنفيذي يقوم بعدة إجراءات تلقائيًا. يبدأ بإنشاء مجلد في %LOCALAPPDATA%\WebViewFixUtility لتخزين ملفاته. ثم يقوم بإسقاط مكونات متعددة، بما في ذلك BrowserViewUtility.exe (ملف تنفيذي شرعي يُستخدم للتثبيت الجانبي)، وملف UnityPlayer.dll خبيث (RUSTCLOAK)، وملف تكوين مشفر، ومستند وهمي (000b67d70f3876965bb09fd37164b7ccrezervaci.pdf)، وRuntimeBroker_update.exe.
المرحلة الثانية - سلسلة التوزيع القائمة على البرمجة النصية
المسار ب يتولى كل شيء داخليًا، لذا من هنا نركز فقط على المسار أ، وهي سلسلة برمجية تعتمد على النصوص البرمجية، وتمر عبر ثلاثة مكونات إضافية: empty.vbs و Profile.ps1 و 1.dat. يلعب كل منها دورًا في إعداد وتنفيذ الملف الثنائي النهائي، RuntimeBroker_update.exe، والذي يُستخدم لاحقًا لتحميل ملفات DLL الجانبية.
بمجرد أن ينقر الضحية على ملف LNK، empty.vbs يتم تنفيذ الأمر وتبدأ سلسلة العمليات البرمجية. يعمل هذا التدفق بهدوء في الخلفية، ناقلاً التحكم من مكون إلى آخر دون إظهار أي شيء مثير للريبة للمستخدم.

بعد تحليل سكربت VB، وجدنا أنه سكربت صغير جدًا ذو غرض واحد فقط، وهو تشغيل ملف Profile.ps1 باستخدام PowerShell. يعمل السكربت مع تمكين تجاوز سياسة التنفيذ، وفي نافذة مخفية، فلا يرى المستخدم أي شيء. لا يحتوي السكربت نفسه على أي منطق حقيقي، بل يعمل ببساطة كحلقة وصل للمرحلة التالية.

يتولى الملف Profile.ps1 معالجة المنطق الرئيسي لسلسلة العدوى. يقرأ هذا البرنامج النصي 1.dat من تاريخ / يقوم البرنامج بفك تشفير المجلد باستخدام عملية XOR بسيطة مع المفتاح المُضمّن P@ssw0rd_am_2026. بعد فك التشفير، يصبح الملف RuntimeBroker_update.exeثم يتم كتابتها على القرص.
يقوم البرنامج النصي أيضًا بنقل ملفي UnityPlayer.dll و Com.dat إلى مجلد %TEMP% بحيث يتم وضع جميع المكونات المطلوبة معًا. بمجرد أن يصبح كل شيء جاهزًا، يقوم بتشغيل RuntimeBroker_update.exe في الخلفية ويفتح المستند الوهمي لإلهاء المستخدم.
الملف 1.dat ليس ملفًا تنفيذيًا عاديًا، بل هو حاوية مشفرة باستخدام عملية XOR تحتوي على الملف RuntimeBroker_update.exe. التشفير بسيط ويستخدم مفتاحًا قصيرًا، على الأرجح لتجنب الكشف الأساسي. بمجرد فك تشفيره بواسطة Profile.ps1، يتم إنشاء الملف التنفيذي RuntimeBroker_update.exe وتشغيله.
كما ذُكر سابقًا، تستخدم الحملة نقطتي دخول مختلفتين اعتمادًا على كيفية تفاعل الضحية مع الملف المضغوط. يؤدي كلا المسارين في النهاية إلى إيصال نفس الحمولة، RuntimeBroker_update.exe، لكن طريقة التنفيذ مختلفة. يتبع المسار (أ) سلسلة متعددة الخطوات تعتمد على البرامج النصية وتبدأ عندما ينقر الضحية على ملف LNK، بينما المسار (ب) مستقل بذاته ولا يتطلب من الضحية سوى تشغيل الملف التنفيذي.
المرحلة 3 - رست كلوك (محمل الصدأ)

يلتقي المساران هنا، ويبدأ تشغيل RuntimeBroker_update.exe. أول ما يفعله نظام ويندوز هو البحث عن ملف UnityPlayer.dll في نفس المجلد. يستغل المهاجم هذا الأمر بوضع ملف UnityPlayer.dll خبيث في نفس المجلد. ونتيجة لذلك، يقوم ويندوز بتحميل ملف DLL الخاص بالمهاجم بدلاً من الملف الأصلي.

هذا الملف DLL، الذي نسميه RUSTCLOAK، هو برنامج تحميل قائم على لغة Rust مسؤول عن مواصلة سلسلة التنفيذ وإعداد الحمولة النهائية.
نتاجات المطور

من أهم النتائج التي توصلنا إليها خلال تحليلنا لـ صدأ كان ذلك خطأً أمنيًا تشغيليًا ارتكبه المهاجم. فقد تُرك مسار بناء Rust C:\Users\dell2\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\src\decrypt_SM4.rs داخل الملف التنفيذي كنص عادي، مما كشف تفاصيل من نظام المطور.
يكشف هذا عن اسم مستخدم Windows الخاص بالمطور وهو dell2 وإصدارات المكتبات المحددة المستخدمة مثل libsm-0.5.1 لتشفير SM4 و base64-0.21.7 لعمليات Base64.
مكافحة التحليل: الكشف عن بيئة الاختبار المعزولة
قبل القيام بأي نشاط ضار، صدأ يتحقق مما إذا كان يعمل في بيئة اختبار أو بيئة تحليل. يسترجع اسم جهاز الكمبيوتر الخاص بالنظام ويقارنه بقائمة ثابتة تضم أكثر من 100 اسم معروف لأجهزة بيئات الاختبار والتحليل.

في حال العثور على تطابق، يخرج برنامج التحميل فورًا دون تنفيذ الحمولة. تتضمن القائمة أسماء شائعة الاستخدام مثل: DESKTOP-NAKFFMT, جوليا-بي سيو أرشيبالد-بي سيوالتي غالباً ما تُشاهد في إعدادات التحليل الآلي. يساعد هذا الفحص البرامج الضارة على تجنب الكشف عنها أثناء التحليل.
سلسلة فك التشفير ثلاثية الطبقات
Once Spa صدأ عند تحميلها، تقرأ الحمولة المشفرة (Com.dat) من القرص وتعالجها من خلال طبقات متعددة من فك التشفير قبل أن يتم تنفيذها.
الطبقة 1: فك تشفير RC4 مخصص - تستخدم المرحلة الأولى خوارزمية RC4 معدلة. المفتاح المستخدم في هذه الخطوة هو: F8 83 40 17 1D 66 AA C2 B0 25 A8 6C A0 DD C4 5A
الطبقة الثانية: فك تشفير Base64 - بعد خطوة RC4، لا يزال الناتج غير قابل للاستخدام مباشرةً. فهو مُشفّر بتنسيق Base64، لذا يقوم المُحمّل بفك تشفيره للحصول على البيانات الثنائية الفعلية للمرحلة التالية.
الطبقة الثالثة: فك تشفير SM4-CBC - في الخطوة الأخيرة، يتم فك تشفير البيانات باستخدام SM4 في وضع CBC. المفتاح ومتجه التهيئة المستخدمان هما:
المفتاح: CD CE 4F DB 3E 6A F2 44 AC 62 8C F4 96 1F 6B FB
رابعا: فا 70 ب1 81 أ0 با 5 د 46 7 أ 5 د 40 د 99 ب 6 9 ب 42
التنفيذ في الذاكرة عبر ألياف ويندوز

بمجرد اكتمال عملية فك التشفير، صدأ يقوم البرنامج بتخصيص الذاكرة باستخدام VirtualAlloc ونسخ الشيفرة الخبيثة التي تم فك تشفيرها إليها. ثم يقوم بتغيير أذونات الذاكرة إلى وضع التنفيذ باستخدام VirtualProtect قبل تشغيل الحمولة.
بدلاً من إنشاء سلسلة عمليات جديدة، والتي غالباً ما تراقبها أدوات الأمان، يستخدم هذا البرنامج ألياف ويندوز للتنفيذ. يستدعي برنامج التحميل الدالة CreateFiberEx ثم الدالة SwitchToFiber لتمرير التحكم إلى الشيفرة الخبيثة.

أثناء تصحيح أخطاء برنامج التحميل، لاحظنا أنه يخصص مساحة كبيرة من الذاكرة وينسخ الحمولة المُفكّكة إليها. عند فحص مساحة الذاكرة بدقة، وجدنا رأس PE صالحًا (MZ)، مما يؤكد أن الشفرة الخبيثة تحتوي بالفعل على ملف تنفيذي كامل مُضمّن بداخلها. وقد لوحظ أن حجم هذه الحمولة الموجودة في الذاكرة يبلغ حوالي 103 كيلوبايت.
قمنا باستخراج ملف PE الموجود في الذاكرة أثناء عملية تصحيح الأخطاء، والذي تبين أنه الحمولة النهائية. أزورفيل. وهذا يبين أن صدأ لا يقتصر الأمر على تنفيذ التعليمات البرمجية الخام مباشرة، بل يقوم بفك تشفير وتحميل ملف تنفيذي كامل في الذاكرة ثم ينقل التنفيذ إليه.
المرحلة الرابعة - AZUREVEIL (Adaptix C2 Agent)
تُعدّ AZUREVEIL الحمولة النهائية والجزء الأكثر إثارة للاهتمام من الناحية التقنية في هذه الحملة.

بعد تحليل الملف باستخدام DIE، وجدنا أن أزورفيل هو وكيل Adaptix C2 كامل الميزات تم تجميعه كملف DLL 64 بت باستخدام MinGW C++.

أثناء التحليل على موقع VirusTotal، تم تصنيف العينة على أنها خبيثة من قبل العديد من البائعين، حيث أشارت عملية الكشف إلى تكوين مضمن مرتبط بعائلة البرامج الضارة Adaptix.
لاحظنا أن أزورفيل يقوم البرنامج بحلّ حوالي 87 واجهة برمجة تطبيقات (API) لنظام ويندوز أثناء التشغيل باستخدام طريقة تجزئة تعتمد على djb2. ويقوم بتحميل هذه الواجهات من مكتبات أساسية مثل... WININET.DLL, Ws2_32.dll, Advapi32.dll, Iphlpapi.dllو MSVCRT.DLL.
اتصال Azure Blob Storage C2

خلال تحليلنا، لاحظنا أن أزورفيل يستخدم هذا البرنامج الخبيث خدمة تخزين الكائنات الثنائية الكبيرة (Blob Storage) من مايكروسوفت أزور للاتصال بالتحكم والسيطرة. والجزء المثير للاهتمام هو آلية التحكم والسيطرة، إذ لا يوجد خادم تحكم وسيطرة تقليدي على الإطلاق. يتصل البرنامج الخبيث مباشرةً بخدمة تخزين الكائنات الثنائية الكبيرة من أزور، وهي الخدمة نفسها التي تستخدمها آلاف المؤسسات الشرعية حول العالم.
نقطة نهاية C2: note1ggbbhggdwa1[.]blob[.]core[.]windows[.]net
بدلاً من استخدام نموذج C2 التقليدي القائم على السحب، أزورفيل يتبع هذا النهج أسلوب "التسليم السري". لا يتواصل المهاجم والنظام المصاب بشكل مباشر، بل يستخدم الطرفان حاوية تخزين Azure نفسها لتبادل البيانات.
يقوم البرنامج الخبيث بتحميل إشارة مشفرة صغيرة (حوالي 124 بايت) بشكل دوري للإشارة إلى أنه نشط. ثم يضع المهاجم الأوامر في نفس الحاوية. أزورفيل يسترجع هذه الأوامر، ويفك تشفيرها، وينفذها، ويرفع النتائج مرة أخرى ككائنات ثنائية مشفرة.
قدرات القيادة في AZUREVEIL

خلال تحليلنا الثابت والديناميكي، حددنا 36 أمرًا مدعومًا بواسطة أزورفيلوتغطي هذه القدرات نطاقًا واسعًا من الأنشطة اللاحقة للاختراق. فهي تُمكّن المهاجم من السيطرة الكاملة على النظام المصاب، وسرقة البيانات، والتنقل داخل الشبكة.
عمليات نظام الملفات
- عرض محتويات الدليل ومحركات الأقراص المنطقية
- قراءة الملفات ونقلها وإعادة تسميتها وحذفها
- قم باستخراج الملفات إلى Azure Blob Storage
- قم بنقل الملفات من خادم التحكم والسيطرة إلى نظام الضحية
- تنزيلات الملفات في قائمة الانتظار
مراقبة العمليات والشل
- نفذ أوامر الصدف
- قائمة بالعمليات الجارية والأنابيب المسماة
- تكوين العمليات وإنهاؤها
- قم بإنهاء العمليات أو إغلاق الأنابيب
التواصل والتحول
- إعادة توجيه المنافذ والتحكم في وكيل SOCKS
- اتصالات محورية TCP و UDP
- الاتصال عبر الأنابيب المسماة
- تعداد محولات الشبكة (MAC، IP، النوع)
إدارة C2
- أعد تكوين إعدادات C2 أثناء التشغيل
- حالة نقل ملف التحكم
- استعادة وقت تشغيل النظام
تنفيذ التعليمات البرمجية في الذاكرة
- تنفيذ ملفات كائنات الإشارة (BOF) بالكامل
في الذاكرة دون الكتابة إلى القرص
محرك تنفيذ BOF

لفت انتباهنا الأمر 0x32 أثناء التحليل الثابت. في البداية، بدا وكأنه روتين حقن عام، ولكن بعد تحليل كود إعادة التوطين، وجدنا أنه أكثر من ذلك.

كانت الدالة تقرأ البيانات عند الإزاحة +2 لعدد الأقسام والإزاحة +12 لعدد الرموز، وهي نفس الإزاحات المحددة في تنسيق ملف COFF القياسي. وللتأكد من ذلك، قمنا بتجميع ملف كائن AMD64 COFF حقيقي على جهاز التحليل الخاص بنا وقارنا بنيته مع بنية المحلل اللغوي.
عند استلام ملف كائن (BOF)، يقوم Azureveil أولاً بتخصيص الذاكرة وتحميل الأقسام المختلفة من ملف الكائن فيها. ثم يُعالج عمليات النقل المطلوبة ويحلّ مراجع الدوال باستخدام نظام البحث الداخلي القائم على التجزئة. بعد إتمام جميع الإعدادات، يُنفّذ المُحمِّل نقطة دخول ملف الكائن مباشرةً ضمن عملية الوكيل.
يتم التقاط أي مخرجات يتم إنشاؤها أثناء التنفيذ باستخدام قناة اتصال مُسماة، ثم تُرسل مرة أخرى إلى المهاجم عبر خدمة Azure Blob Storage. يتيح هذا للمهاجم تشغيل وظائف إضافية على النظام واسترجاع النتائج، مع بقاء البيانات في الذاكرة بشكل كامل.
البنية التحتية والإسناد
خلال تحليلنا، لاحظنا أن أزورفيل يتواصل المهاجم بشكل كامل عبر خدمة تخزين الكائنات الثنائية الكبيرة (Blob Storage) من مايكروسوفت أزور، مستغلاً بنية تحتية سحابية مشروعة لأغراض التحكم والسيطرة. وبدلاً من استخدام خادم تحكم وسيطرة تقليدي، يعتمد المهاجم على حساب تخزين مخصص في أزور: note1ggbbhggdwa1[.]blob[.]core[.]windows[.]net

وكشفت تحليلات إضافية عن التفاصيل التالية حول إعداد التخزين:
الحاوية: /note/ats/
تنسيق Blob: {agent_id}/{timestamp1}_{timestamp2}.bin
رقم تعريف الوكيل: 345831bc
المنفذ: 443 (HTTPS)
تتم جميع الاتصالات عبر بروتوكول HTTPS على المنفذ 443، مما يجعل حركة البيانات تبدو وكأنها جزء من نشاط Azure الطبيعي. وبما أن blob.core.windows.net يُستخدم على نطاق واسع من قِبل التطبيقات المشروعة، فإن هذا الأسلوب يُساعد المهاجم على تجنب الكشف على مستوى الشبكة.
لقد حددنا أيضًا رمز توقيع الوصول المشترك (SAS) المضمن في الكود الموجود داخل encrypted_blob والذي يتم إسقاطه بواسطة الملف التنفيذي _計畫申請審查結果通知單.exe، والذي يستخدم لمصادقة جميع العمليات على حساب التخزين:
sv=2024-11-04&ss=b&srt=sco&sp=rwdlaciytfx&st=2026-03-19T09:20:44Z&se=2027-03-19T17:35:44Z&spr=https&sig=ECJjJIIE9Ou75dwiHhliC4fWccdBpLX9u580AX9TGwY=
صلاحية الرمز المميز سنة واحدة، من 19 مارس 2026 إلى 19 مارس 2027. تشير هذه الصلاحية الطويلة إلى أن المهاجم كان ينوي الحفاظ على وصول دائم لفترة ممتدة. تسمح الصلاحيات المرتبطة بالرمز المميز بالتفاعل الكامل مع حاوية التخزين، بما في ذلك عمليات القراءة والكتابة والحذف والتحميل.
استنادًا إلى أساليب وتقنيات وأساليب الهجوم، والأدوات المستخدمة، والاستهداف الذي لوحظ خلال هذه الحملة، نُرجّح بدرجة متوسطة من الثقة أنها مرتبطة بجهة تهديد مقرها الصين. مع ذلك، لا ننسبها إلى أي مجموعة معروفة تحديدًا، إذ تتضمن الحملة تقنيات لم يسبق توثيقها في أنشطة التهديدات المتقدمة المستمرة الصينية المعروفة علنًا.
خاتمة
عملية نسيج التنين هي حملة تجسس مُستهدفة. من أبرز جوانبها استخدام خدمة تخزين Microsoft Azure Blob كقناة تحكم/قيادة مُخفية. فبدلاً من التواصل مع خادم تحكم/قيادة تقليدي، يُدمج البرنامج الخبيث بياناته مع أنشطة الحوسبة السحابية العادية، مما يُصعّب اكتشافه. الحمولة النهائية، AZUREVEIL، عبارة عن عميل تحكم/قيادة Adaptix متكامل الميزات، مزود بـ 36 أمرًا لما بعد الاختراق. إلى جانب قدرة تنفيذ أوامر BOF في الذاكرة، يمنح هذا البرنامج المهاجم مرونة كبيرة لتشغيل تعليمات برمجية إضافية والتحكم في النظام دون ترك أي أثر يُذكر على القرص.
لاحظنا أيضاً أن الحملة تستهدف كلاً من جمهورية التشيك وتايوان، باستخدام وثائق استدراج خاصة بكل منطقة. وهذا يدل على أن العملية مُخطط لها ومُستهدفة وليست عشوائية. وبناءً على استخدام أدوات وتقنيات مُختلفة، نُرجّح أن هذه الحملة مرتبطة بجهة تهديد مقرها الصين.
SEQRITE الحماية
Lnk.Trojan.50646.GC
Trojan.Agent.S38943638
Script.Trojan.50655.SL
Script.Trojan.50650.SL
مؤشرات الاختراق (IOCs)
SHA-256اسم الملف
| 096372d19b4787e989f44e04c5ecc29885aa927c34ae8666628d6c0eb20bb447 | قراءة المزيد عن الكتب الإلكترونية.pdf.lnk |
| 1c56228cbd1bdebb9e5ea55c2749150fee06c865ede4a3754e8bd6843e51d2d4 | 計畫申請審查結果通知單.exe |
| 080ab9bc2893ba7bad354551604a667af40ed2ae2d042d2323c2bd9ad3122192 | UnityPlayer.dll |
| 5ed14c2b7f7433a1a72dd6b668413f935a217ba10b69d89b774a82990fa12fe1 | BrowserViewUtility.exe |
| 61f7d9cd2d8ce7df950639b23ce90085b300b0c6dd0d8d934bba8fdecb670f15 | RuntimeBroker_update.exe |
| 24aa4e780ccd66cef13da9ef98c32954105cf2a32ec643efab0ba1aa2d6352f4 | Com.dat |
| 02542a49b3bd6bd2795afb67840acb4557b17e017f7503dd03ebe3aeeb28720e | 000b67d70f3876965bb09fd37164b7ccrezervaci.pdf |
| 8ae7c82a3e4f742777e590b25a1c563d19bd9bcba2a387d004aae72c4b2828f9 | 000b67d70f3876965bb09fd37164b7.pdf |
| 047687548605734348792e2a9d771b6cba42facd0d0d7d44d778290a25848574 | 1.dat |
| a4e9f9919d62589b57cfa08c9ccb89e386b09f683271373413cd8e8c8c7d1c5a | empty.vbs |
| 823d5969db3f3b72ebbdce1b78752717ea849884a0fb40d86146416c38e128de | Profile.ps1 |
| 783661d0f7edb338d2d50be087764d82dbbc9ee7989ddc57db1801e4ec9045b0 | azureveil.exe |
مؤشر الشبكة
مؤشرالوصف
| note1ggbbhggdwa1[.]blob[.]core[.]windows[.]net | Azure Blob Storage C2 |
رسم خرائط MITRE ATT&CK
| تكتيك | معرف التقنية | اسم التقنية |
| الوصول الأولي | T1566.001 | ملحق التصيد الاحتيالي |
| التنفيذ | T1204.002 | ملف خبيث – تنفيذ المستخدم |
| T1059.001 | بوويرشيل | |
| T1059.005 | Visual Basic | |
| التهرب الدفاعي | T1574.002 | تحميل DLL الجانبي |
| T1027 | ملفات أو معلومات مُشفرة | |
| T1055 | حقن العملية | |
| T1497.001 | التحايل على المحاكاة الافتراضية/بيئة الحماية | |
| T1620 | تحميل التعليمات البرمجية الانعكاسية | |
| الاكتشاف | T1083 | اكتشاف الملفات والمجلدات |
| T1057 | اكتشاف العملية | |
| T1016 | اكتشاف تكوين شبكة النظام | |
| T1082 | اكتشاف معلومات النظام | |
| القيادة والسيطرة | T1102.001 | خدمة ويب - محلل عناوين البريد الميت |
| T1573 | قناة مشفرة | |
| T1090 | الوكيل | |
| T1105 | نقل أدوات الدخول | |
| exfiltration | T1041 | عملية التسرب عبر قناة C2 |
المؤلفون
بريا باتيل
كارتيك كومار جيفاني



