Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
dual-ec-drbg — Lehrreiches Jupyter-Notebook, das die Dual_EC_DRBG-Kryptographie-Hintertür (CVE-2014-8610) mit NIST P-256 Zustandswiederherstellungsangriff, historischem Kontext und Gegenmaßnahmen demonstriert. | Kitploit
Tools/GitHubGitHub/eddieoz/dual-ec-drbg
ExploitationKryptographieCTFPapers & ForschungLernen & BildungLabs & Praxis
GitHubeddieoz/dual-ec-drbg

dual-ec-drbg

Lehrreiches Jupyter-Notebook, das die Dual_EC_DRBG-Kryptographie-Hintertür (CVE-2014-8610) mit NIST P-256 Zustandswiederherstellungsangriff, historischem Kontext und Gegenmaßnahmen demonstriert.

Repository anzeigen
2vor 7 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Dual_EC_DRBG Backdoor: Bildungs-Poof-of-Concept

Für Sicherheitsexperten | Nur zu Bildungszwecken


⚠️ Haftungsausschluss

Dieses Repository enthält eine Bildungsdemonstration des Dual_EC_DRBG-Kryptografie-Backdoors (CVE-2014-8610), einer gut dokumentierten Schwachstelle, die nach den Snowden-Enthüllungen bekannt wurde.

Dies dient NUR zu BILDUNGSZWECKEN:

  • Demonstriert eine über 10 Jahre alte, veraltete Schwachstelle
  • Verwendet öffentlich bekannte Parameter und mathematische Beziehungen
  • Für Sicherheitsschulungen und Sensibilisierung gedacht
  • Folgt Praktiken der verantwortungsvollen Offenlegung

📚 Was Sie lernen werden

  1. Historischer Kontext: Wie die NSA angeblich einen NIST-Standard mit einem Backdoor versehen hat
  2. Mathematische Grundlagen: Elliptische Kurven und das diskrete Logarithmusproblem
  3. Der Backdoor-Mechanismus: Warum Q = d·P einen Generalschlüssel erzeugt
  4. Live-Angriffsdemo: Zustandswiederherstellung aus 32 Bytes beobachteter Ausgabe
  5. Gegenmaßnahmen: Wie man ähnliche Schwachstellen vermeidet

🚀 Schnellstart

Voraussetzungen

  • Python 3.8+ (wir empfehlen die Verwendung von pyenv)
  • pip

Option 1: Verwendung des Startskripts (empfohlen)

root@kitploit:~
cd dual-ec-drbg

# Ein Befehl zum Einrichten und Ausführen
./run.sh

Dieses Skript wird:

  1. Die pyenv-Lokalkonfiguration erkennen/erstellen
  2. Eine virtuelle Umgebung in venv/ erstellen
  3. Alle Abhängigkeiten installieren
  4. Jupyter mit dem Notebook starten

Option 2: Manuelle Einrichtung mit pyenv

root@kitploit:~
cd dual-ec-drbg

# Setzen der lokalen Python-Version mit pyenv
pyenv local 3.12.12

# Erstellen der virtuellen Umgebung
python3 -m venv venv
source venv/bin/activate

# Installieren der Abhängigkeiten
pip install --upgrade pip
pip install -r requirements.txt

# Jupyter starten
jupyter notebook dual_ec_drbg_backdoor_poc.ipynb

Option 3: System-Python (nicht empfohlen)

root@kitploit:~
cd dual-ec-drbg
pip install --user -r requirements.txt
jupyter notebook dual_ec_drbg_backdoor_poc.ipynb

Abhängigkeiten

  • ecdsa>=0.18.0 – NIST-P-256-Kurvenoperationen
  • jupyter>=1.0.0 – Notebook-Schnittstelle
  • ipython>=7.0.0 – Interaktives Python

📖 Inhalt des Notebooks

AbschnittBeschreibung
1. Historischer KontextZeitleiste von 1997–2024, Hauptakteure, Snowden-Enthüllungen
2. Mathematische GrundlagenElliptische Kurven, ECDLP, die Backdoor-Mathematik
3. NIST-P-256-ParameterReale FIPS-186-4-Kurvenparameter
4. AlgorithmenspezifikationNIST SP 800-90 DRBG-Spezifikation
5. ImplementierungEhrliche vs. mit Backdoor versehene DRBG-Klassen
6. AngriffsimplementierungZustandswiederherstellungsangriff mit geheimem d
7. Live-DemonstrationJuniper-artige Angriffssimulation
8. GegenmaßnahmenGelernte Lektionen und Best Practices

🎯 Der Angriff im Überblick

root@kitploit:~
Dual_EC_DRBG Zustandsaktualisierung:    s_{i+1} = φ(s_i · P)
Dual_EC_DRBG Ausgabe:                  r_i = φ(s_i · Q)     [gekürzt]

Backdoor-Beziehung:                     Q = d · P

Angriff (mit Kenntnis von d):
1. Beobachte r_i (30+ Bytes Ausgabe)
2. Rekonstruiere Kandidaten R mit x(R) ≈ r_i  
3. Berechne: s_{i+1} = φ(d⁻¹ · R) = φ(s_i · P)
4. Sage ALLE zukünftigen Ausgaben voraus!

Zeitkomplexität: O(1) – Millisekunden auf einem Laptop
Benötigte Daten: 32 Bytes beobachteter Ausgabe

🧪 Ausführen der Demonstration

Interaktiver Modus

  1. Öffnen Sie das Notebook:

    root@kitploit:~
    jupyter notebook dual_ec_drbg_backdoor_poc.ipynb
    
  2. Führen Sie die Zellen nacheinander aus (Shift+Enter)

  3. Beobachten Sie:

    • Sowohl die ehrliche als auch die mit Backdoor versehene DRBG erzeugen statistisch zufällige Ausgaben
    • Nur die Backdoor-Version ist anfällig für Zustandswiederherstellung
    • Der Angriff gelingt in Millisekunden

Kommandozeile (optional)

Extrahieren und Ausführen des Python-Codes:

root@kitploit:~
# Code-Zellen in ein Python-Skript extrahieren
jupyter nbconvert --to script dual_ec_drbg_backdoor_poc.ipynb

# Skript ausführen
python dual_ec_drbg_backdoor_poc.py

📊 Erwartete Ausgabe

root@kitploit:~
[=== EHRLICHE Dual_EC_DRBG ===]
[+] DRBG initialisiert
    Modus: EHRLICH
    P = (6b17d1f2e12c4247..., 4fe342e2fe1a7f9b...)
    Q = (a53a7f9b2e1c4247..., 7fe342e2fe1a7f9b...)

[=== MIT BACKDOOR VERSEHENE Dual_EC_DRBG ===]
[+] DRBG initialisiert
    Modus: BACKDOOR
    P = (6b17d1f2e12c4247..., 4fe342e2fe1a7f9b...)
    Q = (b23d7c9a3f8e5156..., 9ab456d3c7e2f1a8...)
    Geheimer Schlüssel d = 0x4f3e2d1c0b9a8f7e...

[=== ANGRIFFSAUSFÜHRUNG ===]
[+] Beobachtete Ausgabe: a1b2c3d4e5f6...
[+] 2 Kandidatenpunkte auf der Kurve gefunden
...
[OK] PERFEKTE ÜBEREINSTIMMUNG – Alle zukünftigen Ausgaben vorhergesagt!

🔍 Wichtige Erkenntnisse

Warum dieses Backdoor heimtückisch ist

  1. Statistisch nicht nachweisbar: Die Ausgabe besteht alle Zufallstests
  2. Mathematisch, nicht im Code: Kein bösartiger Code, der entdeckt werden könnte
  3. Master-Key-Architektur: Ein Geheimnis (d) bricht alle Instanzen
  4. Niedrige Erkennungswahrscheinlichkeit: Backdoor ohne d nicht erkennbar

Historische Auswirkungen

EreignisDatumAuswirkung
NIST-Standardisierung2006Dual_EC wird offiziell
RSA BSAFE-Standard2004–201310 Mio. $ Zahlung für Verwendung schwacher Voreinstellung
Snowden-Enthüllungen2013Öffentliche Bekanntheit
Juniper-Backdoor2015Angreifer nutzten schwaches Dual_EC aus
NIST-Rückzug2014Offizielle Abkündigung

🛡️ Gegenmaßnahmen

Niemals verwenden

  • ❌ Dual_EC_DRBG (seit 2014 veraltet)

Stattdessen verwenden

  • ✅ /dev/urandom oder getrandom() (Linux)
  • ✅ BCryptGenRandom() (Windows)
  • ✅ CryptoKit (Apple)
  • ✅ Hash_DRBG, HMAC_DRBG, CTR_DRBG (NIST SP 800-90A Rev 1)

Sicherheitsaudit

  • Abhängigkeiten auf Dual_EC-Nutzung prüfen
  • RNG-Quellen in kritischen Systemen verifizieren
  • Überprüfbare Parametergenerierung fordern

📚 Referenzen

  1. NIST SP 800-90A Rev 1 – Aktueller DRBG-Standard (Dual_EC entfernt)
  2. Shumow & Ferguson 2007 – Ursprüngliche Backdoor-Warnung
  3. Bernstein et al. – Dual EC: A Standardized Back Door
  4. Checkoway et al. – Juniper Analysis
  5. Reuters – NSA and RSA

🤝 Mitwirken

Dies ist eine Bildungsressource. Verbesserungen willkommen:

  • Zusätzliche Visualisierungen
  • Erweiterter historischer Kontext
  • Weitere Angriffsvarianten

📜 Lizenz

MIT-Lizenz – Siehe LICENSE-Datei für Details.

Verantwortungsvoll und ethisch nutzen. Dieser Code dient nur zu Bildungszwecken.


🎓 Für Lehrende

Dieses Notebook eignet sich für:

  • Kryptografie-Kurse
  • Sicherheitsschulungen
  • Konferenzpräsentationen
  • CTF-Herausforderungen

Empfohlene Präsentationsdauer: 45–60 Minuten


Erstellt zu Bildungszwecken, um kryptografische Schwachstellen zu verstehen und zu verhindern.

Tool herunterladen