في 23 فبراير 2022، حدد باحثو ESET برنامجًا ضارًا مدمرًا، أطلق عليه اسم «Hermetic Wiper»، يستهدف أجهزة الكمبيوتر والمواقع الإلكترونية الأوكرانية.
يستخدم برنامج Hermetic Wiper الثنائي للبرامج الضارة شهادة رقمية موقعة صادرة إلى «Hermetica Digital Ltd» ويحمل برنامج التشغيل الذي أسقطته البرامج الضارة شهادة رقمية موقعة صادرة إلى «Chengdu Yiwo Tech Development Co Ltd» للتحايل على عمليات الفحص الأمني.
تقوم البرامج الضارة بإسقاط برنامج التشغيل، في دليل Windows Drivers، والذي يعد جزءًا من برنامج Easeus الذي يحمل اسم الملف الأصلي EPMNTDRV.sys.
يقوم بإساءة استخدام برنامج التشغيل الذي تم تحميله على النظام المستهدف للوصول إلى القرص الصلب بامتيازات أعلى وكتابة بيانات القمامة فيه.
ثم تجعل البرامج الضارة النظام عديم الفائدة عن طريق إتلاف بيانات التشغيل، مما يجبر المستخدم على إعادة تثبيت نظام التشغيل الخاص به.
التحليل الفني للبرامج الضارة لـ Hermetic Wiper
الاستفادة من شهادات توقيع التعليمات البرمجية لتجنب الاكتشاف
يتم إصدار الشهادة الرقمية الموقعة من البرنامج الضار إلى Hermetica Digital Ltd.، وهي شركة لتطوير الألعاب مقرها قبرص.
تقوم البرامج الضارة بإسقاط برنامج تشغيل في دليل Windows Drivers. تنتمي الشهادة الرقمية الموقعة للثنائي الذي تم إسقاطه إلى شركة Chengdu Yiwo Tech Development Co Ltd.، مالكة شركة Easeus Data، وهي شركة للنسخ الاحتياطي للبيانات واستعادتها.
تبدأ البرامج الضارة بالحصول على مقبض لرمز العملية الحالية.
في Windows، الرمز المميز هو كائن يمثل الامتياز الذي تحتفظ به العملية أثناء التشغيل على النظام. يمكن العثور على قائمة كاملة بثوابت الامتيازات هنا.
تستخدم البرامج الضارة افتح رمز العملية واجهة برمجة التطبيقات مع الوصول المطلوب تم تعيين المعلمة إلى 0x0028 (رمز الاستعلام 0x0008 | رمز تعديل الامتيازات 0x0020).
يسمح هذا للبرامج الضارة بتغيير الامتيازات المعينة إلى الرمز المميز.
استخدام واجهة برمجة تطبيقات OpenProcessToken لتغيير امتيازات الرمز المميز
تغيير امتيازات الرمز
بعد الوصول إلى الرمز المميز للعملية الحالية، مع تعيين الامتيازات، تستخدم البرامج الضارة ابحث عن قيمة الامتياز للتأكد من تعيين الامتيازات التالية للعملية الحالية:
امتياز إيقاف تشغيل SES
امتياز النسخ الاحتياطي
ال ضبط امتيازات الرمز المميز يتم استخدام API لضبط امتيازات الرمز المميز الحالية إذا لم يتم تعيين الامتيازات المذكورة أعلاه بالفعل للعملية الحالية.
عملية تغيير امتيازات الرمز المميز للعملية الحالية
تحميل الحمولة في ذاكرة النظام
بعد منح الامتيازات، تعمل البرامج الضارة ديناميكيًا على حل عناوين الوحدات التالية وتحميلها في العملية الحالية:
WOW64 قم بتعطيل إعادة توجيه WOW64FS
Wow64 قم بإعادة توجيه WOW64FS
عملية إيسوو64
ال WOW64 قم بتعطيل إعادة توجيه WOW64FS و Wow64 قم بإعادة توجيه WOW64FS الوحدات هي المسؤولة عن إعادة توجيه نظام الملفات على إصدارات 64 بت من Windows. يتم تشغيل هذا عند تشغيل تطبيق 32 بت على نظام Windows 64 بت، حيث %windir%\ النظام 32 الدليل محجوز فقط لتطبيقات 64 بت. ومع ذلك، نظرًا لأن نموذج البرامج الضارة عبارة عن تطبيق 32 بت، فهناك حاجة للبرامج الضارة للوصول إلى النظام 32 دليل. هذا ممكن عبر WOW64 قم بتعطيل إعادة توجيه WOW64FS. كما أنه يساعد في الوصول إلى السجل دون إعادة توجيه Wow64.
ال عملية إيسوو64 يُستخدم لتحديد ما إذا كانت العملية المحددة تعمل تحت WOW64 أو تحت معالج Intel64 أو x64. يستخدم هذا بشكل أساسي لتحديد الحمولة المناسبة ليتم إسقاطها.
تقوم البرامج الضارة بتحميل الوحدات في العملية الحالية.
تحتوي البرامج الضارة على صور متعددة للحمولة. تحتفظ البرامج الضارة بصور برنامج التشغيل التالية لتحميلها لاحقًا:
DRV_X64
DRV_X86
DRV_XP_X64 للأجيال القديمة من ويندوز
DRV_XP_X86 للأجيال القديمة من ويندوز
صور متعددة للحمولة في البرامج الضارةصور متعددة للحمولة في البرامج الضارة
يتم تعداد إصدار النظام باستخدام تحقق من تدفق الإصدار API.
تعداد إصدار النظام باستخدام VerifyVersionInfow
تحدد البرامج الضارة الحمولة التي سيتم إسقاطها استنادًا إلى البتات (32/64) في قسم الموارد في الملف القابل للتنفيذ المحمول (PE). بعد ذلك، يتم استرداد الصورة المقابلة من قسم .rsrc من البرامج الضارة وتحميلها في ذاكرة النظام.
تحميل الحمولة المقابلة في ذاكرة النظام
إلقاء سائق على النظام المستهدف
يتم تعطيل البرامج الضارة تم تمكين تفريغ الأعطال، مما يؤدي إلى تفريغ ذاكرة النظام في حالة حدوث عطل. تم تمكين تفريغ الأعطال يتم تمكينه افتراضيًا على Windows 10، وله قيمة افتراضية تبلغ 0x7. تقوم البرامج الضارة بتغييرها إلى 0x0، وبالتالي تعطيلها.
يتم ذلك للتهرب من تحليل الطب الشرعي إذا حدث خطأ ما عند تحميل برنامج التشغيل على النظام المستهدف.
بعد تعطيل إعداد تفريغ الأعطال في السجل، تستعد البرامج الضارة لنسخ صورة برنامج التشغيل، المحفوظة في قسم .rsrc من PE، إلى النظام المستهدف.
أنبوب \\\\. \\ EPMNTDRV\\ تم إنشاؤه لتنفيذ نقل البيانات.
إنشاء أنبوب لنقل البيانات
دليل النظام لبرامج التشغيل C:\Windows\system32\drivers ثم يتم استرجاعها عبر احصل على دليل النظام API.
استرداد دليل النظام لبرامج التشغيل
تتم كتابة البيانات عبر ملفات LZ المفتوحة و زي كوبي واجهات برمجة التطبيقات. يتم إنشاء اسم الملف عشوائيًا في وقت التشغيل، والاسم المعين للملف هو ttdr.sys.
كتابة البيانات وإنشاء ملف ttdr.sys
الآن نجحت البرامج الضارة في التخلص من برنامج التشغيل على النظام المستهدف.
تم إلقاء ttdr.sys على النظام المستهدف
تحميل برنامج التشغيل وإنشاء الخدمة
لتحميل برنامج تشغيل على Windows، يجب أن تمتلك العملية امتياز سائق SELOAD. تقوم البرامج الضارة بالتحقق من هذا الامتياز في العملية الحالية باستخدام ابحث عن قيمة الامتياز API.
إذا لم تكن العملية تتمتع بالامتياز المطلوب، فإن البرامج الضارة تضيفها عبر ضبط امتيازات الرمز المميز API.
تبحث البرامج الضارة عن امتياز تحميل برنامج التشغيل
بعد ضبط الامتيازات، تفتح البرامج الضارة إدارة التحكم بالخدمة على Windows للاستعلام عن الخدمات النشطة من خلال خدمات نشطة قاعدة بيانات.
يقوم بالتحقق من أي خدمات نشطة باسم السائق المهجور، وهو في هذه الحالة ttdr، عبر الخدمة المفتوحة API.
التحقق من أي خدمات نشطة باسم ttdr
إذا لم تكن الخدمة موجودة، الخدمة المفتوحة إرجاع واجهة برمجة التطبيقات خدمة الخطأ غير موجودة، ثم يتم إنشاء خدمة جديدة عبر CreateServiceW كما هو موضح أدناه
يتم إنشاء خدمة جديدة عبر CreateServiceW
ال ابدأ الخدمة W ثم يتم استخدام API لتشغيل برنامج التشغيل على النظام الهدف.
استخدام StartServiceW API لتشغيل برنامج التشغيل على النظام المستهدف
يمكن التحقق من ذلك عن طريق الاستعلام عن عنصر تحكم الخدمة للتحقق مما إذا كان حالة تم تعيين المعلمة إلى «قيد التشغيل». بعد ذلك، تبدأ البرامج الضارة بالتفاعل مع برنامج التشغيل عبر جهاز التحكم IO API، مما يجعل البرامج الضارة مكونًا userland لبرنامج التشغيل المنشور.
الاستعلام عن عنصر تحكم الخدمة
الارتباط الرمزي الذي تم إنشاؤه لاتصالات الإدخال/الإخراج هو التحقق من تحميل برنامج التشغيل بنجاح على النظام.
تم إنشاء ارتباط رمزي لاتصالات IO
في حالة وجود الخدمة، تحصل البرامج الضارة على حالة الخدمة من Service Control Manager باستخدام حالة خدمة الاستعلام API.
يتم تغيير تكوينات الخدمة، إذا كانت الخدمة غير نشطة، عبر تغيير تكوين الخدمة API. والعلم بدء الطلب على الخدمة يتم تمرير (0x00000003) كـ نوع DW ستارت قيمة لـ تغيير تكوين الخدمة API.
الاستعلام عن تكوينات الخدمة وتغييرها
عملية التنظيف
بمجرد بدء تشغيل برنامج التشغيل على النظام المستهدف، يبدأ عملية التنظيف عن طريق حذف إدخال الخدمة في السجل، وصورة برنامج التشغيل في C:\Windows\system32\drivers دليل.
حذف إدخال الخدمة من التسجيل وصورة برنامج التشغيل
بعد عملية التنظيف، تقوم البرامج الضارة بتعطيل خدمة النسخ الاحتياطي لوحدة التخزين (VSS) على النظام، عبر إدارة التحكم بالخدمة. يتم فتح خدمة VSS عبر الخدمة المفتوحة API لتغيير تكوين الخدمة لاحقًا.
تعطيل خدمة النسخ الاحتياطي لوحدة التخزين
يتم إجراء تحديث جديد للتكوين من خلال تمرير علامة 0x00000004 (تم تعطيل الخدمة) إلى تغيير خدمة ConfigW، وبالتالي تعطيل VSS بالقوة.
تعطيل VSS
تتأكد البرامج الضارة من توقف الخدمة عن طريق تمرير 0x00000001 (إيقاف التحكم بالخدمة) مثل DWControl قيمة المعلمة.
التأكد من توقف الخدمة
إتلاف بيانات القرص الصلب
تستخدم البرامج الضارة برنامج التشغيل المثبت لقراءة/كتابة بيانات القرص الثابت.
ولتحقيق ذلك، فإن الرابط الرمزي المستخدم من قبل السائق (\ الجهاز\ EPMNTDRV)، يتواصل عبر التحكم في IO للجهاز API، عن طريق تمرير رموز IOCTL لجعل برنامج التشغيل يؤدي مهمة محددة.
ثم تصل البرامج الضارة إلى سجل التشغيل الرئيسي عبر \\\\. \\ محرك الأقراص المادية 0.
رموز IOCTL:
5600007005090073900642D108090068700A0الوصول إلى\\\\. \\ محرك الأقراص المادية 0
يميز منطق تلف البيانات أنظمة NTFS وFAT وله منطق تلف مختلف لكل نظام من أنظمة الملفات الموجودة على القرص.
منطق تلف NTFSمنطق الفساد الدهني
تقوم البرامج الضارة بتوزيع حقول سجل الملفات الرئيسية مثل صورة نقطية $ و ملف سجل $ وتدفقات سمات NTFS الأخرى مثل بيانات $، 30 دولارًا، أو تخصيص الفهرس بالدولار.
يتم إنشاء سلاسل رسائل متعددة بواسطة البرامج الضارة لأداء أنشطة مختلفة. ومع ذلك، يتم تنفيذ أحد سلاسل العمليات بدء إيقاف تشغيل النظام NEX، وهو نشاط متميز، باعتباره الضرر النهائي.
تنفيذ بدء إيقاف تشغيل النظام كالضرر النهائي
قبل إيقاف تشغيل النظام، تقوم البرامج الضارة بتعداد الأدلة التالية لمسح البيانات:
المستندات الخاصة بي
سطح المكتب
بيانات التطبيق
سجلات أحداث Windows (C:\Windows\System32\winevt\Logs)
مؤشرات التسوية
البرامج الضارة الثنائية: 1bc44eef75779e3ca1eefb8ff5a64807dbc942b1e4a2672d779f6928d292591
برنامج التشغيل الذي تم إسقاطه: 6106653B08F4F72EEAA7F099E7C408A4