تحصين مجال Windows الرائع 
قائمة منسّقة من تقنيات التحصين الأمني الرائعة لنظام Windows.
أُنشئت بواسطة gepeto42 وPaulWebSec لكنها مستوحاة بشكل كبير من أبحاث PyroTek3!
الملخص
يلخّص هذا المستند المعلومات المتعلقة بمحاضرة Pyrotek وHarmj0y في مؤتمر DerbyCon التي تحمل عنوان "111 Attacking EvilCorp Anatomy of a Corporate Hack". الفيديو والشرائح متاحان أدناه.
كما يتضمّن تقنيات التحصين اللازمة لمنع الهجمات الأخرى، بما في ذلك التقنيات التي ناقشها gepeto42 وjoeynoname خلال محاضرتهما في THOTCON 0x7.
هل هناك شيء ناقص؟ أنشئ Pull Request وأضفه.
الوصول الأولي
- لا ينبغي أن يأتي أي جهد للتحصين على حساب ترقية أنظمة التشغيل.
- انشر EMET على محطات العمل (انتهى دعمه في يوليو 2018 - يُنظر في الإبقاء على EMET لنظام Windows 7 لكن أعطِ الأولوية للترقية إلى Windows 10 وEdge).
- استخدم AppLocker لمنع تشغيل المحتوى القابل للتنفيذ من المواقع الخاصة بالمستخدمين (مجلد المستخدم، مسار الملف الشخصي، temp، إلخ).
- هل تريد التحصين ضد هجمات DMA؟ تفضل ومقال مثير للاهتمام من Synacktiv حول هجمات DMA
- تحكّم في تنفيذ PowerShell عبر Applocker أو وضع اللغة المقيدة (constrained language mode).
- فعّل تسجيل PowerShell (الإصدار 3+) وتسجيل عملية الأوامر.
- احظر ماكروات Office (Windows وMac) على المحتوى الذي يتم تنزيله من الإنترنت.
- انشر أدوات أمنية تراقب السلوك المشبوه. ويُنصح باستخدام WEF لإعادة توجيه الأحداث الجديرة بالاهتمام فقط إلى نظام SIEM أو نظام التسجيل لديك.
- قلّل من الإمكانيات عن طريق حظر/تقييد المرفقات عبر البريد الإلكتروني/التنزيل:
- امتدادات الملفات القابلة للتنفيذ:
- (ade, adp, ani, bas, bat, chm, cmd, com, cpl,
crt, hlp, ht, hta, inf, ins, isp, job, js, jse, lnk, mda, mdb,
mde, mdz, msc, msi, msp, mst, pcd, pif, reg, scr, sct, shs,
url, vb, vbe, vbs, wsc, wsf, wsh, exe, pif, إلخ.)
- ملفات Office التي تدعم الماكروات (docm, xlsm, pptm, إلخ)
- تأكد من حظر هذه الأنواع من الملفات.
- احظر امتدادات ملفات Excel المنسية/غير المستخدمة: IQY, SLK
- غيّر البرنامج الافتراضي لأي شيء يُفتح عبر سكربتات Windows إلى notepad (اختبر أولاً!)
- bat, js, jse, vbe, vbs, wsf, wsh, hta, vbs, إلخ.
- GPO: إعداد المستخدم -> التفضيلات -> إعدادات لوحة التحكم -> خيارات المجلدات -> فتح باستخدام
- الإجراء: استبدال
- امتداد الملف: (extension)
- البرنامج المقترن: %windir%\system32\notepad.exe
- تعيين كافتراضي: ممكّن.
- منع تفعيل حزم OLE في Office عبر إعداد التسجيل PackagerPrompt
الاستطلاع
- انشر Windows 10 وحدّ من تعداد المجموعات المحلية.
- قيّد الاتصال بين محطات العمل.
- عزّز الأمان على GPO الحساسة.
- قيّم نشر تحليلات السلوك (Microsoft ATA).
"الوقاية" من BloodHound:
- استخدم NetCease لمنع تعداد الجلسات من قبل المستخدمين غير المميزين.
- استخدم Samri10 لمنع جمع معلومات المسؤول المحلي من قبل المستخدمين غير المميزين (هذا الإصلاح موجود بالفعل في Windows 10 1607 والإصدارات الأحدث).
الحركة الجانبية
- هيّئ GPO لمنع الحسابات المحلية من المصادقة عبر الشبكة (KB2871997).
إلى جانب مقال قاعدة المعرفة (KB) هذا، يوصي مقال Countercept بتغييرين آخرين في السجل:
- عيّن
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\TokenLeakDetectDelaySecs = 30. سيؤدي هذا إلى مسح بيانات اعتماد المستخدمين الذين سجّلوا الخروج بعد 30 ثانية (محاكاةً لسلوك Windows 8.1 والإصدارات الأحدث).
- عيّن
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest\UseLogonCredential = 0. سيمنع هذا تخزين بيانات اعتماد Wdigest في الذاكرة، كما هو الحال افتراضيًا في Windows 8.1 والإصدارات الأحدث.
- تأكد من تغيير كلمات مرور حساب المسؤول المحلي تلقائيًا (Microsoft LAPS) وأزل حسابات المسؤول المحلي الإضافية.
- قيّد الاتصال بين محطات العمل (Windows Firewall).
- اختبر psexec ببيانات اعتماد صالحة بين محطتي عمل. إذا نجح، فلديك مشكلة حركة جانبية.
تصعيد الامتيازات
- أزل الملفات التي تحتوي على كلمات مرور في SYSVOL (بما في ذلك GPP).
- تأكد من عدم تسجيل دخول المسؤولين إلى الأنظمة غير الموثوقة (محطات العمل العادية) عبر تكوين تعيينات حقوق المستخدم DENY باستخدام GPOs.
- وفّر محطات الوصول المميز (Privileged Access Workstations) أو PAWs لجميع الأعمال عالية الامتياز. ويجب ألا تتاح لها إمكانية الوصول إلى الإنترنت أبدًا.
- استخدم حسابات الخدمة المُدارة (Managed Service Accounts) لحسابات الخدمة (SAs) عندما يكون ذلك ممكنًا (FGPP)
- بالنسبة للأنظمة التي لا تدعم حسابات الخدمة المُدارة، انشر نهج كلمات مرور دقيق التحكّم (Fine-Grained Password Policy) لضمان أن تكون كلمات المرور أطول من 32 حرفًا.
- تأكد من أن جميع أجهزة الكمبيوتر تستخدم NTLMv2 وKerberos، وامنع LM/NTLMv1.
حماية بيانات اعتماد المسؤولين
- تأكد من أن جميع المسؤولين يسجّلون الدخول فقط إلى محطات العمل والخوادم الإدارية المعتمدة. (انظر PAW في قسم تصعيد الامتيازات)
- تأكد من حرمان جميع المجموعات المضمنة باستثناء Administrator من تسجيل الدخول إلى وحدات تحكم المجال عبر تعيينات حقوق المستخدم. افتراضيًا، يمكن لمشغلي النسخ الاحتياطي (Backup operators) ومشغلي الحسابات (Account operators) تسجيل الدخول إلى وحدات تحكم المجال، وهو أمر خطير.
- أضف جميع حسابات المسؤولين إلى مجموعة Protected Users (يتطلب وحدات تحكم مجال تعمل بنظام Windows 2012 R2).
- محطات العمل والخوادم الإدارية:
- تحكم في الوصول إلى محطات العمل والخوادم الإدارية وقيّده.
- أزل NetBIOS عبر TCP/IP
- عطّل LLMNR.
- عطّل WPAD.
تعزيز/إزالة الأنظمة القديمة
- ابدأ الآن باستخدام PingCastle الذي يقوم بتدقيق مذهل لـ Active Directory
- دقّق/قيّد NTLM.
- فرض توقيع LDAP.
- فعّل توقيع SMB (والتشفير حيثما أمكن).
- عطّل WPAD وLLMNR واعمل على تعطيل NetBIOS.
- في Windows 10، أزل:
- SMB 1.0/CIFS
- Windows PowerShell 2.0
- استخدم shims لتمكين التطبيقات القديمة التي تتطلب امتيازات مسؤول من العمل عبر إيهامها بأنها تملك هذه الامتيازات.
الأدوات
- PingCastle - أداة تدقيق لـ Active Directory (ومجانية!) بمقاييس جيدة جدًا.
- Responder - أداة تسميم لـ LLMNR وNBT-NS وMDNS
- BloodHound - ست درجات من مسؤول المجال
- AD Control Path - أدوات تدقيق ورسم بياني لمسارات التحكم في Active Directory
- PowerSploit - إطار عمل PowerShell لما بعد الاستغلال
- PowerView - إطار عمل PowerShell للوعي بالوضع
- Empire - وكيل ما بعد الاستغلال بلغتي PowerShell وPython
- Mimikatz - أداة لاستخراج كلمات المرور النصية، والتجزئات (hashes)، ورموز PIN، وتذاكر Kerberos من الذاكرة، وكذلك تنفيذ pass-the-hash وpass-the-ticket أو إنشاء التذاكر الذهبية (Golden tickets)
- Tools Cheatsheets - (Beacon, PowerView, PowerUp, Empire, ...)
- UACME - التغلب على التحكم في حساب المستخدم (UAC) في Windows
- Windows System Internals - (بما في ذلك Sysmon وغيرها)
- Hardentools - مجموعة من الأدوات المساعدة البسيطة المصممة لتعطيل عدد من "الميزات" التي يوفرها Windows
- CrackMapExec - سكين الجيش السويسري لاختبار اختراق بيئات Windows/Active Directory
- SharpSploit
- Rubeus - Rubeus عبارة عن مجموعة أدوات بلغة C# للتفاعل المباشر مع Kerberos وإساءة استخدامه
- Koadic - Koadic، أو COM Command & Control، هو روتكيت ما بعد الاستغلال لنظام Windows
- SILENTTRINITY - وكيل ما بعد الاستغلال مدعوم بـ Python وIronPython وC#/.NET
فيديوهات
الشرائح
موارد إضافية