
A Simple Ransomware Vaccine

حماية بسيطة من برامج الفدية
نرى برامج الفدية تحذف كل نسخ الظل باستخدام vssadmin في كثير من الأحيان. ماذا لو تمكّنّا فقط من اعتراض هذا الطلب وإنهاء العملية التي استدعته؟ دعونا نحاول إنشاء لقاح بسيط.

نقوم بتسجيل مصحح أخطاء لـ vssadmin.exe (وwmic.exe)، وهو ملفنا المُترجم raccine.exe. Raccine هو ملف ثنائي يقوم أولاً بجمع جميع معرّفات العمليات (PIDs) للعمليات الأصلية ثم يحاول إنهاء جميع العمليات الأصلية.
المزايا:
vssadmin.exe أو wmic.exe)، الأمر الذي قد يؤدي إلى مشاكل في السلامة وقد يكسر عملية التطعيم لدينا في كل يوم تحديثاتالسلبيات / النقاط العمياء:
vssadmin.exe delete shadows (أو أي تركيبة أخرى مدرجة في القائمة السوداء) لم يعد ممكنًاvssadmin.exe delete shadows، والتي قد تكون عملية نسخ احتياطيvssadmin.exe (على سبيل المثال عبر schtasks)vssadmin.exe (وwmic.exe) وتمريره إلى raccine.exe كمصحح أخطاء (يصبح vssadmin.exe delete shadows هو raccine.exe vssadmin.exe delete shadows).التركيبات الخبيثة:
delete و shadows (vssadmin, diskshadow)resize و shadowstorage (vssadmin)delete و shadowstorage (vssadmin)delete و shadowcopy (wmic)delete و catalog و -quiet (wbadmin)win32_shadowcopy أو عنصر من قائمة الأوامر المشفرة (powershell)recoveryenabled (bcedit)ignoreallfailures (bcedit)^ قائمة قديمة: تحقق من قاعدة YARA المقابلة
قائمة أوامر PowerShell المشفرة: JAB, SQBFAF, SQBuAH, SUVYI, cwBhA, aWV4I, aQBlAHgA وغيرها الكثير
Emotet بدون Raccine - رابط

Emotet مع Raccine - رابط (تجاهل نشاط العملية المرتبط بتثبيت Raccine)

يتم القضاء على العدوى في مهدها.
استخدمه على مسؤوليتك الخاصة!
لن تتمكن بعد الآن من تشغيل الأوامر التي تستخدم الأوامر المدرجة في القائمة السوداء على جهاز مُطعّم بـ Raccine حتى تقوم بتطبيق تصحيح إلغاء التثبيت raccine-reg-patch-uninstall.reg. قد يؤدي هذا إلى كسر العديد من حلول النسخ الاحتياطي التي تشغّل هذا الأمر المحدد أثناء عملها. لن يحظر هذا الطلب فحسب، بل سيقتل جميع العمليات في تلك الشجرة بما في ذلك حل النسخ الاحتياطي والعملية التي استدعته.
إذا كان لديك مراقبة أمنية قوية تسجل جميع عمليات تنفيذ العمليات، فيمكنك فحص سجلاتك لمعرفة ما إذا كانت vssadmin.exe delete shadows أو vssadmin.exe resize shadowstorage ... أو أسطر الأوامر المحظورة الأخرى تُستخدم بشكل متكرر أو متقطع لأغراض مشروعة، وفي هذه الحالة يجب عليك الامتناع عن استخدام Raccine.
delete و shadows في سطر الأوامر، وبخلاف ذلك تمرر جميع المعاملات إلى عملية جديدة تستدعي vssadmin بمعاملاته الأصليةexplorer.exe من القائمة البيضاءwmic التي تستدعي delete shadowcopy، بدون مخرجات لبدء العمليات المدرجة في القائمة البيضاء (تجنب مشاكل معالجة مخرجات wmic)delete shadowstorage بواسطة @JohnLaTwC، مراجعة كود بواسطة @_hillu، أيقونة التطبيقbcdedit.exe /set {default} bootstatuspolicy ignoreallfailures و bcdedit.exe /set {default} recoveryenabled nopowershell.exe و أو قائمة من الأوامر المشفرةسيتم تثبيت كل من حزمة Visual C++ Redistributable و .NET Framework تلقائيًا عند تشغيل install-raccine.bat.
Raccine.zip من قسم الإصداراتraccine-installer.bat كمسؤول
يتضمن المثبّت الدفعي خيار "إلغاء التثبيت".
كمسؤول، قم بالتالي:
raccine-reg-patch-uninstall.reg%ProgramFiles%\Raccine و %ProgramData%\Raccinereg delete HKCU\Software\Raccine /Ftaskkill /F /IM RaccineSettings.exereg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V "Raccine Tray" /Fschtasks /DELETE /TN "Raccine Rules Updater" /Fنوصي بإلغاء التثبيت وإعادة التثبيت للترقية. يؤدي إلغاء التثبيت إلى إزالة جميع مفاتيح التسجيل التي تحتوي على إعدادات.
يحتوي Raccine على محدّث تواقيع مدمج منذ الإصدار 1.2. تم تكوين هذا البرنامج المسمى RaccineRulesSync.exe ليتم تشغيله مرة واحدة يوميًا عبر مهمة مجدولة. يمكنك تشغيل تحديث التوقيعات يدويًا باستخدام الخيار في قائمة أيقونة علبة النظام.
منذ الإصدار 1.0، يستخدم Raccine بالإضافة إلى ذلك قواعد YARA لتحديد ما إذا كان سطر أوامر العملية أو العملية الأصلية خبيثًا أم لا. يستخدم Raccine مجموعتين من القواعد لغرضين مختلفين.
./yara - قواعد يتم تطبيقها على سطر الأوامر بجميع معاملاته، على سبيل المثال WMIC.exe delete justatest./yara/in-memory - قواعد يتم تطبيقها على ذاكرة العملية الأصلية للعملية التي اعترضناها، على سبيل المثال ransomware.exe الذي يشغّل عمليتنا المعترضة vssadmin.exeمنذ الإصدار 1.1، نقوم بتمرير قائمة من المتغيرات الخارجية إلى عملية مطابقة YARA للسماح بقواعد YARA أكثر تعقيدًا وذكاءً تأخذ في الاعتبار سمات العملية وعمليتها الأصلية.
تبدو عملية المطابقة هكذا في سطر الأوامر:
"C:\Program Files\Raccine\yara64.exe" -d FromRaccine="true" -d Name="WMIC.exe" -d ExecutablePath="C:\Windows\System32\wbem\WMIC.exe" -d CommandLine="WMIC.exe delete justatest" -d Priority=32 -d FromRaccine="true" -d ParentName="cmd.exe" -d ParentExecutablePath="C:\Windows\System32\cmd.exe" -d ParentCommandLine="'C:\WINDOWS\system32\cmd.exe' " -d ParentPriority=32 C:\ProgramData\Raccine\yarayara\mal_emotet.yar C:\ProgramData\Raccine\yara\Rac1C6A.tmp
يعرض المقتطف التالي مثالاً لقاعدة YARA تستخدم المتغيرات الخارجية في شرطها.
rule env_vars_test {
condition:
Name contains "WMIC.exe"
and CommandLine contains "delete justatest"
and ParentPriority >= 8
and (
ParentCommandLine contains "cmd"
or ParentCommandLine contains "powershell"
)
}
يحتوي المجلد GPO على Raccine.ADMX و Raccine.ADML. عند النشر، يتم وضع ملف Raccine.ADMX في C:\Windows\PolicyDefinitions. ويتم وضع ملف Raccine.ADML المرافق في C:\Windows\PolicyDefinitions\en-US.
للاستخدام: افتح GPEDIT.MSC > تكوين الكمبيوتر > القوالب الإدارية > النظام > Raccine
بعد تكوين التغييرات، قد تحتاج إلى تحديث نهج المجموعة عن طريق تشغيل gpupdate.exe.
يتم كتابة ملف سجل يحتوي على جميع عمليات الاعتراض والإجراءات المتخذة إلى C:\ProgramData\Raccine\Raccine_log.txt

يتم إنشاء إدخال بواسطة كل حدث حظر في سجل أحداث Application.

المعرّفات التي ينشئها Raccine
منذ الإصدار 0.10.0، يمكن تثبيت Raccine في "وضع المحاكاة"، والذي ينشّط جميع المحفزات ويسجل جميع الإجراءات لكنه لا يقتل أي شيء. يجب استخدام هذا الوضع في البيئات التي تستخدم حلول النسخ الاحتياطي أو البرامج المشروعة الأخرى لفترة زمنية معقولة للتحقق مما إذا كان Raccine سيتداخل مع البرامج الأخرى. الفكرة هي تثبيت Raccine في وضع المحاكاة، وتركه يسجل لمدة أسبوع أو شهر ثم فحص السجلات لمعرفة ما إذا كان سيحظر البرامج المشروعة المستخدمة في المؤسسة.

شغّل raccine.exe وشاهد شجرة العمليات الأصلية وهي تموت (لقطة شاشة من v0.1)

متاحة ومطلوبة منذ الإصدار 1.



في حال كان برنامج الفدية الذي تتعامل معه حاليًا يستخدم اسم عملية معين، على سبيل المثال taskdl.exe، يمكنك ببساطة تغيير تصحيح .reg لاعتراض الاستدعاءات لهذا الاسم والسماح لـ Raccine بإنهاء جميع العمليات الأصلية لشجرة العملية المستدعية.
أود توسيع Raccine لكني أفتقر إلى مهارات البرمجة بلغة C++، خاصة على منصة Windows.
إذا حدث أي شيء لتثبيتك، مثل رسائل خطأ مفاجئة، أو خدمات معطلة، أو برامج لن تعمل بعد الآن، قم بتشغيل الملف raccine-reg-patch-uninstall.reg في المجلد الفرعي reg-patches. يجب أن يعيد هذا كل شيء إلى وضعه الطبيعي.
بعد ذلك يجب أن تكون قادرًا أيضًا على إجراء إلغاء تثبيت كامل باستخدام install-raccine.bat.
النطق الصحيح هو "Rax-Een".
win32_shadowcopyC:\ProgramData\Raccine_log.txtdiskshadow.exe delete shadows| Variable | الوصف | Example Value |
|---|
| FromRaccine | true | |
| Name | اسم ملف الصورة | WMIC.exe |
| ExecutablePath | المسار الكامل للملف الثنائي | C:\Windows\System32\wbem\WMIC.exe |
| CommandLine | سطر الأوامر الكامل مع المعاملات | WMIC.exe delete justatest |
| Priority | أولوية العملية | 32 |
| ParentName | اسم ملف صورة العملية الأصلية | cmd.exe |
| ParentExecutablePath | المسار الكامل للملف التنفيذي للعملية الأصلية | C:\Windows\System32\cmd.exe |
| ParentCommandLine | سطر أوامر العملية الأصلية الكامل مع المعاملات | C:\WINDOWS\system32\cmd.exe |
| ParentPriority | أولوية العملية الأصلية | 32 |