Evading Windows EvtLogs (Ar)

Disable and Clear Windows Event Logs Techniques

Featured image

مش دايماً الـ Logs هتوضحلك كل حاجة لأن الـ Malware تقدر تقفلها، أو تحذفها خالص. ودا هيخليها تعدي من برامج الأنتي فايرس والـ IPS وهتصعّب عمليات الـ Log Analysis والـ Investigation لأن وقتها مش هيكون فيه Logs أصلا.

في المقال دا هتكلم عن تقنيتين 2 بتستخدمهم البرمجيات الخبيثة للتهرب من الدفاعات الأمنية وهم Disable Windows Event Logging و Clear Windows Event Logs ✍️

مبدئياً الـ Event Logs عبارة عن سجلات لأحداث النظام بتتكون من تنبيهات وإعلامات للمساعدة في تشخيص المشكلات والأخطاء الخاصة بالنظام والبرامج والتعريفات والسيكيوريتي وما إلى ذلك، الأحداث ممكن تكون أخطاء (Errors)، تحذيرات (Warnings)، معلومات (Information)، أو تدقيقات (Audit) (نجاح/فشل)... وتقدر توصلها من خلال أداة Event Viewer الأساسية في الويندوز أو من خلال الـ Command-Line من Powershell، وطبعا فيه أدوات خارجية ممكن تستعملها لقراءة وفحص وتحليل السجلات أو الأحداث دي.

أولاً: Disable Windows Event Logging

خدمة EventLog هي المسؤولة عن حفظ الـ Logs من كل مكونات النظام والتطبيقات اللي عليه، وبتبدأ بشكل تلقائي مع تشغيل النظام (في الـ startup services)، الخدمة دي مش بتجمع السجلات بشكل عشوائي ولكن فيه Audit Policy تابعة للـ Local Security Policy في النظام هي اللي بتحدد لخدمة الـ EventLog أنهي Logs بالظبط اللي هتجمعها، وطبعا إعدادت الـ Security Audit Policy ممكن يتم تغييرها من خلال أداة secpol.msc أو أمر auditpol.

التقنية دي ممكن تتنفذ بطريقتين: 1-إيقاف خدمة EventLog عن العمل بالتالي ميحصلش Logging لأي حاجة، 2-إيقاف/حذف الـ Audit Policy المسؤولة عن السجلات اللي بتجمعها... وكل دا ممكن يتم بالطرق التالية:

1-ممكن الـ Malware يستعمل الأوامر دي من الـ Command-line لإيقاف خدمة EventLog:
Set-Service -Name EventLog -Status Stopped
أو
sc config eventlog start=disabled
وبعدهم أمر Stop-Service -Name EventLog لإيقاف تشغيل الخدمة.

أو بأداة wevtutil.exe اللي ممكن تقفل أو تحذف سجلات محددة.

2-من خلال تعديل قيمة "Start" في الـ RegKeys دي:
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog
(مع إعادة التشغيل بعدها)

- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\EventLog-Security
(مع إعادة التشغيل بعدها، وبدون الحاجة لصلاحيات المسؤول)

- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\EventLog-Application
أو
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\EventLog-System
(باستخدام صلاحيات المسؤول)

- أو بإضافة الـkey التالي لمنع توليد الـ Security EventLog 4657 أو Sysmon EventLog 13 اللي بيسجّلو أي تغييرات في الـ Registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNt

3-بما إن فيه Audit Policy مسؤولة عن السجلات اللي هيتم تجميعها فممكن الـ Malware يوقّف الـ Auditing لأحداث معينة باستخدام أداة auditpol.exe في الويندوز، فمثلاً عشان يوقّف الـ auditing الخاص بالـ Account Logon ممكن يستخدم الأمر التالي:
auditpol /set /category:"Account Logon" /success:disable /failure:disable

4-وممكن يحذف الـ Audit Policy من الأساس باستخدام أوامر:
auditpol /clear /y
أو
auditpol /remove /allusers

التقنية دي تم استخدامها في هجمات مختلفة قبل كدة فمثلاً استخدمها APT29 أثناء اختراقات شركة SolarWinds عشان يمنع جمع الـ Audit Logs، واستخدمها فريق Sandworm أثناء الهجمات على قطاع الطاقة في أوكرانيا سنة 2016 عشان يقفل الـ Event Logging على الأجهزة المُخترقة، وغيرهم.

ثانياً: Clear Windows Event Logs

هنا الـ Malware بيحذف الـ Event Logs عشان يخفي الأنشطة اللي عملها، ويقدر يعمل كدة بكذا طريقة من ضمنهم:
1-بصلاحيات مسؤول (Admin) وباستخدام أمر أداة wevtutil؛ فمثلاً ممكن يستخدم أمر wevtutl cl system لحذف سجلات النظام، أو wevtutil cl application لحذف سجلات التطبيقات، و wevtutil cl security لحذف سجلات الأمان.

2-من خلال واجهة المُستخدم من أداة Event Viewer.

3-من خلال الـ Powershell باستخدام أمر Remove-EventLog -LogName Security أو Clear-Eventlog -LogName Security لو هيحذف سجلات الأمان مثلاً.

4-من خلال حذف ملفات الـ Event Logs بشكل مباشر من مكان تخزينها في النظام C:\Windows\System32\winevt\logs\

التقنية دي استخدمها BlackCat Ransomware في حذف الـ Event Logs من خلال أمر:
“C:\Windows\system32\cmd.exe” /c “cmd.exe /c for /F \”tokens=*\” %1 in (‘wevtutil.exe el’) DO wevtutil.exe cl \”%1\”

واستخدمها FinFisher من خلال APIs زي OpenEventLog و ClearEventLog

واستخدمها كذا APT و Malware قبل كدة عموماً زي gh0st RAT و ZxShell و NotPetya و Olympic Destroyer و Lucifer وغيرهم.

الـ Mitigations للتقنيتين قريبين من بعض ونقدر نلخصهم في الآتي:

1-المراجعة الدورية لإعدادات حسابات المسؤولين، والتأكد من أذونات المستخدمين.
2-التأكد من تشغيل خدمة EventLog والعمليات اللي بتعتمد عليها بشكل صحيح.
2-التأكد من أذونات وصلاحيات الوصول للملفات والعمليات على النظام، والتأكد من الوصول المحدود لملفات .evtx وعدم التعديل عليها.
3-التأكد من أذونات الوصول أو التعديل على الـ Registry خصوصاً الـ Keys اللي ذكرناها.
4-تشفير أو تعمية الـ Event Files أثناء حفظها أو نقلها.
5-تخزين الـ Event Logs بشكل تلقائي على cloud أو مكان آمن بعيد عن النظام المستخدم.
6-التأكد من إضافة الأذونات وطرق المصادقة اللازمة للتعامل مع الـ Event Files.

عشان نعمل Detection للاتنين ممكن نستخدم الطرق دي:

1-مراقبة تطبيقات وخدمات الطرف الثالث اللي ممكن تعمل Logging بديلاً عن خدمات النظام الأساسية.
2-مراقبة الأوامر الممكن تنفيذها لقفل عملية الـ Logging زي auditpol و Wevtutil و sc والـ Tools اللي زي Mimikatz وهكذا.
3-مراقبة العمليات والـ scripts اللي بيتم تنفيذها.
4-مراقبة الـ Registry Keys المسؤولة عن تعطيل خدمة الـ EventLog واللي ذكرناها مسبقاً.
5-مراقبة عمليات المسح لملفات الـ Event Logs لكشفها في الحال.
6-مراقبة الـ API Calls الخاصة بالنظام واللي لها القدرة على حذف الـ Event Logs.

Note: Thanks to Raj Chandel and Lucas Heiligenstein. All screenshots provided here are from their blogs because I currently don’t have the time to create my own.

Resources - مصادر