Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
NativeBypassCredGuard — تجاوز Credential Guard عن طريق تصحيح WDigest.dll باستخدام دوال NTAPI فقط | Kitploit
أدوات/GitHubGitHub/ricardojoserf/nativebypasscredguard
هجمات كلمات المرورالتهرب من IDS/IPSما بعد الاستغلالالفريق الأحمر
GitHubricardojoserf/nativebypasscredguard

NativeBypassCredGuard

تجاوز Credential Guard عن طريق تصحيح WDigest.dll باستخدام دوال NTAPI فقط

عرض المستودع
27034منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

NativeBypassCredGuard

NativeBypassCredGuard هي أداة مصممة لتجاوز Credential Guard عن طريق تصحيح (patching) WDigest.dll باستخدام دوال NTAPI فقط (التي يصدرها ntdll.dll). وهي متوفرة بنسختين: C# وC++.

تحدد الأداة النمط "39 ?? ?? ?? ?? 00 8b ?? ?? ?? ?? 00" في ملف WDigest.dll الموجود على القرص (كما هو موضح في أول منشور في قسم المراجع، هذا النمط موجود في هذا الملف في جميع إصدارات ويندوز)، ثم تحسب عناوين الذاكرة اللازمة، وأخيرًا تصحح قيمة متغيرين داخل WDigest.dll: g_fParameter_UseLogonCredential (إلى 1) و g_IsCredGuardEnabled (إلى 0).

يؤدي هذا إلى فرض تخزين بيانات الاعتماد كنص صريح في الذاكرة، مما يضمن أنه من هذه النقطة فصاعدًا تُخزَّن بيانات الاعتماد بنص واضح في كل مرة يسجل فيها المستخدمون الدخول. ونتيجة لذلك، في المرة التالية التي يتم فيها تفريغ عملية LSASS، قد تحتوي على كلمات مرور بنص واضح.

دوال NTAPI المستخدمة هي:

poc

  • NtOpenProcessToken وNtAdjustPrivilegesToken لتمكين امتياز SeDebugPrivilege
  • NtCreateFile وNtReadFile لفتح مقبض (handle) لملف DLL على القرص وقراءة بايتاته
  • NtGetNextProcess وNtQueryInformationProcess للحصول على مقبض لعملية lsass
  • NtReadVirtualMemory وNtQueryInformationProcess للحصول على العنوان الأساسي لـ WDigest.dll
  • NtReadVirtualMemory لقراءة قيم المتغيرات
  • NtWriteProcessMemory لكتابة قيم جديدة إلى المتغيرات

باستخدام دوال NTAPI فقط، من الممكن إعادة تعيين (remap) مكتبة ntdll.dll لتجاوز خطافات وضع المستخدم وآليات الحماية، وهي ميزة اختيارية في الأداة. وفي حال استخدامها، يتم الحصول على نسخة نظيفة من ntdll.dll من عملية تم إنشاؤها في وضع معلّق (suspended).


الاستخدام

root@kitploit:~
NativeBypassCredGuard.exe <OPTION> <REMAP-NTDLL>

الخيار (مطلوب):

  • check: قراءة القيم الحالية
  • patch: كتابة قيم جديدة

إعادة تعيين ntdll (اختياري):

  • true: إعادة تعيين مكتبة ntdll
  • false (أو حذفه): عدم إعادة تعيين مكتبة ntdll

أمثلة

قراءة القيم (بدون إعادة تعيين ntdll):

root@kitploit:~
NativeBypassCredGuard.exe check

img1

تصحيح القيم (مع إعادة تعيين ntdll):

root@kitploit:~
NativeBypassCredGuard.exe patch true

img2


ملاحظات

  • الأداة مصممة لأنظمة 64 بت، لذا يجب تجميعها كملف ثنائي 64 بت

  • لن تعمل إذا تعذر فتح مقبض لـ lsass أو إذا لم تكن بنية PEB قابلة للقراءة. وفيما يتعلق بالأخير، يمكنك اختيار استخدام kernel32!LoadLibrary لتحميل WDigest.dll في عمليتك للحصول على عنوانه الأساسي، بدلًا من استخدام ntdll!NtReadVirtualMemory وntdll!NtQueryInformationProcess للحصول عليه من عملية lsass (الكود الخاص بذلك موجود معلّقًا في نسخة C). لكنك بذلك ستستخدم دالة لا يصدرها ntdll.dll بل kernel32.dll، ومن المحتمل أن يكون من الغريب أن تقوم عملية بتحميل ملف DLL كهذا :)

  • أنشأ 0x3rhy ملف BOF مبنيًا على هذا المشروع: BypassCredGuard-BOF


المراجع

  • إعادة النظر في تجاوز Credential Guard بقلم itm4n - تحليل رائع أخذت منه النمط للبحث في قسم .text من ملف DLL

  • WDigest: إخراج الموتى من القبر بقلم neuralhax - مدونة مذهلة تثبت أنه من الممكن استخدام قيم أخرى لـ g_fParameter_UseLogonCredential، لم أختبرها بعد، ولكن يمكنك اللعب بالمتغير useLogonCredential_Value

  • استكشاف Mimikatz - الجزء 1 - WDigest بقلم xpn - منشور مدونة رائع يقوم بالهندسة العكسية ويشرح التخزين المؤقت لبيانات اعتماد WDigest

تنزيل الأداة