تم تصميم هذا السكريبت PowerShell لإجراء تدقيق شامل لـ Microsoft Active Directory، مع التركيز على تحديد الثغرات الأمنية ونقاط الضعف الشائعة. يسهل تنفيذه تحديد المناطق الحرجة التي تتطلب تعزيزًا، وبالتالي تحصين البنية التحتية الخاصة بك ضد التكتيكات السائدة المستخدمة في هجمات الحركة الجانبية أو تصعيد الامتيازات التي تستهدف Active Directory.
إذا كان لديك أي أوامر PowerShell أحادية السطر مناسبة يمكن استخدامها في السكريبت، فيُرجى إبلاغي بذلك. أحاول الحفاظ على هذا السكريبت كملف واحد دون الحاجة إلى أدوات خارجية (بخلاف ntdsutil و cmd.exe).
يُشغّل مباشرة على وحدة تحكم المجال (DC) باستخدام حساب مسؤول المجال (DA). إذا كنت لا تثق في الكود، أقترح قراءته أولاً وسترى أنه غير ضار تمامًا! (ولكن أليس من المفترض أن تفعل ذلك على أي حال مع الكود الذي تُنزله من الإنترنت وتشغله كـ DA؟؟)
ما يفعله هذا
معلومات الجهاز
Get-HostDetails
تدقيق المجال
Get-LastWUDate
Get-DCEval
Get-TimeSource
Get-PrivilegedGroupMembership
Get-MachineAccountQuota
Get-DefaultDomainControllersPolicy
Get-SMB1Support
Get-FunctionalLevel
Get-DCsNotOwnedByDA
Get-ReplicationType
Get-RecycleBinState
Get-CriticalServicesStatus
Get-RODC
تدقيق الثقة بين المجالات
Get-DomainTrusts
تدقيق حسابات المستخدمين
Get-InactiveAccounts
Get-DisabledAccounts
Get-LockedAccounts
Get-AdminAccountChecks
Get-NULLSessions
Get-PrivilegedGroupAccounts
Get-ProtectedUsers
تدقيق معلومات كلمات المرور
Get-AccountPassDontExpire
Get-UserPasswordNotChangedRecently
Get-PasswordPolicy
Get-PasswordQuality
نسخ NTDS.dit
Get-NTDSdit
تدقيق كائنات الكمبيوتر
Get-OldBoxes
تدقيق GPO (والتحقق من SYSVOL بحثًا عن كلمات المرور)
Get-GPOtoFile
Get-GPOsPerOU
Get-SYSVOLXMLS
Get-GPOEnum
التحقق من أذونات المجموعات العامة لـ AD
Get-OUPerms
التحقق من وجود LAPS في المجال
Get-LAPSStatus
التحقق من وجود سياسات المصادقة والأقسام
Get-AuthenticationPoliciesAndSilos
التحقق من وجود مناطق DNS غير آمنة
Get-DNSZoneInsecure
التحقق من وجود المستخدمين والمجموعات المنشأة حديثًا
Get-RecentChanges
التحقق من ثغرات ADCS، ESC1،2،3،4 و8.
التحقق من حسابات Kerberoastable عالية القيمة
التحقق من حسابات ASREPRoastable
التحقق من أذونات ACL الخطرة على المستخدمين والمجموعات وأجهزة الكمبيوتر
التحقق من إعدادات LDAP و LDAPs (التوقيع، الجلسات الفارغة، إلخ)
وسائط وقت التشغيل
يمكن استخدام المفاتيح التالية مجتمعة
-installdeps يقوم بتثبيت الميزات الاختيارية (DSInternals)
-hostdetails يسترجع اسم المضيف ومعلومات تدقيق مفيدة أخرى
-domainaudit يسترجع معلومات حول AD مثل المستوى الوظيفي
-trusts يسترجع معلومات حول أي علاقات ثقة بين المجالات
-accounts يحدد مشكلات الحسابات مثل المنتهية الصلاحية والمعطلة، إلخ...
-passwordpolicy يسترجع معلومات سياسة كلمات المرور
-ntds يقوم بتفريغ ملف NTDS.dit باستخدام ntdsutil
-oldboxes يحدد أنظمة التشغيل القديمة مثل XP/2003 المنضمة إلى المجال
-gpo يقوم بتفريغ GPOs بتنسيق XML و HTML للتحليل لاحقًا
-ouperms يتحقق من مشكلات أذونات OU العامة
-laps يتحقق مما إذا كان LAPS مثبتًا
يتحقق من وجود سياسات وأقسام المصادقة
دعم المجال الفرعي
يدعم السكريبت الآن بشكل كامل كلاً من مجالات جذر الغابة و المجالات الفرعية:
يتم التعامل مع Schema Admins و Enterprise Admins بسلاسة في المجالات الفرعية (حيث توجد فقط في جذر الغابة)
يكتمل السكريبت بنجاح مع رسائل إعلامية مناسبة للمجموعات المفقودة التي تخص جذر الغابة فقط
لا توجد أعطال أو إخفاقات مانعة بسبب المجموعات المفقودة في سيناريوهات المجال الفرعي
تم اختباره والتحقق منه على Windows Server 2022 للمجالات الفرعية
معالجة الأخطاء والمتانة
يطبق السكريبت معالجة شاملة للأخطاء في جميع الأنحاء:
وظائف التدقيق الاختيارية تفشل بأمان دون منع تنفيذ السكريبت
أخطاء إنشاء تقارير GPO (مثل GPOs التالفة) لا تمنع اكتمال عمليات التدقيق الأخرى
فحوصات دفاعية تمنع استثناءات "الملف غير موجود" على ملفات الإخراج الاختيارية
رسائل واضحة للخطأ/التحذير/المعلومات لتمييز حالات الفشل الحرجة عن السيناريوهات المتوقعة
الوحدات الاختيارية المفقودة (DSInternals، LAPS، AdmPwd.PS) لا تمنع وظائف التدقيق الأساسية
إخراج XML لـ Nessus
يُنشئ XML صالحًا ومنسقًا بشكل صحيح لـ Nessus دون الحاجة إلى معالجة لاحقة
يتم تخطي جميع الأحرف الخاصة بشكل صحيح في المصدر (&, <, >, ", ')
ملف الإخراج جاهز للاستيراد المباشر إلى Nessus دون تعديلات يدوية
يلغي الحاجة إلى خطوات ما بعد المعالجة أو ملفات إخراج إضافية
البيئات المختبرة
تم التحقق من صحته على Windows Server 2022 (كلاً من مجالات جذر الغابة والمجالات الفرعية)
يدعم Windows Server 2008R2 حتى 2022
يعالج بنجاح بيئات الإنتاج المعقدة مع GPOs تالفة وتكوينات مختلطة