
Esta herramienta genera frases mnemotécnicas BIP-39 derivadas de marcas de tiempo Unix, explorando las implicaciones de la vulnerabilidad 'Milk Sad' (CVE-2023-39910).
Esta herramienta está diseñada para generar frases mnemónicas BIP-39 (frases semilla de 24 palabras) basadas en marcas de tiempo Unix, explorando específicamente frases que podrían generarse a través de la vulnerabilidad "Milk Sad" (CVE_2023-39910).
El Generador de Mnemónicos Milk Sad crea frases mnemónicas BIP-39 de 24 palabras utilizando marcas de tiempo Unix como fuente de entropía. Su objetivo es generar todas las posibles frases semilla que podrían haberse producido debido al defecto específico de recopilación de entropía basada en marcas de tiempo asociado con la vulnerabilidad "Milk Sad".
Tienes dos opciones para instalar y ejecutar en tu sistema:
install.shEste script automatiza el proceso de compilación y maneja las dependencias comunes para sistemas Linux basados en Debian/Ubuntu.
cd MilkSad-Mnemonic-Generator
chmod +x install.sh
./install.sh
El script verificará si existen las herramientas de compilación necesarias (como g++, make, qmake, libssl-dev, libqt5widgets5-dev). Si falta alguna, intentará instalarlas (solicitando tu contraseña de sudo si es necesario). Tras configurar correctamente las dependencias, compilará tanto las aplicaciones CLI como GUI y las colocará directamente en el directorio raíz del proyecto.Si prefieres compilar las aplicaciones tú mismo, sigue estos pasos manuales:
Asegúrate de tener instalados los siguientes paquetes de desarrollo en tu sistema Debian/Ubuntu:
g++ (normalmente parte del paquete build-essential)make (también parte de build-essential)qmake (proporcionado por qt5-qmake o qtbase5-dev)libssl-dev (esencial para las funciones criptográficas utilizadas por la herramienta)libqt5widgets5-dev (requerido para el desarrollo de GUI Qt; este paquete suele incluir qtbase5-dev)Puedes instalar estos requisitos 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 para generar el Makefile del proyecto Qt:
qmake mnemonic_generator.pro
make:
make
mv milk_sad_generator_gui ../../
cd ../..
Pic/: Para que la GUI encuentre correctamente su imagen de fondo, debes mover la carpeta Pic/ desde src/gui/ a la raíz del proyecto:
mv src/gui/Pic .
Una vez instalado, encontrarás dos ejecutables directamente en el directorio raíz de tu proyecto: ./milk_sad_generator (la versión de interfaz de línea de comandos) y ./milk_sad_generator_gui (la versión de interfaz gráfica de usuario).
./milk_sad_generator_gui # Para lanzar la aplicación GUI
# O
./milk_sad_generator # Para lanzar la aplicación CLI
Este modo genera una única frase mnemónica de 24 palabras para una fecha y hora precisas que tú especifiques.
1970-01-01 00:00:00 para la primera marca de tiempo. Si eliges inglés, generará el mnemónico "milk sad ...".mnemonic_[language].txt.Este modo genera mnemónicos para cada marca de tiempo dentro de un rango de fechas de inicio y fin especificado.
2017-01-01:2018-12-31 (Esto generará mnemónicos para todas las marcas de tiempo entre el 1 de enero de 2017 y el 31 de diciembre de 2018, inclusive).mnemonics_range_[language].txt.Ctrl+C) y reanudarla más tarde sin perder el progreso.Este modo genera todos los mnemónicos posibles en todo el rango de marcas de tiempo Unix de 32 bits (desde el 1 de enero de 1970 hasta el 19 de enero de 2038).
all_mnemonics_[language].txt.mnemonic_[language].txtmnemonics_range_[language].txtall_mnemonics_[language].txtgeneration_progress_range.bin (para la Opción 2) / generation_progress_full.bin (para la Opción 3)Ctrl+C. La herramienta guardará automáticamente su progreso actual..bin correspondiente se eliminará automáticamente.Si tuviste que detener un proceso de generación (por ejemplo, usando Ctrl+C), puedes reanudarlo sin problemas desde donde lo dejaste: