Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-54121-CertiGhost — CVE-2026-54121 (Certighost) — إثبات مفهوم (PoC) لانتحال هوية وحدة التحكم بالمجال (DC) عبر AD CS. معالجة مُصحَّحة لـ SAN مع إعادة استخدام آمنة للحسابات ضمن حدود MAQ. | Kitploit
أدوات/GitHubGitHub/marcgoam/cve-2026-54121-certighost
المصادقة والترخيصتصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالالحركة الجانبيةاختبار الاختراقالهجوم العدائي
GitHubmarcgoam/cve-2026-54121-certighost

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-54121-CertiGhost

CVE-2026-54121 (Certighost) — إثبات مفهوم (PoC) لانتحال هوية وحدة التحكم بالمجال (DC) عبر AD CS. معالجة مُصحَّحة لـ SAN مع إعادة استخدام آمنة للحسابات ضمن حدود MAQ.

عرض المستودع
10213منذ 2 أشهرلم تتم المراجعة بعد

CVE-2026-54121 (Certighost) - فورك مُرقّع

فورك عملي لأداة إثبات المفهوم الخاصة بـ CVE-2026-54121، والمعروفة أيضًا باسم Certighost. البحث الأصلي وإثبات المفهوم بواسطة @H0j3n و @aniqfakhrul، مع التحليل المفصل على:

  • https://gist.github.com/H0j3n/a5ef2609b5f2944ac2390a191a534c26.

يصلح هذا الفورك معالجة SAN التي كانت تمنع نجاح PKINIT على هيئات الشهادات (CAs) التي تحترم SAN المطلوب، ويقوّي تحليل --target-san، ويعيد هيكلة التعامل مع حساب الكمبيوتر بحيث لم يعد يستنفد ms-DS-MachineAccountQuota.

الاستخدام

نفّذ بصلاحيات الجذر (root) لأن خدمتَي LDAP وSMB المزوّرتين تتطلبان المنفذين المميزين 389 و445.

sudo python3 certighost.py -d playground.local -u lowpriv -p 'Password1234' --dc-ip 192.168.1.10

عند اكتمال العملية بنجاح، يتم كتابة شهادة الهدف (.pfx) وذاكرة Kerberos المؤقتة (.ccache) في دليل العمل الحالي.

ماذا يفعل هذا السكربت

  1. إعادة استخدام حساب كمبيوتر ثابت واحد (CERTIGHOST$، يُنشأ عند أول تشغيل) أو استخدام حساب محدد عبر --computer-name.
  2. بدء تشغيل مستمعين مزوّرين: خادم SMB/LSA على المنفذ 445 وخادم LDAP على المنفذ 389.
  3. إرسال طلب شهادة بصفة حساب الكمبيوتر ذلك، مع تضمين سمة مخصصة cdc تشير إلى عنوان IP متحكم فيه (عبر --listener؛ اختيارية، ويتم اكتشافها تلقائيًا إذا حُذفت) بالإضافة إلى سمة rmd تحمل اسم DNS لوحدة التحكم بالمجال (DC) الهدف.
  4. تعاود هيئة الشهادات (CA) الاتصال بالمستمعين المزوّرين LSA/LDAP. يقومان بالمصادقة بصفتهما الحساب الذي تم إنشاؤه (تم التحقق منه عبر DC الحقيقي عبر Netlogon) ويجيبان على استعلامات CA بهوية DC الهدف (sAMAccountName وSID وdNSHostName) بدلاً من ذلك.
  5. تُصدر CA شهادة صالحة تخص DC.
  6. ينفّذ السكربت PKINIT باستخدام ملف pfx الخاص بـ DC لطلب ملف .ccache وتجزئة NT.

التغييرات في هذا الفورك

1. إصلاح SAN (يؤدي إلى نجاح PKINIT)

كانت النسخة الأصلية تُنشئ SAN الخاص بالشهادة من كلٍّ من امتداد subjectAltName في CSR وسمة الطلب SAN:dns=، وذلك باستخدام اسم مضيف الكمبيوتر المزوّر بدلاً من FQDN الخاص بـ DC الهدف. وعلى هيئة شهادات تحترم SAN المطلوب، كانت الشهادة الصادرة تحمل dNSHostName للحساب المزوّر، لذلك قام PKINIT بتعيينه إلى الكيان الخاطئ وفشل مع:

KDC_ERR_CLIENT_NAME_MISMATCH(Reserved for PKINIT)

يستخدم SAN الآن dNSHostName الخاص بـ DC الهدف (rmd_value / target_dns)، وهو المعرّف الذي يعتمد عليه PKINIT لتعيين حساب الآلة. تعرض الشهادة الصادرة الآن DNS:<dc>.<domain> ويكتمل AS-REQ بهوية DC.

2. --target-san متين

أصبح --target-san يقبل الآن أيًا من MEEREEN أو MEEREEN$ أو FQDN meereen.essos.local (يتم التطابق عبر sAMAccountName أو dNSHostName)، بدلاً من صيغة NAME القصيرة فقط.

3. إعادة استخدام حساب الكمبيوتر (لا مزيد من استنفاد MAQ)

كانت النسخة الأصلية تنشئ حسابًا عشوائيًا جديدًا GHOST********$ في كل تشغيل. وبما أن حسابات الكمبيوتر التي يتم إنشاؤها عبر ms-DS-MachineAccountQuota تكون مملوكة لمسؤولي المجال (Domain Admins) وليس لمنشئها، فإن المستخدم ذا الصلاحيات المنخفضة لا يمكنه حذفها، لذا كانت عمليات التشغيل المتكررة تستنفد الحصة (الافتراضي 10) سريعًا بحسابات يتيمة.

يعيد هذا الفورك استخدام حساب ثابت واحد (CERTIGHOST$، يُنشأ فقط إذا لم يكن موجودًا بالفعل)، وبالتالي لا تزداد الحصة أبدًا ولا يوجد ما يلزم تنظيفه بين عمليات التشغيل.

4. تحذير بشأن الحساب المتبقي

عند إنشاء الحساب لأول مرة، يطبع السكربت تحذيرًا يذكر فيه أنه يُترك في AD:

[!] WARNING: computer account CERTIGHOST$ was created and is left in AD.

يبقى الحساب لإعادة استخدامه في عمليات التشغيل اللاحقة. لإزالته بالكامل، احذفه بصلاحيات مسؤول المجال (مالك الكائن):

Get-ADComputer CERTIGHOST | Remove-ADComputer -Confirm:$false

المتطلبات

  • Python 3
  • impacket
  • cryptography, pyasn1, asn1crypto, pycryptodomex

المراجع

  • https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54121
  • https://gist.github.com/H0j3n/a5ef2609b5f2944ac2390a191a534c26
  • https://github.com/aniqfakhrul/CVE-2026-54121 (إثبات المفهوم الأصلي)

إخلاء المسؤولية

لأغراض اختبار الأمان المصرح به والتعليم فقط. استخدمه فقط ضد الأنظمة التي لديك إذن صريح لاختبارها.

تنزيل الأداة