
حزمة Zeek تكتشف عند استخدام شهادات eMudhra الوسيطة المخترقة في TLS 1.2 وما دونه.
هذه حزمة Zeek لاكتشاف الاتصالات التي تستخدم شهادات CA وسيطة من eMudhra بمفاتيح خاصة مخترقة/معروفة.
لمزيد من المعلومات انظر، على سبيل المثال، مدخل Bugzilla الأصلي أو https://emudhra.we-have-a-problem.com/.
يرجى ملاحظة أن هذا الاكتشاف يعمل فقط للاتصالات التي تستخدم TLS 1.2 وما دون ذلك. في TLS 1.3، تكون الشهادات مشفرة ولا يعرف Zeek أي الشهادات تعبر الشبكة.
أصدرت CA الخاصة بـ eMudhra عدة شهادات CA وسيطة بمفاتيح ECDSA خاصة ضعيفة جدًا (على سبيل المثال مفتاح هو الرقم 4).
وبالتالي، فإن هذا يمكّن أي شخص من إنشاء شهادات موقعة بواسطة أي من شهادات CA المتأثرة بسهولة بالغة. وفقًا للمعرفة الحالية، هناك 8 مفاتيح متأثرة، 6 منها في شهادات كانت موثوقة لـ PKI الخاصة بالويب.
بينما توقفت متصفحات الويب الرئيسية فورًا عن الوثوق بشهادات CA الوسيطة المتأثرة، فإن الأجهزة التي لا يمكن تحديثها بسهولة ستكون في خطر قبول هذه الشهادات الخبيثة لفترات زمنية قد تكون كبيرة.
للحصول على خلفية مفصلة وجدول زمني انظر مدخل Bugzilla.
تطابق هذه الحزمة على Subject Public Key Info (SPKI) الخاص بشهادات CA الوسيطة المتأثرة. SPKI هو الجزء من الشهادة الذي يحتوي على المفاتيح المخترقة - لذا سيكتشف هذا أيضًا أي توقيعات متقاطعة غير معروفة محتملة، أو أي شهادات أخرى قد تُنشأ بنفس المفاتيح.
قائمة SPKIs:
| Intermediate | SPKI SHA-256 |
|---|---|
| EM EV TLS CA - G3B (eMudhra BV) | E0254C7FCDC265E2F0F8A428DABB75AB4AE039B4872D62F5EE57F0877D5A8A41 |
| EM OV TLS CA - G3B (eMudhra BV) | 43BFFA19D6EF651451F6841E019931E96F6F2EAEFF28AB4B6F1CE4576DE2717B |
| EM DV TLS CA - G3B (eMudhra BV) | EBED6475C2C2D80FCB199F3FE8DD6E6B3CE60B77EB15D4E42C3DEC0C6F5B5105 |
| EM EV TLS CA - G3C (eMudhra Inc) | 5C0660A2B164910D8FF589C18E14552E9E0EC237DCEFE2CB736D41A4811F81A0 |
| EM OV TLS CA - G3C (eMudhra Inc) | 63ECEFEE431D49523BC1136C4E72D0206A477086CAF606CD5CF025686C109CF8 |
| EM DV TLS CA - G3C (eMudhra Inc) | 49DD353DC2B919A3770645117D0E60C16115E7D1BC259EEFE734B00EA434FE5F |
| EM OV CS CA - G3B (eMudhra BV) | EC4FFA1AD0AC88081314B7AAFFEF6A91F97CD57291BB5BA686C5415F5EB4F6B6 |
| EM OV CS CA - G3C (eMudhra Inc) | 92C063D67E8F14DB71D288E11266FFDAF69CBF115F7BAB14F3BC2F68D25E0E30 |
zkg install corelight/emudhra-weak-keys
أو حمّل السكربتات مباشرة:
zeek -r trace.pcap /path/to/emudhra-weak-keys/scripts
تفحص الحزمة كل شهادة يحللها Zeek مقابل القائمة.
جميع أنواع الإشعارات تحت EMudhraWeakKeys::
| Notice | Observation |
|---|---|
Compromised_Intermediate_Cert | Affected intermediate cert seen in connection |
Compromised_Intermediate_Cert_Established | Affected cert seen, handshake finished |
Compromised_Intermediate_Issuer | Certificate with an affected issuer seen in connection |
Compromised_Intermediate_Issuer_Established | Affected issuer seen, handshake finished |
تذهب النتائج إلى notice.log؛ لا يتم إنشاء سجل إضافي.
بشكل افتراضي، تُصدر إشعارات _Cert مرة واحدة لكل عنوان IP للخادم يوميًا،
وتُصدر إشعارات _Established مرة واحدة لكل عنوان IP للعميل يوميًا.
يرجى ملاحظة أن إشعارات Compromised_Intermediate_Cert تشير إلى
وجود شهادة مخترقة في الاتصال، بينما
إشعارات Compromised_Intermediate_Issuer تطابق فقط على سلسلة المُصدر
للشهادات؛ وهذه إشارة أضعف.
علاوة على ذلك، تتبع إشعارات Established فقط ما إذا كانت المصافحة قد اكتملت؛ وهذا
لا يعني بالضرورة أنه تم تبادل أي بيانات. قد تُكمل بعض العملاء المصافحة
حتى إذا فشل التحقق من الشهادة، ولا تُلغي إلا بعد ذلك.
يفحص السكربت سلاسل شهادات كل من العميل والخادم. من غير المرجّح أن ترى هذه الشهادات ضمن شهادات العميل (وإن رأيتها - فيرجى التواصل معنا وإبلاغنا بذلك).
تُفحص الشهادات أيضًا في البروتوكولات غير المعتمدة على TLS التي يدعمها Zeek (مثل RDP وKerberos). أما الشهادات المنقولة كملفات (مثل تلك التي تُنزَّل عبر HTTP) فلا تُفحص.
يمكن تغيير فترة كتم الإشعارات عبر EMudhraWeakKeys::suppression_interval.
هناك الكثير من الخيارات الأخرى التي يمكن استخدامها، على سبيل المثال لتغيير قائمة المفاتيح المخترقة. يرجى الرجوع إلى ملف السكربت لمزيد من التفاصيل.
ملاحظة: أُنشئت هذه الحزمة بمساعدة Claude Opus 5.5. روجعت جميع الشيفرة والنصوص وحُرّرت وتحقّقت منها يدويًا.