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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-21009-ECDSA-Nonce-Reuse-in-IoT-Firmware-Signing — محاكاة تعليمية بلغة بايثون توضح إعادة استخدام nonce في توقيع ECDSA ضمن توقيع البرامج الثابتة (firmware) في إنترنت الأشياء، وتُظهر كيف يمكن للمهاجم استعادة المفاتيح الخاصة من توقيعين يتشاركان نفس قيمة k. | Kitploit
أدوات/GitHubGitHub/george0papasotiriou/cve-2026-21009-ecdsa-nonce-reuse-in-iot-firmware-signing
أمان إنترنت الأشياءتحليل الثغرات الأمنيةالاستغلالالتشفيرالتعلم والتعليمتحليل البرامج الثابتة
GitHubgeorge0papasotiriou/cve-2026-21009-ecdsa-nonce-reuse-in-iot-firmware-signing

CVE-2026-21009-ECDSA-Nonce-Reuse-in-IoT-Firmware-Signing

محاكاة تعليمية بلغة بايثون توضح إعادة استخدام nonce في توقيع ECDSA ضمن توقيع البرامج الثابتة (firmware) في إنترنت الأشياء، وتُظهر كيف يمكن للمهاجم استعادة المفاتيح الخاصة من توقيعين يتشاركان نفس قيمة k.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
منذ 16 أياملم تتم المراجعة بعد

CVE-2026-21009 – إعادة استخدام Nonce في ECDSA لتوقيع البرامج الثابتة لأجهزة إنترنت الأشياء (IoT)

كود البرنامج (Python)

root@kitploit:~
# ecdsa_nonce_reuse_sim.py - Signing firmware with repeated nonce (k)
import ecdsa, hashlib

sk = ecdsa.SigningKey.generate(curve=ecdsa.NIST256p)
vk = sk.get_verifying_key()

# Sign two different firmware images with same nonce due to bad RNG
# In reality, this can happen with deterministic k if seed is constant.
# We'll simulate by using the same k manually (not possible with ecdsa library, so fake it)
def sign_with_fixed_k(sk, msg_hash, k):
    # Simplified: return signature (r,s) using fixed k (for educational purposes)
    # Not actual ECDSA, but shows concept.
    r = (k * ecdsa.NIST256p.generator).x()
    k_inv = pow(k, -1, ecdsa.NIST256p.order)
    s = k_inv * (int.from_bytes(msg_hash, 'big') + r * sk.privkey.secret_multiplier) % ecdsa.NIST256p.order
    return ecdsa.ecdsa.Signature(r, s)

msg1 = b"Firmware v1.0"
msg2 = b"Firmware v2.0"
h1 = hashlib.sha256(msg1).digest()
h2 = hashlib.sha256(msg2).digest()

# Use same k
k = 123456789
sig1 = sign_with_fixed_k(sk, h1, k)
sig2 = sign_with_fixed_k(sk, h2, k)

print("Two signatures with same k. Attacker can recover private key from (r,s1) and (r,s2).")

CVE-2026-21009 – إعادة استخدام Nonce في ECDSA لتوقيع البرامج الثابتة لأجهزة إنترنت الأشياء (IoT)

Severity: Critical

نظرة عامة

يوقّع جهاز إنترنت الأشياء (IoT) تحديثات البرامج الثابتة باستخدام ECDSA، ولكن بسبب ضعف مولّد الأرقام العشوائية، يتم إعادة استخدام نفس nonce (k) لتوقيعين. يمكن للمهاجم الذي يلاحظ التوقيعين معًا حساب المفتاح الخاص وتوقيع برامج ثابتة خبيثة.

تفاصيل الثغرة

  • النوع: استعادة المفتاح التشفيري
  • التأثير: تجاوز كامل لمصادقة البرامج الثابتة.
  • السبب الجذري: إعادة استخدام nonce يكسر ECDSA: عند وجود توقيعين بنفس k، يمكن اشتقاق المفتاح الخاص جبريًا.

توضيح الاستغلال

قم بتشغيل المحاكاة:

root@kitploit:~
pip install ecdsa
python ecdsa_nonce_reuse_sim.py

يوضح السكربت إنشاء توقيعين بنفس k. سيتمكن المهاجم الحقيقي من استعادة المفتاح باستخدام الصيغة k = (h1 - h2) / (s1 - s2) ثم d = (s1*k - h1) / r.

تنزيل الأداة