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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Certighost_CVE-2026-54121 — استغلال بنقرة واحدة لثغرة CVE-2026-54121 (Certighost) تستهدف انتحال هوية شهادات AD CS. تعمل على أتمتة إنشاء حساب الآلة، إعادة توجيه الحركة، CA مزيفة، PKINIT، واستخراج تجزئة NT لاختراق النطاق. | Kitploit
أدوات/GitHubGitHub/trya9ain/certighost_cve-2026-54121
تحليل الثغرات الأمنيةالاستغلالما بعد الاستغلالاختبار الاختراقالفريق الأحمر
GitHubtrya9ain/certighost_cve-2026-54121

Certighost_CVE-2026-54121

استغلال بنقرة واحدة لثغرة CVE-2026-54121 (Certighost) تستهدف انتحال هوية شهادات AD CS. تعمل على أتمتة إنشاء حساب الآلة، إعادة توجيه الحركة، CA مزيفة، PKINIT، واستخراج تجزئة NT لاختراق النطاق.

عرض المستودع
منذ 11س 32دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

certighost-oneclick

أداة استغلال بنقرة واحدة لـ CVE-2026-54121 (Certighost) — مخصصة فقط للبيئات المحلية/الاختبارات المصرح بها.

نسخة Windows أصلية معدّلة بناءً على PoC العلوي (تحليل @h0j3n / تنفيذ @aniqfakhrul): تتضمن مُوجّه WinDivert مدمجًا ذاتي التطوير (pydivert)، أمر واحد يُكمل "إنشاء الحساب ← إعادة التوجيه ← استماع rogue ← مطاردة CA ← شهادة هوية Domain Controller ← PKINIT ← NT hash لحساب آلة الـ DC"، دون إيقاف خدمة Server، ودون تعديل أي إعدادات على المضيف، ويُستعاد كل شيء تلقائيًا عند الخروج.

الاختلافات عن الإصدار العلوي (قائمة التصحيحات)

التصحيحالوصف
--redirectمُوجّه WinDivert مدمج (445 ← --lsa-port، تصفية ضيقة النطاق: اعتراض حركة المرور الخاصة بعنوان الـ listener فقط)، يعمل مع بدء العملية ويتوقف معها، ويستعيد 445 تلقائيًا عند الخروج. بديل عن PortBender الرسمي (منتجه الرسمي DLL انعكاسي 32-بت خاص بـ CS ولا يمكن تشغيله بشكل مستقل)
--lsa-portمعلمة منفذ استماع LSA/SMB الوهمي (الافتراضي 445؛ مع --redirect الافتراضي 8445)
حارس os.geteuidفحص root العلوي ينهار على Windows ← حارس hasattr + رسالة منفذ خاصة بـ Windows
معلمة فحص الجاهزيةالعلوي يرمّز port_ok(127.0.0.1, 445) ← args.lsa_port
ترويسة PEP 723تشغيل مباشر عبر uv run certighost.py ... مع حل تلقائي للاعتماديات (يشمل impacket من git-master)، بدون تلويث البيئة
--new-computer-nameاسم مخصص لإنشاء الحساب (لتجنب بصمة كشف GHOST*)
--new-computer-passكلمة مرور مخصصة لإنشاء الحساب (يجب أن تتوافق مع سياسة كلمات مرور المجال)
polyfill لـ random.randbytesimpacket من git-master يستخدم واجهة برمجية 3.9+ أثناء استيراد smbserver؛ مطلوب لإصدار 3.8، تنفيذ عبر os.urandom
خروج فوري عند الانتهاءflush + os._exit() بعد GGWP (حل جذري لتعليق دقائقي بسبب خيوط impacket غير daemon)
دلالات رمز الخروج0 نجاح / 1 فشل
حفظ <dc>.hash.txtكتابة NT hash لحساب آلة الـ DC في ملف (سطر واحد فقط name:lm:nt)

الاستخدام

① الفحص المسبق (قراءة فقط، للتأكد من CA ومتطلبات الاستغلال):

root@kitploit:~
uv run check_ca.py -d bingo.com -dc-ip 192.168.16.144 -u zhaolei -p 'pass'

يعرض قائمة Enterprise CA، وإصدار قالب Machine وأذونات التسجيل (يتطلب أن يكون لدى Domain Computers صلاحية Enroll). على جهاز CA تحقق أيضًا من علامة chase: certutil -getreg policy\EditFlags (يجب أن تتضمن EDITF_ENABLECHASECLIENTDC؛ مثبتة افتراضيًا على Server 2016 كما تم التحقق عمليًا).

② الاستغلال بنقرة واحدة (Windows، بصلاحيات المسؤول):

root@kitploit:~
uv run certighost.py -d bingo.com -u zhaolei -p '[email protected]' \
  --dc-ip 192.168.16.144 --listener <IP قابل للوصول من الجهاز> --redirect \
  --new-computer-name MACH$ --new-computer-pass 'Your@Pw123!'

النتائج الثلاثية (تُحفظ تلقائيًا في مجلد التشغيل):

الملفالمحتوى
<dc>.pfxشهادة هوية Domain Controller (مادة PKINIT)
<dc>.ccacheذاكرة تخزين تذاكر Kerberos
<dc>.hash.txtNT hash لحساب آلة الـ DC (سطر واحد فقط name:lm:nt)

③ التنظيف (حذف الحساب المُنشأ):

root@kitploit:~
uv run cleanup_ghost.py -d bingo.com -dc-ip 192.168.16.144 -u administrator -p 'pass' --prefix MACH

المعاملات (بأسلوب impacket)

المعاملالوصف
-d / -u / -p / -Hالمجال / مستخدم منخفض الصلاحية / كلمة المرور / NTLM hash
--dc-ipعنوان الـ DC (إلزامي)
--listener IPعنوان IP لمستمع rogue (يجب تحديده صراحةً مع وجود عدة بطاقات شبكة)
--redirectأساسي على Windows: إعادة توجيه WinDivert المدمجة للمنفذ 445 (يتطلب مسؤول + pydivert)
--lsa-port Nمنفذ LSA الوهمي (الافتراضي 8445 مع --redirect)
--new-computer-nameاسم مخصص لإنشاء الحساب (يُضاف $ تلقائيًا)
--new-computer-passكلمة مرور مخصصة لإنشاء الحساب (حصرية متبادلة مع مسار existing)
--computer-name/--computer-pass/--computer-hashبدون MAQ: إعادة استخدام حساب آلة مُسيطر عليه
--target-san DC01$تحديد الهدف المراد انتحاله (اكتشاف تلقائي للـ DC افتراضيًا)
--templateقالب الشهادة (الافتراضي Machine)
--ca / --ca-ipتحديد CA يدويًا
--debugتتبع كامل لمراحل البروتوكول

التدفق الداخلي

root@kitploit:~
Phase1  مستخدم منخفض الصلاحية ينشئ حساب آلة (مسار MAQ تلقائي / --new-computer-* مخصص / --computer-* إعادة استخدام موجود)
Phase2  [Windows] مُوجّه WinDivert مدمج: listener_ip:445 -> :lsa_port
        تصفية ضيقة النطاق (عنوان IP فقط)، الحزم المعاد كتابتها خارج الفلتر = بدون حلقة إعادة حقن؛ المقبض يُغلق مع العملية
Phase3  خادم rogue: LDAP:389 + LSA/SMB:lsa_port (الرد على مطاردة cdc/rmd، تغذية بيانات هوية الـ DC)
Phase4  تقديم طلب شهادة بهوية الآلة (قالب Machine)، CA يعاود الاتصال بـ rogue ← إصدار شهادة هوية DC
Phase5  PKINIT ← KDC يُرجع NT hash لحساب آلة الـ DC في PAC ← استخراج وكتابة في .hash.txt
Phase6  (لاحقًا) secretsdump DCSync ← krbtgt ← سيطرة كاملة على المجال؛ cleanup_ghost لتنظيف الحساب المُنشأ

استخدام Linux دون تغيير (ربط مباشر للمنفذين 445/389 بصلاحيات root، بدون --redirect).

آلية استخراج الهاش (ليست DCSync)

استخراج الهاش في سلسلة الهجوم يتم عبر PKINIT ← PAC ← NT hash، وليس DCSync:

  1. خداع CA لإصدار شهادة "هويتها = حساب آلة الـ DC"
  2. يستخدم السكربت الشهادة لعمل Kerberos PKINIT (مصادقة مسبقة بمفتاح عام)
  3. يُرجع KDC NT hash لهذا الحساب في PAC_CREDENTIAL_INFO الخاص بـ AS-REP (سلوك تصميمي لبروتوكول Kerberos: عند المصادقة بالشهادة يُحقن NT hash في PAC لتوافق تطبيقات NTLM القديمة)
  4. يفك السكربت تشفير PAC ويستخرج الهاش ← طباعة + حفظ في ملف

استخدام secretsdump لعمل DCSync بعد الحصول على الهاش هو خطوة ثانية، وليس مصدر الهاش.

التعبئة (exe بملف واحد، شكل تسليم البنية A)

root@kitploit:~
# PowerShell 7
./build_exe.ps1              # المستوى الافتراضي (Win10 / Server 2016+)
./build_exe.ps1 3.10         # مستوى التوافق (Win8.1 / Server 2012 R2+)
./build_exe.ps1 legacy       # المستوى القديم (Win7 SP1 / Server 2008 R2 x64)

النتيجة dist\certighost_x64.exe: 19-27MB (حسب المستوى)، مع --uac-admin لرفع الصلاحيات ذاتيًا، بدون أي اعتماديات، ويُخرج السكربت تلقائيًا مجموع SHA256.

متطلبات بناء المستوى القديم (legacy)

يتطلب تثبيت CPython 3.8.10 الرسمي من python.org في المسار التالي (آخر بناء ثنائي رسمي يدعم نواة Win7، بدون الاعتماد على واجهات UCRT الجديدة):

root@kitploit:~
D:\网安相关\Tools\Python\cpython-3.8.10-x64\

أمر التثبيت (صامت، بدون كتابة PATH، بدون تثبيت المشغّل):

root@kitploit:~
python-3.8.10-amd64.exe /quiet InstallAllUsers=0 TargetDir=D:\网安相关\Tools\Python\cpython-3.8.10-x64 PrependPath=0 Include_launcher=0

مع تثبيت PyInstaller==5.13.2 (إصدار bootloader 6.x لا يدعم نواة Win7) و cryptography==38.0.4 (عجلات Rust تبدأ من 38.x في طلب Win10+)، وكلاهما مثبت في السكربت.

مصفوفة التحقق على أجهزة حقيقية

المستوىأجهزة حقيقيةالسلسلة الكاملةملاحظات
الافتراضيWin11✅
التوافق 3.10Win11 / Win10 / Server 2012 R2✅ ×3يشمل WinDivert على أجهزة حقيقية
القديم legacyWin11 / Server 2008 R2 x64✅ ×23.8.10 رسمي + PyInstaller 5.13.2

انتبه: PyInstaller+impacket منطقة عالية الخطورة لمضادات الفيروسات، قيّم ذلك قبل النشر.

بنية النشر العملي (نموذج جهازين)

  • البنية A (الشكل الافتراضي لهذه الأداة): تسليم حزمة exe كاملة إلى نقطة ارتكاز قادرة على الوصول للشبكة (تتطلب مسؤول) وتشغيلها مباشرة؛
  • البنية B (نقطة ارتكاز قيّمة): تبقى الأداة محليًا، وتضع نقطة الارتكاز فقط إعادة توجيه عبر نفق بعيد (ربط مباشر لـ 389 + 445 يتطلب نفس إعادة التوجيه من هذه الأداة).

نقاط الكشف (للفريق الأزرق)

  • ظهور شهادات مشبوهة صادرة لهوية DC في قاعدة بيانات CA (بقاء دائم) — أول مرتكز للتحقيق الجنائي
  • أحداث CA 4886/4887 (إصدار الشهادة) مع عدم تطابق هوية الطالب-الهدف (توجد قواعد جاهزة في Elastic/Nextron)
  • حسابات آلات GHOST*/مخصصة جديدة (4741) + طلبات تسجيل من مستخدم منخفض الصلاحية إلى CA
  • أحداث تحميل برنامج تشغيل WinDivert على نقطة الارتكاز (مشتركة بين البنيتين A/B)

الحدود المعروفة

  • يتطلب Enterprise CA + مستخدم منخفض الصلاحية يمكنه التسجيل + DC بدون تصحيح 2026-07 + تفعيل علامة chase
  • الهدف يجب أن يكون حساب كمبيوتر (بسبب قيود أذونات تسجيل قالب Machine وآلية هوية dNSHostName) لكن حساب آلة الـ DC = DCSync = سيطرة على المجال كاملًا، التأثير يعادل الحصول على جميع مسؤولي المجال
  • Server 2016 مُثبت عمليًا على السلسلة الكاملة؛ 2012R2~2025 يُفترض أنه يعمل (نفس آلية chase)
  • مسار إنشاء الحساب سلم تنازلي: فشل LDAPS يعود تلقائيًا إلى SAMR
  • في مرحلة PKINIT نادرًا ما يحدث ciphertext integrity failure: لوحظ مرة واحدة، وتُشفى بإعادة المحاولة
  • المُوجّه مصمم لنطاق IPv4 الضيق، سيناريوهات IPv6 غير مغطاة

قائمة الملفات

root@kitploit:~
certighost.py            الاستغلال الرئيسي (العلوي + تصحيحات Windows الأصلية + PEP 723)
certighost_redirect.py   مُوجّه WinDivert 445 ذاتي التطوير (pydivert؛ اختبار ذاتي --selftest/--e2e)
check_ca.py              فحص مسبق: CA/القالب/أذونات التسجيل/علامة chase (قراءة فقط)
cleanup_ghost.py         إنهاء: حذف الحساب المُنشأ
build_exe.ps1            تعبئة PyInstaller بملف واحد (pwsh7، مصفوفة ثلاثة مستويات، SHA256 تلقائي)

المصدر العلوي والشكر

  • البحث الأصلي وPoC: @h0j3n (تحليل gist)، @aniqfakhrul/CVE-2026-54121 (التنفيذ العلوي)
  • Kudelski Security (جهة اكتشاف الثغرة)؛ PortBender (Praetorian، مصدر فكرة إعادة التوجيه)
  • pydivert (روابط WinDivert 2.2.2 للغة Python)
تنزيل الأداة