
نص باورشيل يهدف إلى المساعدة في كشف آليات الثبات (المحتملة) التي ينشرها جهة تهديد بعد اختراق نطاق Active Directory
FarsightAD هو سكريبت PowerShell يهدف إلى المساعدة في كشف آليات الثبات (المحتملة) التي ينشرها مهاجم بعد اختراق نطاق Active Directory.
ينتج السكريبت ملفات تصدير بصيغة CSV / JSON لمختلف الكائنات وسماتها، مع إثرائها بطوابع زمنية من بيانات التعريف الخاصة بالتكرار. بالإضافة إلى ذلك، إذا تم تنفيذه بصلاحيات التكرار، يتم استخدام بروتوكول Directory Replication Service (DRS) لكشف الكائنات المخفية كليًا أو جزئيًا.
لمزيد من المعلومات، راجع شرائح تقديم قمة SANS DFIR 2022 التمهيدية.
FarsightAD يتطلب
PowerShell 7
ووحدة ActiveDirectory المحدثة لـ PowerShell 7.
على Windows 10 / 11، يمكن تثبيت الوحدة من خلال الميزات الاختيارية
باعتبارها
RSAT: أدوات خدمات نطاق Active Directory وخدمات الدليل الخفيف. يمكن تحديث الوحدة المثبتة بالفعل باستخدام:
Add-WindowsCapability -Online -Name Rsat.ServerManager.Tools~~~~0.0.1.0
إذا تم تحديث الوحدة بشكل صحيح، فمن المفترض أن يعيد Get-Command Get-ADObject:
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-ADObject 1.0.X.X ActiveDirectory
. .\FarsightAD.ps1
Invoke-ADHunting [-Server <DC_IP | DC_HOSTNAME>] [-Credential <PS_CREDENTIAL>] [-ADDriveName <AD_DRIVE_NAME>] [-OutputFolder <OUTPUT_FOLDER>] [-OutputType <CSV | JSON>]
يمكن الحصول على مزيد من المعلومات حول استخدام كل أمر فرعي باستخدام Get-Help -Full <CMDLET>.

إضافة مستخدم مخفي بالكامل

إخفاء سمة SID History لمستخدم

كشف المستخدمين المخفيين كليًا وجزئيًا باستخدام Export-ADHuntingHiddenObjectsWithDRSRepData
تم تعديل كود C# لطلبات DRS من:
MakeMeEnterpriseAdmin
بواسطة @vletoux.Mimikatz بواسطة @gentilkiwi و
@vletoux.SharpKatz بواسطة @b4rtik.دوال تحليل Key Credentials مأخوذة من
وحدة PowerShell ADComputerKeys.
الاستمرارية المتعلقة بـ AD CS تستند إلى عمل:
دالة تحليل Service Principal Name تستند إلى عمل Adam Bertram.
رخصة CC BY 4.0 - https://creativecommons.org/licenses/by/4.0/
| الأمر الفرعي | الملخص |
|---|
Invoke-ADHunting | تنفيذ جميع أوامر استقصاء FarsightAD AD (المذكورة أدناه). |
Export-ADHuntingACLDangerousAccessRights | تصدير ACEs الخطرة، أي ACEs التي تسمح بالسيطرة على الكائن الأساسي، على جميع كائنات النطاق. قد يستغرق بعض الوقت على النطاقات الأكبر. |
Export-ADHuntingACLDefaultFromSchema | تصدير ACL المكونة في سمة defaultSecurityDescriptor لفئات المخطط. يتم تحديد ACLs غير الافتراضية (كما هو محدد في وثائق Microsoft) وتمييز ACEs التي يحتمل أن تكون خطرة. |
Export-ADHuntingACLPrivilegedObjects | تصدير ACL المكونة على الكائنات المميزة في النطاق وتمييز حقوق الوصول التي يحتمل أن تكون خطرة. |
Export-ADHuntingADCSCertificateTemplates | تصدير المعلومات وحقوق الوصول على قوالب الشهادات. يتم استرداد المعلمات البارزة التالية: حالة نشر قالب الشهادة، استخدام الشهادة، ما إذا كان الموضوع مبنيًا من بيانات مزودة من قبل المستخدم، والتحكم بالوصول (التسجيل / التعديل). |
Export-ADHuntingADCSPKSObjects | تصدير المعلومات وحقوق الوصول على كائنات PKS الحساسة (NTAuthCertificates, certificationAuthority, و pKIEnrollmentService). |
Export-ADHuntingGPOObjectsAndFilesACL | تصدير معلومات حقوق الوصول في ACL على كائنات وملفات GPO، مع تمييز GPOs المطبقة على المستخدمين أو أجهزة الكمبيوتر المميزة. |
Export-ADHuntingGPOSettings | تصدير المعلومات حول الإعدادات المختلفة التي تم تكوينها بواسطة GPOs والتي يمكن استغلالها للثبات (الامتيازات وحقوق تسجيل الدخول، عضوية المجموعات المقيدة، المهام المجدولة والفورية V1 / V2، نصوص الدخول / الخروج للمستخدم والجهاز). |
Export-ADHuntingHiddenObjectsWithDRSRepData | تصدير سمات الكائنات التي يمكن الوصول إليها من خلال التكرار (عبر بروتوكول Directory Replication Service (DRS)) ولكن ليس عن طريق الاستعلام المباشر. لا تؤخذ ضوابط الوصول في الاعتبار لعمليات التكرار، مما يسمح بتحديد ضوابط الوصول التي تمنع الوصول إلى سمة (سمات) كائن معينة. يتم تقييم مجموعة محدودة فقط من السمات الحساسة. |
Export-ADHuntingKerberosDelegations | تصدير تفويضات Kerberos التي تعتبر خطيرة (غير مقيدة، أو مقيدة بخدمة مميزة، أو مقيدة بناءً على الموارد على خدمة مميزة). |
Export-ADHuntingPrincipalsAddedViaMachineAccountQuota | تصدير أجهزة الكمبيوتر التي تمت إضافتها إلى النطاق من قبل أطراف غير مميزة (باستخدام آلية ms-DS-MachineAccountQuota). |
Export-ADHuntingPrincipalsCertificates | تصدير شهادات الحسابات المحللة (للحسابات التي تحتوي على سمة userCertificate غير فارغة). يتم تحليل الشهادات لاسترداد عدد من المعلمات: طوابع وقت صلاحية الشهادة، الغرض من الشهادة، موضوع الشهادة وأي SubjectAltName(s)، ... |
Export-ADHuntingPrincipalsDontRequirePreAuth | تصدير الحسابات التي لا تتطلب المصادقة المسبقة لـ Kerberos. |
Export-ADHuntingPrincipalsOncePrivileged | تصدير الحسابات التي كانت عضوًا في مجموعات مميزة سابقًا. |
Export-ADHuntingPrincipalsPrimaryGroupID | تصدير الحسابات التي تحتوي على سمة primaryGroupID غير افتراضية، مع تمييز RIDs المرتبطة بالمجموعات المميزة. |
Export-ADHuntingPrincipalsPrivilegedAccounts | تصدير معلومات مفصلة حول أعضاء المجموعات المميزة. |
Export-ADHuntingPrincipalsPrivilegedGroupsMembership | تصدير الأعضاء الحاليين والسابقين للمجموعات المميزة، المستردة باستخدام بيانات التعريف الخاصة بالتكرار. |
Export-ADHuntingPrincipalsSIDHistory | تصدير الحسابات التي تحتوي على سمة SID History غير فارغة، مع تحليل النطاق المرتبط وتمييز SIDs المميزة. |
Export-ADHuntingPrincipalsShadowCredentials | تصدير معلومات Key Credentials المحللة (للحسابات التي تحتوي على سمة msDS-KeyCredentialLink غير فارغة). |
Export-ADHuntingPrincipalsTechnicalPrivileged | تصدير الحسابات المميزة التقنية (SERVER_TRUST_ACCOUNT و INTERDOMAIN_TRUST_ACCOUNT). |
Export-ADHuntingPrincipalsUPNandAltSecID | تصدير الحسابات التي تحدد سمة UserPrincipalName أو AltSecurityIdentities، مع تمييز الحالات الشاذة المحتملة. |
Export-ADHuntingTrusts | تصدير علاقات الثقة لجميع النطاقات في الغابة. يتم استرداد عدد من المعلمات لكل علاقة ثقة: قابلية التعدي، تصفية SID، تفويض TGT. |