إلى الخلف
رانسوم وير
جدول المحتوى

شهد عام 2021 اندلاع مجموعات برامج الفدية والهجمات التي أثرت على كل الصناعات الرئيسية في جميع أنحاء العالم. من المتوقع أن يستمر هذا الاتجاه بل ويتجاوز أرقام العام السابق بهامش كبير في عام 2022.

في مارس 2022، اكتشف الباحثون سلالة جديدة من برامج الفدية المعروفة باسم Pandora والتي تستفيد من أساليب الابتزاز المزدوجة لاستخراج وتشفير كميات كبيرة من البيانات الشخصية. يقدم المشغلون مفتاح فك التشفير بمجرد أن تدفع الضحية الفدية المطلوبة. تعد Pandora ransomware عملية جديدة نسبيًا وبالتالي فإن تقنيات العدوى الخاصة بها غير معروفة.

ومع ذلك، بعد التسلل إلى النظام المستهدف، يقوم برنامج الفدية بإلحاق امتداد الملف «.pandora» بالملفات المشفرة ويترك مذكرة الفدية «Restore_My_Files.txt» مع تعليمات حول كيفية استرداد البيانات. يعتقد الباحثون أن برنامج Pandora ransomware هو نسخة معدلة من Rook ransomware، والتي بدورها هي نسخة من شفرة بابوك المسربة. تستكشف هذه المقالة التحليل الفني لبرنامج Pandora ransomware وتكتيكات التهرب وعملية التشفير والمزيد بالتفصيل.

التحليل الفني لباندورا

تحليل عينة ملف Pandora الثنائي، 5b56c5d86347e164e571c86dbf5b 5b1535ae6b979 fed6 ed66b01e79e79a33b7b، يشير إلى أنه ملف ثنائي معبأ بـ UPX (Ultimate Packer for Executables). UPX هو ضاغط ملفات قابل للتنفيذ يستخدمه ممثلو التهديد لإضافة طبقة من التشويش (إنشاء كود يصعب على البشر فهمه) إلى برامجهم الضارة. يتم تشغيل رمز برنامج الفدية من نقطة الإدخال الأصلية بعد فك حزمه في الذاكرة.

Ransomware code running from the entry point
كود رانسوم وير يعمل من نقطة الدخول

 

يستخدم برنامج الفدية سلاسل غامضة ويزيل التشويش على أسماء المكتبات والوظائف الداخلية في وقت التشغيل. يتم تحميل وحدات المكتبة التي تستخدمها Pandora ديناميكيًا على أساس كل استخدام عبر واجهات برمجة التطبيقات التالية:

  • تحميل مكتبة
  • احصل على عنوان PROc
  • احصل على مقبض الوحدة

في البداية، يقوم برنامج الفدية بإنشاء mutex (كائن الاستبعاد المتبادل، والذي يمكّن سلاسل البرامج المتعددة من التناوب على مشاركة نفس المورد) للتأكد من تشغيل مثيل واحد فقط من البرامج الضارة على النظام. يتم إلغاء التشويش على سلسلة موتكس، «ThisisMutexa»، في الذاكرة. يقوم بالتحقق من أي موتكس موجود على النظام عبر أوبن موتيكسا، في حالة عدم وجودها، تنشئ البرامج الضارة واحدة جديدة بقيمة «ThisisMutexa» عبر قم بإنشاء تطبيق Mutexa.

آلية مكافحة التصحيح

تقوم البرامج الضارة بتنفيذ فحوصات مكافحة التصحيح لعرقلة التحليل.

Anti Debug Check
فحص مكافحة التصحيح

 

  • يقوم الكود الموضح في الصورة أعلاه بقراءة البيانات عند الإزاحة 0x60 من سجل المقطع الغاز. يقوم نظام التشغيل Windows بتخزين كتلة معلومات الموضوع (TIB) في FS [x86] و الغاز [x64] سجلات المقطع.
  • يحمل TIB كتلة بيئة العملية (PEB) عند الأوفست 0x60. تصل البرامج الضارة إلى PEB للعملية عبر سجل GS.
  • في وقت لاحق، تقوم البرامج الضارة بقراءة البيانات عند الإزاحة 0x2 في PEB (ds: [rsi+2])، وهو يتم تصحيحه عضو في بنية PEB، ثم يقارن القيمة التي تم الحصول عليها بـ 0. إذا تم تصحيح العملية، فستكون قيمة BeingDebugged غير صفرية. في حالة فشل الاختبار، تنتقل البرامج الضارة إلى حلقة لا نهائية ولا تستمر في المضي قدمًا.

تقنيات التهرب

تجاوز رد الاتصال بالأجهزة

تستخدم نقاط النهاية الأمنية (خاصة eTWTi) للجهاز عملية رد الاتصال بالأجهزة للتحقق من التشوهات السلوكية واكتشاف البرامج الضارة الجديدة على النظام. يتجاوز برنامج Pandora ransomware آلية رد الاتصال هذه عبر عملية معلومات ntset، مما يغير معلومات العملية.

  • يتم استدعاء عملية معلومات ntset مع إعادة الاتصال بأجهزة العمليات كجزء من فئة معلومات العملية.
ntsetinfromationprocess being invoked
يتم استدعاء عملية معلومات ntsetin

 

  • الوسيطة الثالثة في الصورة أعلاه هي بنية طولها 10 بايت مرتبطة بفئة معلومات ProcessInstrumentationCallback المقدمة.
The third argument (10-byte long structure)
الوسيطة الثالثة (بنية طويلة 10 بايت)
  • الأعضاء والقيم المرتبطة في الهيكل هي كما يلي:
    • الإصدار=0 (0 لـ x64، 1 لـ x86)
    • محجوز = 0
    • رد الاتصال = 0

إذا تم ربط العملية التي تم إنشاؤها للبرامج الضارة بواسطة خدمات الأمان عبر عضو رد الاتصال، واستدعاء عملية ntsetinformationprocess بالطريقة المذكورة أعلاه مع تعيين رد الاتصال على 0، فهذا يساعد البرامج الضارة على تجاوز مثل هذه الخطافات.

تجاوز تتبع الأحداث

يعد Event Tracing لنظام التشغيل Windows (ETW) وسيلة تتبع قوية مدمجة في نظام التشغيل، لمراقبة الأنشطة المختلفة لكل من تطبيقات userland و kernel الأرضية التي تعمل على النظام. أصبحت هذه الميزة أداة حيوية لحلول أمان نقطة النهاية لاكتشاف السلوك الشاذ في البرامج قيد التشغيل. ونتيجة لذلك، بدأ مطورو البرامج الضارة في دمج الوظائف في برامجهم الضارة لتحييد قدرة التتبع. أحد هذه المتجهات هو تصحيح الوظائف ذات الصلة بـ ETW المحددة في ntdll.dll في الذاكرة.

  • يتم تحميل برنامج الفدية ديناميكيًا ntdll.dll في الذاكرة ويزيل التشويش على السلسلة »كتابة الأحداث الإلكترونية».
Deobfuscation of “EtwEventWrite”
إزالة التشويش على «eTeventWrite»

 

  • يتم الحصول على عنوان وظيفة eTWEventWrite باستخدام احصل على عنوان PROc API. يعد الحصول على عنوان الوظيفة خطوة مهمة جدًا في التصحيح لتجاوز ميزة ETW.
  • قبل أن تبدأ البرامج الضارة في التصحيح، يجب تغيير حماية الذاكرة في منطقة الصفحات الملتزمة، حيث يوجد eTwEventWrite في مساحة العنوان الافتراضي، ويتم ذلك عبر الحماية الافتراضية API.
  • يتم تغيير منطقة ذاكرة الصفحات التي توجد فيها التعليمة الأولى لـ EtwEventWrite إلى تنفيذ الصفحة/القراءة/الكتابة ليتم تصحيحها.
Arguments passed to VirtualProtectEx
تم تمرير الحجج إلى VirtualProtectEx

 

  • ال اكتب ذاكرة المعالجة يتم استخدام API لكتابة بايت واحد في بداية وظيفة etWeventWrite. تشير الوسيطة الثانية إلى بداية eTwEventWrite، والوسيطة الثالثة هي الحمولة الطويلة ذات البايت الواحد التي تتم كتابتها على عنوان EtwEventWrite.
The data passed to WriteProcessMemory
تم تمرير البيانات إلى WriteProcessMemory

 

  • حمولة البايت الواحد هي 0xC3، وهو رمز التشغيل الخاص بالتعليمات»راحة». هذا يجعل EtwEventWrite يعود ببساطة إلى وظيفة المتصل، دون تنفيذ منطقه لتسجيل حدث عندما يتم استدعاء eTwEventWrite بواسطة تطبيقات أخرى.
One byte payload - 0xC3
حمولة واحدة بايت - 0xC3

 

  • بعد التصحيح، تتم إعادة حماية ذاكرة eTWEventWrite مرة أخرى إلى الإذن الأولي لـ تنفيذ_قراءة_الصفحة عبر فيرتوال بروتكتكس.
Memory protection of EtwEventwrite
حماية الذاكرة لـ eTeventWrite

 

مرحلة ما قبل التشفير

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

Data passed to SetProcessShutdownParameters
تم تمرير البيانات إلى إعدادات إيقاف تشغيل العملية

 

بعد تعيين معايير إيقاف التشغيل هذه، تقوم البرامج الضارة بإفراغ سلة المحذوفات عبر تقوم بتفريغ سلة المحذوفات API.

ترفع برامج الفدية أولوية عملية التشغيل إلى أعلى أولوية ممكنة وهي فئة الأولوية في الوقت الفعلي بواسطة تعيين فئة الأولوية API. الوسيطة الثانية هي المعلمة «DWPriorityClass» التي تبلغ قيمتها 0x100.

Data passed to SetPriorityClass
تم تمرير البيانات إلى SetPriorityClass

 

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

Deleting shadow files using vssadmin
حذف ملفات الظل باستخدام vssadmin

 

مرحلة التشفير: نموذج الترابط

يقوم الخيط الرئيسي للبرامج الضارة بإنشاء سلسلتين جديدتين مسؤولتين عن تشفير بيانات المستخدم.

Creation of two new threads
إنشاء موضوعين جديدين

 

يتم استخدام واجهات برمجة التطبيقات التالية لإنشاء سلاسل الرسائل:

  • إنشاء موضوع
  • تعيين قناع تقارب الخيط
  • موضوع السيرة الذاتية

يتم إنشاء سلاسل المحادثات مع تعيين DwCreationFlags على تم إنشاء_معلّق، في وقت لاحق يتم استئناف تنفيذ المواضيع عبر موضوع السيرة الذاتية.

يبدأ مؤشر الترابط الرئيسي في تعداد محركات الأقراص الموجودة على النظام عبر واجهات برمجة التطبيقات التالية:

  • احصل على نوع القيادة W
  • ابحث عن المجلد الأول W
  • احصل على أسماء مسارات وحدة التخزين لـ VolumenaMew
  • تعيين نقطة تثبيت مستوى الصوت W
  • ابحث عن المجلد التالي W
  • احصل على محركات أقراص منطقية

يستخدم Pandora منافذ إكمال الإدخال/الإخراج لـ Windows لتسريع عملية التشفير بكفاءة. تُستخدم واجهات برمجة التطبيقات التالية لتنظيم البحث عن بيانات المستخدم وقفلها:

  • إنشاء منفذ إكمال iOS
  • حالة إكمال النشر في قائمة الانتظار
  • احصل على منفذ إكمال قائمة الانتظار

في البداية، يقوم الخيط الرئيسي للبرامج الضارة بإنشاء منفذ إكمال الإدخال/الإخراج (I/O) عبر واجهة برمجة تطبيقات CreateIOCompletionPort.

Data passed to CreateIoCompletionPort
تم تمرير البيانات إلى CreateIO CompletionPort

 

  • الحجة الرابعة هي «عدد المواضيع المتزامنة». في حالتنا، يُسمح لسلسلتين بمعالجة حزم إكمال الإدخال/الإخراج بشكل متزامن لمنفذ إكمال الإدخال/الإخراج.
  • بعد إنشاء منفذ الإدخال/الإخراج، يتم إنشاء قائمة انتظار داخليًا، حيث يمكن للخيوط دفع حالة الإكمال إليها.
  • سيقوم الخيطان اللذان تم إنشاؤهما مسبقًا بالوصول إلى منافذ الإدخال/الإخراج لإجراء تعداد الملفات والتشفير على النظام المصاب.

بشكل عام، اعتمدت برامج الفدية في البرية نموذجًا لتحسين عملية التشفير. الهدف هنا هو الاستفادة بكفاءة من قوة المعالجات متعددة النواة لإجراء تعداد الملفات والتشفير بشكل متزامن. ستقوم مجموعة من سلاسل العمليات العاملة بجلب مسارات الملفات ونشرها في قائمة الانتظار عبر حالة إكمال النشر في قائمة الانتظار، ويمكن لمؤشر ترابط آخر استرداد الملفات المنشورة (المسارات) للتشفير عبر احصل على حالة الإكمال في قائمة الانتظار.

Optimization of the encryption process
تحسين عملية التشفير

 

يستخدم Pandora خوارزمية RSA 4096 للتشفير، والمفتاح العام مضمن في البرامج الضارة.

Public key embedded in the malware
المفتاح العام المضمن في البرامج الضارة

 

كخطوة سابقة لعملية التشفير، تصل البرامج الضارة إلى الأدلة الموجودة في محركات أقراص الشبكة وتخلص من مذكرة الفدية (Restore_My_Files.txt). يتم إنشاء مذكرة الفدية باستخدام واجهات برمجة التطبيقات الثلاثة التالية:

  • إنشاء ملف جديد
  • اكتب ملف W
  • مقبض مغلق
Contents of the ransom note
محتويات مذكرة الفدية

 

عملية التشفير

يتم تنفيذ العملية الموضحة في هذا القسم من خلال سلاسل العمال الموضحة في الصورة أدناه. يمكن لهذه الخيوط تعداد البيانات وتشفيرها بشكل متزامن عبر منفذ إكمال Windows I/O.

Worker Threads
خيوط العمال

 

  • بعد التخلص من مذكرة الفدية، تستخدم البرامج الضارة ابحث عن الملف الأول W لفتح مقبض للملفات الموجودة على القرص.
  • يتم فحص المقبض الذي تم استرداده مقابل مجموعة من أسماء الأدلة وامتدادات الملفات.
  • يتم استبعاد الأدلة التالية من القفل:
بيانات التطبيق برنامج أوبرا Bootmozilla Windows.old موزيلا فايرفوكس تور برنامج المتصفح بيانات برنامج إنترنيت إكسبلورر ملفات البرنامج ملفات برنامج غوغل (x86) أوبرا #recycle
  • يتم استبعاد الملفات التالية من التشفير:
التشغيل التلقائي.infbootmgfw.efiboot.INI لسطح المكتب.iniBootfont.biniconcache.dbootsect.bakntldrbootmgrntuser.dbootmgrr.firestore_ملفات_my.txt
  • ويتم استبعاد الإضافات التالية من القفل:
.hta.cur.exe.drv.dll.hlp.cpl.icl.ini.icns.cab.ico.idx.sys.spl.ocx.pandora
  • بعد إجراء عمليات التحقق من الاستبعاد، يتم حساب المسار المطلق للملف الذي اجتاز الفحص ثم يستدعي مؤشر الترابط حالة إكمال النشر في قائمة الانتظار لإرسال المسار إلى قائمة انتظار الإدخال/الإخراج التي تم إنشاؤها مسبقًا عبر إنشاء منفذ إكمال iOS.
  • مباشرة بعد استدعاء postQueuedCompletionStatus، يمكن لمؤشر الترابط العامل نفسه استئناف جلب المسار المطلق للملف التالي عبر FindNextFileW API.
  • يمكن الآن استدعاء موضوع عامل آخر احصل على حالة الإكمال في قائمة الانتظار لاسترداد المسار المطلق للملف الهدف لبدء تشفير الملفات.
  • بعد ذلك، يتم تغيير سمة الملف عبر واجهة برمجة تطبيقات setFileAttributeSW إلى سمات_ملف_عادية_ ثم يتم جلب الملف للتشفير عبر واجهات برمجة التطبيقات التالية:
    • إنشاء ملف جديد
    • احصل على حجم الملف EX
    • اقرأ الملف
    • تعيين ملف بوينتريكس
  • بعد إعداد مؤشر الملف إلى البيانات المستهدفة، يبدأ التشفير بتحميل المفتاح العام في الذاكرة، وتتم كتابة البيانات المشفرة إلى الملف عبر اكتب ملف API. في وقت لاحق تتم إعادة تسمية الملف عبر نقل ملف EXW واجهة برمجة التطبيقات لإضافتها». باندورا» ملحق للملف المشفر.
Renamed file with the “.pandora” extension
تمت إعادة تسمية الملف بالملحق «.pandora»

 

مفاتيح التسجيل

HKCU registry key
مفتاح تسجيل HKCU

 

يكتب برنامج الفدية Pandora قيمتين، خاص و الجمهور، تحت HKCU/البرمجيات مفتاح التسجيل. تحتوي القيمة العامة على المفتاح العام الذي تستخدمه برامج الفدية لتشفير ملفات المستخدم، بينما تحتوي القيمة الخاصة على المفتاح الخاص المحمي المخزن لفك التشفير. تستخدم أداة فك التشفير التي تتلقاها الضحية بعد دفع الفدية هذه المعلومات المخزنة في السجل لفك تشفير الملفات المقفلة.

مؤشرات التسوية

نظام ثنائي5b56c5d86347e164e571c86dbf5b 5b1535ae6b979 fed6 ed66b01e79e79a33b7bالتسجيلHKCU\ البرمجيات\ القطاع الخاصHKCU\ البرمجيات\ الجمهورملفات تم إسقاطهاRestore_My_Files.txt

لم يتم العثور على أية عناصر.

مدونات ذات صلة