
Questo strumento genera frasi mnemoniche BIP-39 derivate da timestamp Unix, esplorando le implicazioni della vulnerabilità 'Milk Sad' (CVE-2023-39910).
Questo strumento è progettato per generare frasi mnemoniche BIP-39 (frasi seed di 24 parole) basate su timestamp Unix, esplorando in particolare frasi che potrebbero essere state generate attraverso la vulnerabilità "Milk Sad" (CVE_2023-39910).
Il Generatore Mnemonico Milk Sad crea frasi mnemoniche BIP-39 di 24 parole sfruttando i timestamp Unix come fonte di entropia. Il suo scopo è generare tutte le possibili frasi seed che potrebbero essere state prodotte a causa del difetto specifico di raccolta di entropia basata su timestamp associato alla vulnerabilità "Milk Sad".
Hai due opzioni per installare ed eseguire sul tuo sistema:
install.shQuesto script automatizza il processo di compilazione e gestisce le dipendenze comuni per sistemi Linux Debian/Ubuntu.
cd MilkSad-Mnemonic-Generator
chmod +x install.sh
./install.sh
g++, make, qmake, libssl-dev, libqt5widgets5-dev). Se mancanti, proverà a installarli (richiedendo la password sudo se necessario). Dopo aver configurato con successo le dipendenze, compilerà sia l'applicazione CLI che quella GUI e le inserirà direttamente nella directory principale del progetto.Se preferisci compilare le applicazioni da solo, segui questi passaggi manuali:
Assicurati di avere i seguenti pacchetti di sviluppo installati sul tuo sistema Debian/Ubuntu:
g++ (solitamente parte del pacchetto build-essential)make (anche parte di build-essential)qmake (fornito da qt5-qmake o qtbase5-dev)libssl-dev (essenziale per le funzioni crittografiche usate dallo strumento)libqt5widgets5-dev (richiesto per lo sviluppo GUI Qt; questo pacchetto include spesso qtbase5-dev)Puoi installare questi prerequisiti usando:
sudo apt update
sudo apt install build-essential qt5-qmake libssl-dev qtbase5-dev
cd src/cli
g++:
g++ -std=gnu++11 -Wall -Wextra -O2 milk_sad_generator.cpp -o milk_sad_generator -lcrypto -lssl
mv milk_sad_generator ../../
cd ../..
cd src/gui
qmake per generare il Makefile per il progetto Qt:
qmake mnemonic_generator.pro
make:
make
mv milk_sad_generator_gui ../../
cd ../..
Pic/: Per far sì che la GUI trovi correttamente la sua immagine di sfondo, devi spostare la cartella Pic/ da src/gui/ nella directory principale del progetto:
mv src/gui/Pic .
Una volta installato, troverai due eseguibili direttamente nella directory principale del progetto: ./milk_sad_generator (la versione a riga di comando) e ./milk_sad_generator_gui (la versione con interfaccia grafica).
./milk_sad_generator_gui # Per avviare l'applicazione GUI
# OPPURE
./milk_sad_generator # Per avviare l'applicazione CLI
Questa modalità genera una singola frase mnemonica di 24 parole per una data e un'ora precise specificate.
1970-01-01 00:00:00 per il primo timestamp. Se scegli inglese, genererà il mnemonico "milk sad ...".mnemonic_[lingua].txt.Questa modalità genera mnemonici per ogni timestamp all'interno di un intervallo di date di inizio e fine specificato.
2017-01-01:2018-12-31 (Questo genererà mnemonici per tutti i timestamp tra il 1° gennaio 2017 e il 31 dicembre 2018, inclusi.)mnemonics_range_[lingua].txt.Ctrl+C) e riprendere in seguito senza perdere i progressi.Questa modalità genera tutti i possibili mnemonici nell'intero intervallo di timestamp Unix a 32 bit (dal 1° gennaio 1970 al 19 gennaio 2038).
all_mnemonics_[lingua].txt.mnemonic_[lingua].txtmnemonics_range_[lingua].txtall_mnemonics_[lingua].txtgeneration_progress_range.bin (per l'Opzione 2) / generation_progress_full.bin (per l'Opzione 3)Ctrl+C. Lo strumento salverà automaticamente il suo progresso corrente..bin verrà automaticamente eliminato.Se hai dovuto interrompere un processo di generazione (ad es., usando Ctrl+C), puoi riprendere senza problemi da dove avevi lasciato:
Per la generazione con Intervallo di Date (Opzione 2):
generation_progress_range.bin e continuerà la generazione dall'ultimo timestamp salvato.Per la generazione con Intervallo Completo (Opzione 3):
generation_progress_full.bin e riprenderà la generazione dal punto in cui è stata interrotta..bin (generation_progress_range.bin o generation_progress_full.bin) se intendi riprendere una generazione..bin e rinominare/eliminare/spostare qualsiasi file di output esistente (mnemonics_range_[lingua].txt o all_mnemonics_[lingua].txt) da esecuzioni precedenti prima di avviare nuovamente il programma.all_mnemonics_[lingua].txt, il file di progresso .bin verrà sovrascritto e nuovi mnemonici verranno aggiunti al file di output esistente.Ecco un esempio di frase mnemonica BIP-39 di 24 parole generata da questo strumento:
vault alarm sad mass witness property virus style good flower rice alpha viable evidence run glare pretty scout evil judge offer refuse another breeze
Per scopi di verifica o riferimento rapido, la directory tests/ in questo repository contiene esempi di frasi mnemoniche generate per varie lingue per il timestamp 1970-01-01 00:00:00 UTC.
Per convertire le frasi mnemoniche generate in indirizzi Bitcoin (supportando formati P2PKH, P2SH-P2WPKH e P2WPKH), puoi usare questo strumento:
Se hai trovato utile questo progetto e vorresti incoraggiarmi a creare più strumenti come questo, considera di fare una donazione:
bc1qg7xmlsdxfgu3muxherh4eee2ywj3gz8qfgct3s0x1B449E1D545bD0dc50f361d96706F6C904553929F776tt1it7vifCzD9icrsby3ujkZdJ8EY9917GUM3skrTJj96B4SukPJSC4M2FyssoxduVyviv9aGr0x1B449E1D545bD0dc50f361d96706F6C90455392948aaDb1g4Ms7PB3WMj6ttbMWuEwe171d6Yjao59uFJR38tHa75nKwPqYoPAYmWZPUhXmDbDvqtE6d2FX3YaF1dVE7zhD9Dt