
Esta ferramenta gera frases mnemônicas BIP-39 derivadas de timestamps Unix, explorando as implicações da vulnerabilidade 'Milk Sad' (CVE-2023-39910).
Esta ferramenta foi projetada para gerar frases mnemônicas BIP-39 (frases-semente de 24 palavras) com base em timestamps Unix, explorando especificamente frases que poderiam ser geradas por meio da vulnerabilidade "Milk Sad" (CVE_2023-39910).
O Gerador de Mnemônicos Milk Sad cria frases mnemônicas BIP-39 de 24 palavras usando timestamps Unix como fonte de entropia. Ele tem como objetivo gerar todas as possíveis frases-semente que podem ter sido produzidas devido à falha específica de coleta de entropia baseada em timestamp associada à vulnerabilidade "Milk Sad".
Você tem duas opções para instalar e executar no seu sistema:
install.shEste script automatiza o processo de compilação e lida com dependências comuns para sistemas Linux baseados em Debian/Ubuntu.
cd MilkSad-Mnemonic-Generator
chmod +x install.sh
./install.sh
O script verificará as ferramentas de compilação necessárias (como g++, make, qmake, libssl-dev, libqt5widgets5-dev). Se alguma estiver faltando, ele tentará instalá-las (solicitando sua senha de sudo se necessário). Após configurar as dependências com sucesso, ele compilará os aplicativos CLI e GUI e os colocará diretamente no diretório raiz do projeto.Se você preferir compilar os aplicativos manualmente, siga estas etapas:
Certifique-se de ter os seguintes pacotes de desenvolvimento instalados no seu sistema Debian/Ubuntu:
g++ (normalmente parte do pacote build-essential)make (também parte do build-essential)qmake (fornecido por qt5-qmake ou qtbase5-dev)libssl-dev (essencial para as funções criptográficas usadas pela ferramenta)libqt5widgets5-dev (necessário para o desenvolvimento de GUI Qt; este pacote geralmente inclui qtbase5-dev)Você pode instalar esses pré-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 gerar o Makefile do projeto Qt:
qmake mnemonic_generator.pro
make:
make
mv milk_sad_generator_gui ../../
cd ../..
Pic/: Para que o GUI encontre corretamente sua imagem de fundo, você deve mover a pasta Pic/ de src/gui/ para a raiz do projeto:
mv src/gui/Pic .
Após a instalação, você encontrará dois executáveis diretamente no diretório raiz do seu projeto: ./milk_sad_generator (a versão de Interface de Linha de Comando) e ./milk_sad_generator_gui (a versão de Interface Gráfica do Usuário).
./milk_sad_generator_gui # To launch the GUI application
# OR
./milk_sad_generator # To launch the CLI application
Este modo gera uma única frase mnemônica de 24 palavras para uma data e hora precisas que você especificar.
1970-01-01 00:00:00 para o primeiro timestamp. Se o inglês for escolhido, ele gerará o mnemônico "milk sad ...".mnemonic_[language].txt.Este modo gera mnemônicos para cada timestamp dentro de um intervalo de datas inicial e final especificado.
2017-01-01:2018-12-31 (Isso gerará mnemônicos para todos os timestamps entre 1º de janeiro de 2017 e 31 de dezembro de 2018, inclusive.)mnemonics_range_[language].txt.Ctrl+C) e retomá-la depois sem perder o progresso.Este modo gera todos os mnemônicos possíveis em todo o intervalo de timestamp Unix de 32 bits (de 1º de janeiro de 1970 a 19 de janeiro de 2038).
all_mnemonics_[language].txt.mnemonic_[language].txtmnemonics_range_[language].txtall_mnemonics_[language].txtgeneration_progress_range.bin (para a Opção 2) / generation_progress_full.bin (para a Opção 3)Ctrl+C. A ferramenta salvará automaticamente o progresso atual..bin correspondente será excluído automaticamente.Se você precisou interromper um processo de geração (por exemplo, usando Ctrl+C), você pode retomar perfeitamente de onde parou:
Para geração por intervalo de datas (Opção 2):
generation_progress_range.bin e continuará gerando a partir do último timestamp salvo.Para geração de faixa completa (Opção 3):
generation_progress_full.bin e retomará a geração a partir do ponto em que foi interrompida.