Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
dual-ec-drbg — Proof-of-Concept didattico per il backdoor Dual_EC_DRBG (CVE-2014-8610) - dimostrazione dell'attacco di recupero dello stato NIST P-256 | Kitploit
Strumenti/GitHubGitHub/eddieoz/dual-ec-drbg
ExploitCrittografiaCTFPaper e RicercaApprendimento e FormazioneLab e Pratica
GitHubeddieoz/dual-ec-drbg

dual-ec-drbg

Proof-of-Concept didattico per il backdoor Dual_EC_DRBG (CVE-2014-8610) - dimostrazione dell'attacco di recupero dello stato NIST P-256

Vedi Repository
6 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Backdoor Dual_EC_DRBG: Proof-of-Concept Educativo

Per Professionisti della Sicurezza | Solo a Scopo Educativo


⚠️ Disclaimer

Questo repository contiene una dimostrazione educativa della backdoor crittografica Dual_EC_DRBG (CVE-2014-8610), una vulnerabilità ben documentata resa nota dopo le rivelazioni di Snowden.

Questo è SOLO A SCOPO EDUCATIVO:

  • Dimostra una vulnerabilità deprecata di oltre 10 anni
  • Utilizza parametri pubblicamente noti e relazioni matematiche
  • Inteso per formazione e sensibilizzazione sulla sicurezza
  • Segue le pratiche di divulgazione responsabile

📚 Cosa Imparerai

  1. Contesto Storico: Come l'NSA avrebbe compromesso lo standard NIST
  2. Fondamenti Matematici: Curve ellittiche e il problema del logaritmo discreto
  3. Il Meccanismo della Backdoor: Perché Q = d·P crea una chiave maestra
  4. Demo di Attacco dal Vivo: Recupero dello stato da 32 byte di output osservato
  5. Mitigazioni: Come evitare vulnerabilità simili

🚀 Avvio Rapido

Prerequisiti

  • Python 3.8+ (consigliamo pyenv)
  • pip

Opzione 1: Usare lo Script di Avvio (Consigliato)

root@kitploit:~
cd dual-ec-drbg

# One command to setup and run
./run.sh

Questo script:

  • Rileva/crea la configurazione locale di pyenv
  • Crea un ambiente virtuale in venv/
  • Installa tutte le dipendenze
  • Avvia Jupyter con il notebook

Opzione 2: Configurazione Manuale con pyenv

root@kitploit:~
cd dual-ec-drbg

# Set local Python version with pyenv
pyenv local 3.12.12

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install --upgrade pip
pip install -r requirements.txt

# Launch Jupyter
jupyter notebook dual_ec_drbg_backdoor_poc.ipynb

Opzione 3: Python di Sistema (Non Consigliato)

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

Dipendenze

  • ecdsa>=0.18.0 - Operazioni sulla curva NIST P-256
  • jupyter>=1.0.0 - Interfaccia notebook
  • ipython>=7.0.0 - Python interattivo

📖 Contenuti del Notebook


🎯 L'Attacco in Breve

root@kitploit:~
Dual_EC_DRBG State Update:    s_{i+1} = φ(s_i · P)
Dual_EC_DRBG Output:          r_i = φ(s_i · Q)     [truncated]

Backdoor Relationship:        Q = d · P

Attack (knowing d):
1. Observe r_i (30+ bytes of output)
2. Reconstruct candidate R where x(R) ≈ r_i  
3. Compute: s_{i+1} = φ(d⁻¹ · R) = φ(s_i · P)
4. Predict ALL future output!

Time Complexity: O(1) - milliseconds on a laptop
Data Required: 32 bytes of observed output

🧪 Esecuzione della Dimostrazione

Modalità Interattiva

  1. Apri il notebook:

    root@kitploit:~
    jupyter notebook dual_ec_drbg_backdoor_poc.ipynb
    
  2. Esegui le celle in sequenza (Shift+Enter)

  3. Osserva:

    • Sia il DRBG onesto che quello backdoored producono output statisticamente casuali
    • Solo la versione backdoored è vulnerabile al recupero dello stato
    • L'attacco riesce in millisecondi

Riga di Comando (Opzionale)

Estrai ed esegui il codice Python:

root@kitploit:~
# Extract code cells to a Python script
jupyter nbconvert --to script dual_ec_drbg_backdoor_poc.ipynb

# Run the script
python dual_ec_drbg_backdoor_poc.py

📊 Output Previsto

root@kitploit:~
[=== HONEST Dual_EC_DRBG ===]
[+] DRBG initialized
    Mode: HONEST
    P = (6b17d1f2e12c4247..., 4fe342e2fe1a7f9b...)
    Q = (a53a7f9b2e1c4247..., 7fe342e2fe1a7f9b...)

[=== BACKDOORED Dual_EC_DRBG ===]
[+] DRBG initialized
    Mode: BACKDOORED
    P = (6b17d1f2e12c4247..., 4fe342e2fe1a7f9b...)
    Q = (b23d7c9a3f8e5156..., 9ab456d3c7e2f1a8...)
    Secret d = 0x4f3e2d1c0b9a8f7e...

[=== ATTACK EXECUTION ===]
[+] Observed output: a1b2c3d4e5f6...
[+] Found 2 candidate points on curve
...
[OK] PERFECT MATCH - All future output predicted!

🔍 Risultati Chiave

Perché Questa Backdoor è Insidiosa

  1. Statisticamente Indistinguibile: L'output supera tutti i test di casualità
  2. Matematica, Non Codice: Nessun codice malevolo da rilevare
  3. Architettura a Chiave Maestra: Un segreto (d) compromette tutte le istanze
  4. Bassa Probabilità di Rilevamento: La backdoor è indistinguibile senza d

Impatto Storico


🛡️ Mitigazioni

Non Usare Mai

  • ❌ Dual_EC_DRBG (deprecato dal 2014)

Usa Invece

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

Audit di Sicurezza

  • Controlla le dipendenze per l'uso di Dual_EC
  • Verifica le fonti RNG nei sistemi critici
  • Richiedi una generazione di parametri verificabile

📚 Riferimenti

  1. NIST SP 800-90A Rev 1 - Standard DRBG attuale (Dual_EC rimosso)
  2. Shumow & Ferguson 2007 - Avviso originale sulla backdoor
  3. Bernstein et al. - Dual EC: A Standardized Back Door
  4. Checkoway et al. - Juniper Analysis
  5. Reuters - NSA and RSA

🤝 Contribuire

Questa è una risorsa educativa. Miglioramenti benvenuti:

  • Visualizzazioni aggiuntive
  • Contesto storico esteso
  • Più varianti di attacco

📜 Licenza

Licenza MIT - Vedi il file LICENSE per i dettagli.

Usa in modo responsabile ed etico. Questo codice è solo a scopo educativo.


🎓 Per Istruttori

Questo notebook è adatto per:

  • Corsi di crittografia
  • Formazione sulla consapevolezza della sicurezza
  • Presentazioni a conferenze
  • Sfide CTF

Tempo di presentazione consigliato: 45-60 minuti


Creato a scopo educativo per comprendere e prevenire vulnerabilità crittografiche.

Scarica lo strumento
SezioneDescrizione
1. Contesto StoricoCronologia dal 1997-2024, attori chiave, rivelazioni di Snowden
2. Fondamenti MatematiciCurve ellittiche, ECDLP, la matematica della backdoor
3. Parametri NIST P-256Parametri reali della curva FIPS 186-4
4. Specifica dell'AlgoritmoSpecifica NIST SP 800-90 DRBG
5. ImplementazioneClassi DRBG oneste vs backdoored
6. Implementazione dell'AttaccoAttacco di recupero dello stato con segreto d
7. Dimostrazione dal VivoSimulazione di attacco stile Juniper
8. MitigazioniLezioni apprese e migliori pratiche
EventoDataImpatto
Standardizzazione NIST2006Dual_EC diventa ufficiale
Predefinito RSA BSAFE2004-2013Pagamento di $10M per usare default debole
Rivelazioni Snowden2013Consapevolezza pubblica
Backdoor Juniper2015Attaccanti hanno sfruttato la debolezza di Dual_EC
Ritiro NIST2014Deprecazione ufficiale