
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
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..bin (generation_progress_range.bin ou generation_progress_full.bin) se você pretende retomar uma geração..bin correspondente e renomear/excluir/mover qualquer arquivo de saída existente (mnemonics_range_[language].txt ou all_mnemonics_[language].txt) de execuções anteriores antes de iniciar o programa novamente.all_mnemonics_[language].txt já existe, o arquivo de progresso .bin será sobrescrito e novos mnemônicos serão anexados ao arquivo de saída existente.Aqui está um exemplo de uma frase mnemônica BIP-39 de 24 palavras gerada por esta ferramenta:
vault alarm sad mass witness property virus style good flower rice alpha viable evidence run glare pretty scout evil judge offer refuse another breeze
Para fins de verificação ou referência rápida, o diretório tests/ neste repositório contém exemplos de frases mnemônicas geradas em vários idiomas para o timestamp 1970-01-01 00:00:00 UTC.
Para converter as frases mnemônicas geradas em endereços Bitcoin (suportando os formatos P2PKH, P2SH-P2WPKH e P2WPKH), você pode usar esta ferramenta:
Se você achou este projeto útil e gostaria de me incentivar a criar mais ferramentas como esta, considere fazer uma doação:
bc1qg7xmlsdxfgu3muxherh4eee2ywj3gz8qfgct3s0x1B449E1D545bD0dc50f361d96706F6C904553929F776tt1it7vifCzD9icrsby3ujkZdJ8EY9917GUM3skrTJj96B4SukPJSC4M2FyssoxduVyviv9aGr0x1B449E1D545bD0dc50f361d96706F6C90455392948aaDb1g4Ms7PB3WMj6ttbMWuEwe171d6Yjao59uFJR38tHa75nKwPqYoPAYmWZPUhXmDbDvqtE6d2FX3YaF1dVE7zhD9Dt